<!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>Web Service Discovery with Implicit QoS Filtering</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>DIT - University of Trento</institution>
          ,
          <addr-line>Via Sommarive, 14, 38050 Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>61</fpage>
      <lpage>66</lpage>
      <abstract>
        <p>Web Service (WS) discovery is a critical problem hindering web service technology proliferation. The current solution, based on catalog-style browsing, provides no control over the quality of registered services. Application of matching techniques for WS retrieval is still under investigation. The objective of this work is the design of a framework to improve WS discovery. Our approach is based on application of distributed recommendation system to provide Quality of Service (QoS) information and on testing of retrieval methods on service specifications.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        WS paradigm is a promising model of software technology, based on loosely
coupled, distributed and independent services operating via the web
infrastructure. To overcome platform and language dependence, services are described
using Web Service Description Language (WSDL). Standardized XML-based
interfaces help performing service reuse. Service descriptions are cataloged in
Universal Discovery, Description and Integration (UDDI) registries. Although
there exists a stack of standards to regulate the communication of processes and
automated tools to convert legacy applications into web services, WS technology
is still not widely used. One of the reasons is the lack of means to support WS
discovery, i.e., the identification of existing WSs that can be used by new web
applications. This problem is rather extensive and admits various interpretations
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Under automated discovery, a requester agent performs service search and
evaluates the results. Currently UDDI registries are the dominating
technological basis for WS discovery. They allow business compliance and reuse, and in
perspective they could provide control over data and facilitate WS lifecycle
management. But existing registries are still small and mostly private, there is no
control over provided information, qualitative characteristics of WS and ability
of quality-based retrieval. The discovery supported by UDDI API is inaccurate
as services retrieved may be inadequate due to low precision and low recall. Such
mentioned disadvantages determine our objective: we propose a framework for
efficient WS discovery that provides clients with QoS information and reduces
the probability of failure by analyzing statistics of previous service invocations.
      </p>
      <p>The rest of the paper is organized as follows. In Section 2, we discuss different
aspects of the problem and present the existing work relevant for our research.
Section 3 describes our approach. In Section 4, we draw some conclusions and
outline future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        We can judge how well a web service satisfies a client’s goal using various types of
matching. Signature matching considers only function types without regarding
their behavior. Specification matching is a way to compare two software
components, based on descriptions of their behaviors. Components can be compared
with various degrees of accuracy (exact and relaxed matching). However, this
approach requires formal pre/postcondition specifications. Hausmann et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
examine the application of such methods for WS discovery. WS matching is
related to the automatic schema matching which is a basic problem in many
application domains like data integration or semantic query processing. Rahm
et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] provide a good survey in this area. In syntactic matching we look for
the similarities into data using syntax driven techniques. In semantic matching
the key intuition is the mapping of meanings. For example, surname, family
name, cognomen and last name represent the same concept. One of the relevant
proposals in the field of WS discovery is to use an extension of UDDI that
contains WSDL specifications [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In this way, dynamic retrieval through common
terminology and shared meaning is enabled. WSDL does not provide any
special semantic specifications but it contains the &lt;documentation&gt; element with
service documentation and elements with natural language descriptions of
operations and data types. Identifiers of messages, operations and data types are
meaningful, and XML syntax allows to capture the domain specific relations.
Semantic Web services, i.e., web services empowered with formal ontologies [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ],
revealed new perspectives in service automatic discovery, composition and
execution monitoring (e.g., [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]). Since this solution is based on predefined ontologies,
it is not flexible and contradicts the dynamic nature of web-based interaction.
      </p>
      <p>From the WS discovery perspective, the major criterion of WS retrieval
system evaluation is the relevance of found services with respect to the end user.
The most popular quality evaluation measures of Information Retrieval (IR)
engines are precision (a measure of the usefulness) and recall (a measure of the
completeness). They have a fixed range and are easy to compare across different
queries and engines, but they do not account for the quality of ranking. For
a machine learning algorithm we need an effective single number measure. An
average precision that combines precision, relevance ranking, and overall recall
is an ideal measure for our task where good ranking is extremely relevant due
to invocation cost of the services.</p>
      <p>
        Assuring the WS quality is an especially critical task since we do not know
service exact specifications, developing and testing methodologies. An invocation
of a troublesome service can affect all the system. A potential client should be
aware of the service behavior before he/she/it starts to exploit it. Among the
basic QoS factors are service performance (throughput, response time, latency,
transaction time), availability, accessibility, reliability, scalability, exception
handling, execution cost, reputation, regulatory, accuracy, integrity,
interoperability, security (authentication, authorization, confidentiality, traceability, data
encryption, non-repudiation), privacy, network-based factors (network delay, delay
variation, packet loss), etc. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Service reputation is an especially interesting
property from this list. Kalepu et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] address the problem of subjective
perception of reputation due to the lack of performance history. Our proposed solution
allows to infer WS rankings from pure statistical data about service invocations
based on particular criteria for each client.
      </p>
      <p>
        An important issue is the way in which a client asks for a service. Currently
