<!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>An Empirical Evaluation to Identify Con icts Among Quality Attributes in Web Services Monitoring</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jael Zela Ruiz</string-name>
          <email>jael.ruiz@students.ic.unicamp.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cecilia M. F. Rubira</string-name>
          <email>cmrubira@ic.unicamp.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computing, University of Campinas</institution>
          ,
          <addr-line>Sao Paulo</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National University of Saint Agustin</institution>
          ,
          <addr-line>Arequipa</addr-line>
          ,
          <country country="PE">Peru</country>
        </aff>
      </contrib-group>
      <fpage>145</fpage>
      <lpage>152</lpage>
      <abstract>
        <p>Web service monitoring tools have become an essential component for Service Level Agreement (SLA) because they can collect real quality values of quality attributes to estimate the quality level of services. Since users monitor more than one quality attribute at the same time, quality levels are prone to vary during monitoring time, producing a con ict among quality attributes. In this study, we conduct an empirical study in order to identify potential con icts among quality attributes during Web services monitoring. For this purpose, we monitor a TravelAgent service in two scenarios: 1) monitoring attributes in isolation, and 2) monitoring attributes in pairs. Bootstrapping is used to estimate the quality level for each scenario, then we compared the quality levels in order to identify degradation. The results have shown that Response Time and Accuracy are the most con icting attributes during monitoring.</p>
      </abstract>
      <kwd-group>
        <kwd>Web Service</kwd>
        <kwd>Quality of Service</kwd>
        <kwd>QoS Con ict</kwd>
        <kwd>Monitoring</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Quality of Service (QoS) is a major issue in Web Services because services are
ussually third-party software integrated in large systems. QoS is a set of
quality attrbutes (e.g. availability and performance). The QoS analysis has become
a crucial task for service users, since they do not know the real quality level
provided for Web services. For this task, monitoring tools are used to collect
their quality values and evaluate the quality levels of Web services. Monitoring
tools collect quality values by means of metrics de ned for quality attributes,
and applying two monitoring strategies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]: a) passive monitoring is a strategy
based on sni ng the interaction between Web services and their users, in order
to minimize the interaction with them, and b) active monitoring is based on
sending requests to Web services, the monitor acts as a client in order to collect
the quality values of service responses. Although monitoring tools are a useful
mechanism for collecting quality values, they can become a quality degradation
factor for Web services by creating a stressful environment.
      </p>
      <p>The paper is organized as follows: Section 2 and 3 de ne our research problem
and related work, respectively. Section 4 exposes the planning and execution of
our evaluation. The results and analysis are in Sections 5. Threats to validity
and Conclusions are presented in Section 6. and 7.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Problem Statement</title>
      <p>Today monitoring tools are part of Service Oriented Architecture (SOA)
infrastructure. In general, they can be set up on the service side, on the client side or
as \man in the middle". Since quality attributes have di erent metrics to
measure their quality levels, a di erent monitor should be used for each attribute
separately. Thus, monitors can use di erent methods to collect quality values
depending on the quality attribute they monitor. However, these methods can
con ict between them producing a degradation in the quality level for one or
more quality attributes. In order to identify these potential con icts, we propose
an empirical study to evaluate potential con icting quality attributes during
Web service monitoring from a viewpoint of their users.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        Mairiza et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] constructed a catalogue of con icts among 26 types of
nonfunctional requirements (NFR) based on an extensive systematic literature
review. They de ned three categories of con icts between two NFRs: 1) Absolute
con ict, NFRs are always in con ict, 2) Relative con ict, NFRs are sometimes
in con ict, and 3) Never con ict, NFRs are never in con ict.
      </p>
      <p>
        On the other hand, Zheng et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] conducted a large-scale distributed
evaluation of many real-world Web services. They evaluated the response time and
throughput of 21,358 Web services located in 89 countries. The results showed
that a long response time is caused by a long transferring time or a long request
processing time. While a poor average throughput is caused by poor network
conditions in the client side or server side.
      </p>
      <p>
        Mairiza et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] identi ed many con icts between NFRs during analysis
