1
QoS-based Service Ranking and Selection for Servic-based Systems
Stephen S. Yau and Yin Yin
Information Assurance Center, and
School of Computing, Informatics, and Decision Systems Engineering
Arizona State University
Tempe, AZ, USA
{yau, yin.yin}@asu.edu
Abstract—To facilitate rapid development of service-based
systems (SBS), many service discovering and matching
techniques have been developed to find services according to
users’ functionality requirements. However, users usually also
have requirements on non-functional qualities of services
(QoS), such as throughput, delay, reliability and security,
which are also critical for the success of SBS. In this paper, a
QoS-based service ranking and selection approach is presented
to help users to select the service that best satisfies users’ QoS
requirements from a set of services having already satisfied
users’ functionality requirements. To determine how well a
service satisfies users’ concerned QoS requirements, a set of
functions is presented to normalize services’ QoS on various
QoS aspects with different metrics and scales, compute
services’ satisfaction scores on each QoS aspect, and combine
each services’ satisfaction scores on all QoS aspects together as
an overall satisfaction scores. Compared with existing service
ranking and selection techniques, our approach has the
following advantages: 1) selects the service that best satisfies
users QoS requirements instead of the service with the best
QoS which may be much overqualified for the users’ QoS
requirements, 2) improves the flexibility in users’ QoS
requirement specification, and 3) uses the prospect theory to
more accurately model the relation between services’ QoS and
their satisfaction scores.
Keywords- Service ranking and selection; QoS requirements,
QoS-based;satisfaction score; service-based systems; prospect
theory.
I. INTRODUCTION
Web services and service-oriented architecture (SOA)
have emerged as effective tools in improving distributed
application systems’ flexibility, interoperability, scalability
and robustness, which have been widely used in many
domains, such as e-commerce, e-government, health care,
and homeland security [1, 2]. In SOA, service providers
specify their services' functionalities as contracts through
standardized service description language (WSDL) [3] and
register their services in service directories. Users, such as
developers of service-based systems (SBS) who are looking
for services providing specific functionalities, can search for
services in service directories, and integrate the found
services into their SBSs instead of developing systems from
scratch. This process certainly accelerates and facilitates the
development of large-scale of service-based systems.
Besides the functionalities provided by services, the
services’ QoS, such as throughput, delay, reliability and
security, are also important [4]. However, existing
service discovering and matching approaches, such as
UDDI, Service Location Protocol (SLP), Jini, and
Bluetooth, only search for services with functionalities, and
do not provide any guarantee on services' QoS. Hence, the
users have no idea about whether the discovered services'
QoS can satisfy their QoS requirements. Furthermore, if
there are several services providing equivalent
functionalities, users do not know which service should be
selected.
To incorporate service QoS information in service
discovery and matching, there are two major challenges.
The first is to specify, measure, and monitor services’ QoS.
Several QoS quality models and ontologies have been
presented to formally organize and specify various QoS
aspects with their metrics and scales [5-9]. These QoS
specifications are then integrated with extended web service
standards [10-16]. Furthermore, services’ QoS can be either
monitored and updated through a runtime QoS monitor [17],
users’ feedbacks and reputations [18, 19], or data mining
with historic data [20, 21].
The second challenge is to match services’ QoS with
users’ QoS requirements. While users have requirements on
multiple concerned QoS aspects, it is difficult to find the
best service by comparing multiple concerned QoS aspects
simultaneously. For example, it is not clear how to compare
a service with high throughput and high price to another
service with low throughput and low price. Furthermore,
services’ QoS on various QoS aspects cannot be simply
combined because different users’ preferences on concerned
QoS aspects may be different, and various QoS aspects have
different scales and value ranges.
While the first challenge has been well addressed by
existing techniques [5-21], the second challenge has not
been well studied. In this paper, we will present a service
ranking and selection approach to meet the second
challenge. This approach will include 1) normalizing
services’ QoS on various aspects to a unique range, 2)
measuring how well services’ QoS satisfies users’ QoS
requirements on each concerned QoS aspect with a
satisfaction score, and 3) combining services’ satisfaction
scores on all concerned aspects together as an overall