used by UDDI API keyword-based queries are easy to express but obviously
not sufficient. Using WSDL specifications as a query appears more promising.
In the case when a client wants to substitute one web service with another
without affecting the observable behavior of the system, he/she does not need
to write a request. But in general, WSDL specification is redundant and does
not contain QoS requirements. Ran [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] suggests SOAP-based requests. In the
requirements for WS discovery competitions [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] requests are described in XML
format. A similar style can be used to express client’s preferences about QoS
characteristics and testing samples.
      </p>
      <p>
        In IR approaches to WS discovery a query consists of keywords, which are
matched against the stored descriptions in the UDDI. The Boolean model
suffered from either lots or very few returned results. Traditional models like
Vectorspace model seem to be quite effective. Latent Semantic Indexing (LSI), the
prevailing method for small document collections, was applied on the UDDI to
capture the semantic associations between services [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. A suite of algorithms for
similarity assessment between two WSDL descriptions were developed [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. They
are based on IR and component matching methods. The WordNet database is
applied for semantic analysis of service documentation. According to those
experimental results, the methods are neither precise nor robust. Dong et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
describe an approach based on term associations analysis. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], WS discovery
and composition based on syntactic matching is suggested. Authors propose to
build indexes on operations and part names to speed up the matching process.
Oh et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] describe the transformation of WS discovery and composition issues
into a graph search problem. Web services are compared depending on syntactic
matching of input and output parameters whereas data types are ignored.
      </p>
      <p>
        Retrieval is successful when the information need is satisfied. Therefore, we
need to be provided with the user’s judgement of the relevance of the found
data. Maximillien et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] describe an agent-based system where agents act as
proxies to collect information and build a reputation of semantic web services. In
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] trust management mechanism is added to evaluate the credibility of the user
reports when predicting service quality. By nature, most of us are not inclined to
give feedback. The solution is suggested by a recommendation system that uses
implicit feedback from the user by means of analyzing his/her behavior. Birukov
et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] present such a system to produce recommendations for web search. In
our task, agents can control actions like user search requests, test invocations of
web services, bindings, successful service responses or failures, etc.
      </p>
    </sec>
    <sec id="sec-3">
      <title>A Framework for WS Discovery</title>
      <p>In Fig. 1 a basic architecture of our proposed framework is presented. Each
client or group of local clients with similar preferences has a dedicated agent
which task is to process all activities pertaining to web services (communication
with registries, bindings, requests, responses). The personal agent accepts a
request from its client (human or application), redirects the description of the goal
to the matching agent which manages the registry. The matching agent searches
for the services that can conceivably satisfy the client’s goal. It keeps history
of requests, and provides the requester with the information about the agents
that searched for the similar services before. Given a list of previous clients,
that is the last k agents to which the matching agent recommended the service,
the personal agent can ask them for recommendations. Then two scenarios are
possible: a first one, in which the agents that invoked the services provide the
requester with their own rankings, and an alternative one, in which they render
to it parts of their own history leaving to the requester the task of processing it.
The latter approach tries to overcome the problem of specific client’s preferences
that cannot be provided by external QoS evaluation systems. The personal agent
can ask first the agents that gave useful statistics before, and only if they do
not have necessary information, to apply more extensive interrogation. An open
issue is preventing malfeasant agents from affecting the service reputation. If
web services use mediators that collect statistics about all their invocations, the
personal agent may have more reliable data by comparing parameters provided
by agents and the service mediator. Another advantage is that centralized data
is more convenient for evaluation of such QoS factors as availability, reliability,
capacity, robustness.</p>
      <p>The matching agent provides the personal agent with the matching score