phase and not during runtime execution of the systems. So, these con icts do
not necessarily correspond to emergent con icts by the monitoring executed
during runtime. On the other hand, the evaluation conducted by Zheng et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
is not focused on the identi cation of con icts between quality attributes.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Experiment Planning</title>
      <p>In this section, we present the objective and hypothesis of our empirical study,
as well as the independent and dependent variables, subjects and experiment
planning.
4.1</p>
      <sec id="sec-4-1">
        <title>Objective and Hypotheses</title>
        <p>
          The objective of our empirical study is de ned by following the analysis model
GQM (Goal-Question-Metric) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Table 1 shows the goals of our study, the
questions that describe the way to achieve the goals, and the metrics for each
question to validate the results in a quantitative way.
        </p>
        <sec id="sec-4-1-1">
          <title>Goals</title>
          <p>Where Qlevel(S; Ai) represents the quality level of the attribute Ai
monitored in isolation, and QlAejvel(S; Ai) represents the quality level of the attribute
attribute Ai monitored along with the attribute Aj .</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>Attribute</title>
          <p>
            Accuracy
Availability
Monitoring Tool: Currently there are many monitoring tools reported in the
scienti c community, such as Cremona [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ], SALMon [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ], WebInject [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ], and
FlexMonitorWS [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]. Since we are interested in the quality level perceived for users,
we look for a monitoring tool which collects quality values from the viewpoint of
the users. Cremona is a tool integrated into Web services which collects quality
values from the service side viewpoint. WebInject is a standalone application
deployed on the client side, but it only works for the Response Time. SALMon and
FlexMonitorWS support their deployment on the service side, on the client side
and as \man in the middle". For our study, we selected FlexMonitorWS since
it support the creation of di erent monitors using monitoring pro les based on
ve features [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]: 1) Monitoring target (Web service, server application, server,
or network), 2) Quality attributes, 3) Operation mode (interception, invocation,
or inspection), 4) Monitoring frequency (continuous or periodic), and 5) Noti
cation mode (sending messages or writing in a log le).
          </p>
          <p>Quality Level: Firstly, we de ne formally quality value. A quality value is a
numeric value, which is the result of applying a metric of a quality attribute in
a Web service in an instance of time. We present a quality value as:
Qvalue(S; Ai; Mij ; t) = v
(1)
where v 2 R is the quality value of the quality attribute Ai with i = 1; :::; n
using the metric Mij with j = 1; :::; m and n; m 2 N+ in the time t in the Web
service S.</p>
          <p>The quality level for a quality attribute is composed of a set of quality values
collected in an interval of time. Since quality values present smooth variations
in the time, quality levels are represented by a range of quality values within a
con dence factor. For example, the response time is in the range [15 ms, 45 ms]
for 95% of the cases. The quality level is de ned by:</p>
          <p>Qlevel(S; Ai; Mij ; t1; t2) = [vmin; vmax] for C% of the cases
(2)
where t1 and t2 are the interval of time (start and end time, respectively)
collecting quality values, vmin and vmax are the minimum and maximum quality
values, and C is the con dence factor of the quality level.</p>
          <p>
            Additionally, we de ne three types of degradation comparing two samples