of its request and returned web services. If this score is low, the relevance of
the services is dubious and alternative approaches are needed to check if they
correspond with the client’s request. Recording of invocation inputs and outputs
can help to test the service before usage by new clients. A client sends testing
samples to his/her/its agent, and the agent checks if they are among the data it
has. If it is so we may strongly believe that the service fits the client’s goal and
will work properly. But this approach conflicts with security and privacy issues,
and may be time and space consuming.</p>
      <p>The personal agent ranks the web services by combining the scores of
matching, recommendations and tests (if they were provided). Before service invocation
it asks the client for confirmation. Finally, the best-fit web service is invoked,
QoS parameters are measured, and the results are saved. Then, the agent can
ask its user if it should always invoke this service for the same query. Such an
explicit user feedback can be used to reconstruct the trust policy to other agents or
rating algorithm but it is not necessary. If a user keeps invoking a web service,
he/she is likely to be satisfied with the service provided. Therefore, repeated
usage should have a high weight for QoS evaluation.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions and Future Work</title>
      <p>In this paper we have presented a new WS discovery approach. Some
subproblems, namely service matching methods, discovery system evaluation and request
formats have been discussed. We have proposed a framework for WS selection
based on QoS properties collected implicitly by a distributed agent-based system.</p>
      <p>
        We intend to apply the recommendation system presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for WS
discovery. To achieve our goal we need to implement a matching algorithm,
and enrich the current functionality of agents with the ability to mediate WS
invocations and measure QoS factors. A flexible ranking policy and learning
algorithms for agents are also planned as part of our future work.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] pairs of web services are compared by matching their data types,
messages and operations. With respect to these approaches we are going to
build indexes for provided operations, use semantic matching to eliminate the
mismatched operations and apply relaxed structure matching for the filtered
subset. We are planning to elaborate the results by trying alternative IR models
(LSI, Probabilistic Models, etc.) on WSDL specifications. Another interesting
point is that the matching agent can learn from experience. It can match each
new query across services and across previous requests to them as well.
      </p>
      <p>
        Our architecture is similar to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] in a sense that agents control overall