of the same quality attribute collected in a di erent period of time: Absolute
degradation, when there is not an intersection in the quality level of the two
samples. Relative degradation, when there is an intersection in the quality level
of the two samples. No degradation, when the quality level of the two samples is
the same. We also de ne three types of con icts between two quality attributes
based on Mairiza et. al [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. Absolute con ict, when at least one attribute has an
absolute degradation. Relative con ict, when at least one attribute has a relative
degradation. Never con ict, when the attributes have no degradation.
4.3
          </p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Selection of Subjects</title>
        <p>The subject of our study is a TravelAgent service. This service look for hotel
rooms, airline tickets and renting cars. TravelAgent is a service orchestration
composed by three third-party services: CarReservarion, FlightReservation, and
HotelReservation. In order to reproduce a real scenario, Web services were
allocated in di erent locations and hosted in di erent operating systems. It was
rented four virtual machines in Google Cloud Platform3 (Table 3). TravelAgent
service was installed in Apache ODE 4 and deployed in Apache Tomcat5. All
third-party services were developed in JAVA and deployed in Apache Tomcat.
Web service
Location
SO
SO Distribution
Number Cores
Processor</p>
      </sec>
      <sec id="sec-4-3">
        <title>Experiment Design</title>
        <p>Our experiment was designed into two steps:
Step 1: Creation of Di erent Monitors. An independent monitor was
created for each quality attribute according to Table 2 using FlexMonitorWS. Table
4 shows the monitoring pro les for each quality attribute.
3 https://cloud.google.com/
4 Orchestation Director Engine which execute business process de ned in WS-BPEL.
5 A open source web server and servlet container developed by Apache Software
Foundation.
Step 2: Execution. In order to identify degradation in the quality levels,
monitoring was executed during 24 hours considering two scenarios:
1. Scenario 1: Monitoring in Isolation. Every quality attribute is
monitored when no other attribute is monitored. The aim of this scenario is to
create a basis state of the quality level of the Web service (Q1).
2. Scenario 2: Monitoring in Pairs. All possible pairs of quality attributes
are monitored at the same time in the same Web service (Q2). The aim of
this scenario is to produce a degradation in the quality level of at least one
attribute (Q3).
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Results and Discussion</title>
      <p>
        Since the quality level is prone to vary in the time, we estimated the magnitude
of these variations and its error range by applying bootstrapping. It is a
statistical technique that estimates the sampling distribution by making random
re-sampling, with replacement, from the original sample [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The aim is to
produce more samples and apply the same statistical operation (e.g. mean, median,
or correlation) to every new sample. Consequently, we represented the quality
level for a quality attribute using the con dence interval of the sampling
distribution with a con dence factor of 95% (M1, M2). In Figure 6(a), Accuracy
presented a quality level of [99.95%, 100.00%] when it was monitored in isolation,
and [99.50%, 99.88%] when it was monitored with Availability. Quality levels can
be also observed in the graph where every curve represents the probabilistic
distribution of the quality values for each scenario6 with a con dence factor of 95%
(shadow under the curve). It is clearly observed that the quality level was
degraded when it was monitored with Availability. A similar degradation can be
observed when it was monitored with Reliability and Robustness. On the other
hand, the quality level for Accuracy was the same when it was monitored with
the Response Time. Degradations can be observer in every quality attributes
monitored in all scenarios (M3). Table 5 summarizes all the identi ed con icts
(G1).
      </p>
      <p>
        Most of the observed degradations were caused by the number of invalid
responses returned by the service. Invalid responses were caused by lack of memory
6 All collected quality values are in: http://www.students.ic.unicamp.br/
~ra153621/empirical-conflicts-qos-monitoring.html.
1.0
0.8
0.6
F
D
C
0.4
Threats to conclusion validity concerning the relationship between treatment
and outcome. An incorrect execution of the experiment and incorrect treatment
of the collected information can produce biases in the results. In order to
minimize this threat, the experiment was designed in order to be reproducible by
someone else, following the guidelines purposed by Wohlin [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Threats to external validity concern the possibility of generalizing our results.
The generalization of our results depends on to take a representative sample of
1.0
0.8
0.6
F
D
C
0.4
0.6
F
D
C
0.4
0.2
monitoring quality values. The Web service was monitored for 24 consecutive
hours, and generalize its quality behavior by using bootstrapping. However, this
is limited by the subject evaluation because it was only for a single service.
7</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>This work has presented an experimental study for Web services monitoring, in
order to identify potential con icts between quality attributes. For this aim, a
set of quality attributes were monitored during 24 hours considering two
scenarios: monitoring quality attributes in isolation and in pairs. The results showed
that 1) Response Timeand Accuracy were the most con icting attributes since
it presented quality degradation during monitoring with all the other attributes.
2) Fault injection used to monitor Robustness was the most intrusive technique
because faults are sent to the services in order to produce errors in the service,
and subjecting the service under stress condition or disabling it. 3) Active
monitoring can become intrusive in the Web service generating degradation in the
quality of service, since this strategy send request directly to services. New
studies are necessary in order to evaluate more complex services and generalize the
result for Web services.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>O.</given-names>
            <surname>Cabrera</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          , \
          <article-title>A quality model for analysing web service monitoring tools,"</article-title>
          <source>in The Sixth International Conference on Research Challenges in Information Science, ser. RCIS</source>
          <year>2012</year>
          , Valencia, Spain, May
          <year>2012</year>
          , pp.
          <volume>1</volume>
          {
          <fpage>12</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.</given-names>
            <surname>Mairiza</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Zowghi</surname>
          </string-name>
          , \
          <article-title>Constructing a catalogue of con icts among nonfunctional requirements," in Evaluation of Novel Approaches to Software Engineering, ser</article-title>
          .
          <source>ENASE 2010</source>
          . Springer Berlin Heidelberg,
          <year>2011</year>
          , vol.
          <volume>230</volume>
          , pp.
          <volume>31</volume>
          {
          <fpage>44</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lyu</surname>
          </string-name>
          , \
          <article-title>Investigating QoS of real-world web services,"</article-title>
          <source>IEEE Transactions on Services Computing</source>
          , vol.
          <volume>7</volume>
          , no.
          <issue>1</issue>
          , pp.
          <volume>32</volume>
          {
          <issue>39</issue>
          ,
          <year>January 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>C.</given-names>
            <surname>Wohlin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Runeson</surname>
          </string-name>
          , M. Host,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Ohlsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Regnell</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Wesslen</surname>
          </string-name>
          , Experimentation in Software Engineering:
          <article-title>An Introduction</article-title>
          . Norwell, MA, USA: Kluwer Academic Publishers,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ludwig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kearney</surname>
          </string-name>
          , \
          <article-title>Cremona: An architecture and library for creation and monitoring of WS-Agreements,"</article-title>
          <source>in Proceedings of the 2nd International Conference on Service Oriented Computing, ser. ICSOC</source>
          <year>2004</year>
          . New York, NY, USA: ACM,
          <year>November 2004</year>
          , pp.
          <volume>65</volume>
          {
          <fpage>74</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>M.</given-names>
            <surname>Oriol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Marco</surname>
          </string-name>
          , \
          <article-title>Monitoring the service-based system lifecycle with SALMon,"</article-title>
          <source>Expert Systems with Applications</source>
          , vol.
          <volume>42</volume>
          , no.
          <issue>19</issue>
          , pp.
          <volume>6507</volume>
          {
          <issue>6521</issue>
          ,
          <string-name>
            <surname>November</surname>
          </string-name>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>C. Goldberg.</surname>
          </string-name>
          (
          <year>2011</year>
          , October) Web/HTTP Test &amp;
          <article-title>Monitoring Tool</article-title>
          . Available in: http://www.webinject.org. [Accessed on 11/11/2016].
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>R.</given-names>
            <surname>Franco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rubira</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Nascimento</surname>
          </string-name>
          , \
          <article-title>FlexMonitorWS: Uma soluca~o para monitoraca~o de servicos web com foco em atributos de QoS,"</article-title>
          in Congresso Brasileiro de Software: Teoria e Pratica, 21th Sess~ao de Ferramentas, vol.
          <volume>2</volume>
          ,
          <year>September 2014</year>
          , pp.
          <volume>101</volume>
          {
          <fpage>108</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>B.</given-names>
            <surname>Efron</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Tibshirani</surname>
          </string-name>
          ,
          <article-title>An Introduction to the Bootstrap</article-title>
          . Chapman and Hall/CRC,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>