communication process between clients and each web service. Several problems are
stated in the paper that are also relevant for our task. Among them is the risk
tolerance of the user: the invocation of a new service matching the client’s goal
could be regarded as higher risk than a more mature one. Another issue is that
several complementary web services can be found to satisfy the goal. Our current
work does not aim at tackling the problem of WS composition but potentially
some state-of-the-art approaches can be exploited in order to increase system
recall by considering composite services. An application of recommendation
system for web services spawns a good number of interesting issues, typical for
recommendation systems and novel as well. One of them is a new-system
coldstart problem, when there are no user ratings of web services (monitored service
invocations). In this case, the initial recommendation can be constructed using
Google’s rating of the provider. For a new-service cold-start problem agents’
ratings of the services by the same provider can be used.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Birukov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blanzieri</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          , P.: ”Implicit:
          <article-title>An agent-based recommendation system for web search”</article-title>
          ,
          <source>Proceedings of the 4th International Conference on Autonomous Agents and Multi-Agent Systems</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>618</fpage>
          -
          <lpage>624</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Blake</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          et al.:
          <article-title>”The EEE-05 Challenge: A New Web Service Discovery and Composition Competition”</article-title>
          ,
          <source>IEEE Computer Society</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>780</fpage>
          -
          <lpage>781</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dong</surname>
            ,
            <given-names>X.L.</given-names>
          </string-name>
          et al.:
          <article-title>”Similarity search for web services”</article-title>
          ,
          <source>Proceedings of VLDB</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Garofalakis</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panagis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sakkopoulos</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsakalidis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>”Web Service Discovery Mechanisms: Looking for a Needle in a Haystack?”</article-title>
          , International Workshop on Web Engineering,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hausmann</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heckel</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>”Model-based Discovery of Web Services”</article-title>
          ,
          <source>Proceedings of the IEEE International Conference on Web Services</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Sh.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>”Efficient Web Service Composition Based on Syntactical Matching”</article-title>
          ,
          <source>IEEE Computer Society</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>782</fpage>
          -
          <lpage>783</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jeckle</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zengler</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>”Active UDDI - an Extension to UDDI for Dynamic and Fault-Tolerant Service Invocation”, Web and Database-Related Workshops on Web, Web-Services and Database Systems</article-title>
          , LNCS,
          <year>2003</year>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kalepu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishnaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loke</surname>
          </string-name>
          , S.-W.:
          <article-title>”Reputation = f(User Ranking, Compliance</article-title>
          , Verity)”,
          <source>Proceedings of the IEEE International Conference on Web Services</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Maximilien</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          : ”
          <article-title>Conceptual Model of Web Service Reputation”</article-title>
          ,
          <source>SIGMOD Record</source>
          , Vol.
          <volume>31</volume>
          , No. 4,
          <string-name>
            <surname>Dec</surname>
          </string-name>
          .
          <year>2002</year>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Medjahed</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouguettaya</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>”A Multilevel Composability Model for Semantic Web Services”</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          , Vol.
          <volume>17</volume>
          , No.
          <volume>7</volume>
          ,
          <issue>2005</issue>
          , pp.
          <fpage>954</fpage>
          -
          <lpage>968</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Oh</surname>
            ,
            <given-names>S.-Ch.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumara</surname>
          </string-name>
          , S.:
          <article-title>”Flexible Web Services Discovery and Composition using SATPlan and A* Algorithms”</article-title>
          ,
          <source>In Modeling Decisions for Artificial Intelligence Conference</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ran</surname>
          </string-name>
          , Sh.:
          <article-title>”A Model for Web Services Discovery With QoS”</article-title>
          ,
          <source>ACM SIGecom Exchanges</source>
          , Vol.
          <volume>4</volume>
          , No.
          <volume>1</volume>
          ,
          <issue>2003</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rahm</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bernstein</surname>
          </string-name>
          , P.:
          <article-title>”A Survey of Approaches to Automatic Schema Matching”</article-title>
          ,
          <source>VLDB Journal</source>
          , vol.
          <volume>10</volume>
          , No.
          <volume>4</volume>
          ,
          <issue>2001</issue>
          , pp.
          <fpage>334</fpage>
          -
          <lpage>350</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sajjanhar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hou</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Zhang, Y.:
          <article-title>”Algorithm for Web Services Matching”</article-title>
          ,
          <source>In Proceedings APWeb</source>
          <year>2004</year>
          , LNCS 3007, Springer Verlag,
          <year>2004</year>
          , pp.
          <fpage>665</fpage>
          -
          <lpage>670</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Stroulia</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>”Structural and semantic matching for accessing webservice similarity”</article-title>
          ,
          <source>International Journal of Cooperative Information Systems</source>
          , Vol.
          <volume>14</volume>
          , No.
          <volume>4</volume>
          ,
          <issue>2005</issue>
          , pp.
          <fpage>407</fpage>
          -
          <lpage>437</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>The OWL Services</surname>
          </string-name>
          <article-title>Coalition</article-title>
          .
          <source>OWL-S specification version 1</source>
          .0,
          <string-name>
            <surname>November</surname>
          </string-name>
          <year>2003</year>
          . http://www.daml.org/services/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Vu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Le-Hung</surname>
          </string-name>
          . et al.:
          <article-title>”Towards P2P-based semantic web service discovery with QoS supports”</article-title>
          ,
          <source>Workshop on Business Processes and Services</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>