QoS in ontology-based service classification and discovery - CiteSeerX

7 downloads 8728 Views 180KB Size Report
Service Registry. ... sification and discovery where services are organized on the basis of their ... means of a name, a domain, a set of admissible values, one.
QoS in ontology-based service classification and discovery∗ D. Bianchini, V. De Antonellis and M. Melchiori Universit`a di Brescia Dip. Elettronica per l’Automazione Via Branze, 38 25123 Brescia - Italy {bianchin,deantone,melchior}@ing.unibs.it

Abstract Nowadays, many different organizations which operate in the Web distributed environment become more and more dependent on services to automate their activities and to improve their interoperability. Services are provided and published on the Web by independent organizations and their number is growing. Therefore suitable approaches to classify and organize them to support their discovery and delivery are required. In this paper, we extend our ontologybased service classification and discovery approach to consider also the important and topical aspects related to QoS. In particular, in our approach services are firstly looked for on the basis of their functional conformance to the user request and then filtered on the basis of their quality features.

1 Introduction Nowadays, many different organizations which operate in the Web distributed environment (e.g., procurement and business agencies) become more and more dependent on services to automate their activities and to improve their interoperability. Services are independently published by different providers and, according to the Service Oriented Architecture (SOA [14]), users can request and access a wide variety of services by choosing among the published ones. Services satisfying user preferences and constraints are selected, possibly by means of brokers, looking for them in a Service Registry. To facilitate service discovery two main research issues have to be addressed: (i) services organization and classification according to functional properties; (ii) service discovery on the basis of QoS demand. In this framework, the availability of a service conceptual model and the construction of service ontologies are particularly relevant. In [1] we proposed to model services ∗ This work has been partially supported by the Italian MIUR FIRB MAIS (Multichannel Adaptive Information Systems) project [8].

according to both user and provider perspectives by considering aspects related to the functional, the QoS and context of use descriptions. In [2] we also addressed the problem of service classification and discovery on the basis of functional features by proposing an approach based on service ontologies. In this paper, we extend the classification and discovery approach to consider also QoS features. In particular, in the discovery process services are firstly looked for on the basis of their functional conformance to the user request and then filtered on the basis of their quality features. In literature, quality of service and related issues have been studied by several research and standardization groups to define suitable quality models and to exploit quality of service information to enhance service discovery. In particular, some efforts have been devoted to identify measurable parameters used to express the quality of a service: [9] identifies a set of QoS parameters useful to describe the quality of services, [12] describes the QoS using the set of quantifiable parameters or measurements (response time, latency, throughput and so on) proposed by the ISO 8402 international quality standard. Other research issues regard the definition of languages for specifying quality of service: among them, we can cite Quality-of-service Modeling Language (QML) [4], NoFun language [3] and CORBA trader service [11]. Proposed approaches try generally to define models and methods to permit the matching of service demand and offer by: (i) allowing the specification of both demand and offer QoS features; (ii) searching for the offers that fulfill a demand; (iii) select the best choice according to the assessment criteria specified in the demand. This problem is known as the service procurement problem and various approaches have been developed to try to solve it. In particular, from the QoS perspective of the service procurement problem, different representations of QoS offers are possible. In fact, given a multidimensional space Σ whose dimensions are associated to the domains of considered quality parameters, some approaches represent the QoS demand

as a subspace of Σ (a set of constraints on the values of each quality parameter) and the QoS offer as a point in Σ (a guaranteed value for each quality parameter) so that the problem becomes equivalent to check whether the offer (the point) belongs to the demand (the subspace) [6, 13]. Other approaches [5, 10] represent both the demand and the offer as a subspace of Σ and the problem here is to check if the subspace of offer is included within the subspace of demand. We propose an ontology-based approach to service classification and discovery where services are organized on the basis of their functional descriptions and enriched with QoS features, described by means of both general purpose and domain specific quality parameters. In particular, QoS guaranteed by the service providers (offer) is represented as a point of the multidimensional space Σ and user quality requirements (demand) are represented as constraints on the desired values for quality parameters, that identify a subspace of Σ to which the offer must belong. However, quality based search of services is performed only after considering user functional requirements. This paper is organized as follows: Section 2 presents our reference service model, Section 3 shows an ontology-based service classification on the basis of functional features enriched with our QoS model, while in Section 4 the exploitation of the QoS information in the proposed ontology architecture to enhance service discovery is explained; finally, in Section 5 concluding remarks are discussed.

message that causes the transition and the output one that is produced by the transition. For the quality description in [2] we proposed a set of generic quality parameters, provided by an available standard classification (ISO 8402, part of the ISO 9000 standard), but additional parameters, related to specific application domain are generally required and must be stated (for example, the number or the type of credit cards accepted by a Video on Demand service can influence the QoS). In our model, each quality parameter is described by means of a name, a domain, a set of admissible values, one or more measure units, a set of rules to convert the parameter value from a measure unit to another one. In a more formal way, each quality parameter is described by a 5-uples < n, d, AV , U , R >, where: • n is the name of the parameter; • d is the domain of the parameter; • AV is the set of admissible values; • U = {u1 , u2 , . . . un } ∪ “NULL” is the set of measure units used to express the quality parameter; ‘‘NULL’’ is used in the adimensional case; two parameters can be compared only if they are described using the same measure unit; • R = {r1 , r2 , . . . rm } is the set of conversion rules (if more than one measure unit is used).

2 The reference service model We considered three parameter domains: We model services with respect to both a provisioning and a request perspective [1, 2]: from the first point of view there are one or more service providers which implement and make available a set of services, defining their functionalities and assuring a certain level for the quality of service, while from the second point of view an user looks for a service specifying his own functional and quality requirements. The functional description of a service is composed by the definition of its interface (inspired by WSDL), i.e., a set of operations (with a name, one or more input messages and one or more output messages), by the specification of a set of pre- and post-conditions that predicate on the I/O messages for each operation, by the description of its behavior by means of finite state automata. Pre-conditions are logical expressions that must be verified before the execution of the operation, while post-conditions are satisfied after the execution; both pre- and post-conditions are expressed using OCL Object Constraint Language, provided with UML. Finite state automata are used to describe in more detail how the service works, specifying the order in which the operations are performed, at what input messages the service reacts and what output messages it produces during state transitions. Each state transition is labeled with the input

numerical, where the set of admissible values is represented by a range of values (for example, ); boolean, where admissible values are only two, true/false, yes/no and so on (for example, ); enumeration, where we have a finite, possibly ordered, list of admissible values (for example, ).

3 QoS in service classification In the Service Oriented Architecture (SOA [14]), service providers publish their services within a public UDDI registry, where the user looks for the desired service. We propose a service ontology architecture for service publication and discovery that extends traditional UDDI Registry functionalities, maintaining a full compatibility with

it. The ontology architecture is shown in Figure 1. Ontology organizes services on three levels of abstraction (concrete services, abstract services and subject categories, respectively), finding different kinds of relationships between elements in the same level (intra-layer links) and in different ones (inter-layer links) by analyzing their functional descriptions; moreover, the ontology is enriched with QoS information. Concrete service. It represents the service implemented and made available by service provider, described by means of its interface, its behavior in terms of pre- and post-conditions and finite state automata and by means of features directly related to its implementation, such as its access points. In [2] we proposed semi-automated techniques to find semantic relationships between concrete services on the basis of their interfaces and behavioral descriptions. Once these relationships are stated between concrete services, weights are associated to each kind of relationship and concrete services are organized in a graph < S , E >, where S is the set of the concrete services and E is the set of weighted semantic relationships between them. A path between two concrete services si and s j is composed by a set of semantic relationships from si to s j ; the strength of the path is the product of the weights associated to the relationships belonging to it. Finally, concrete services are grouped into sets (clusters) of similar services applying a hierarchical clustering algorithm [7]. Two concrete services si and s j are grouped into the same cluster if and only if: (i) a path of semantic relationships holds between si and s j , and (ii) the strength of this path is equal or greater than a threshold set by the domain expert. Clusters of concrete services form the similarity layer of the ontology. Abstract service. It does not represent a directly invocable service; on the contrary it is associated to a cluster of similar concrete services that it represents. The abstract service is described by means of an interface, derived by integrating the interfaces of underlying concrete services, without considering implementation aspects such as access points. Mapping rules are maintained between each operation description in the abstract service and the corresponding operations in the concrete services. Two kinds of relationships between abstract services can be identified by the domain expert: (i) is-a, that holds when an abstract service offers at least the same functionalities of another one; (ii) is-part-of, that is obtained when an abstract service can be viewed as the composition of other ones. The set of abstract services constitutes the abstract layer of the ontology. Association links hold between each abstract service and the corresponding cluster in the similarity layer.

Subject category. It represents a topic-based view on a subset of abstract services. We considered subject categories derived from available standard classifications of services and in particular we have chosen the UN SPSC taxonomy. When a service provider implements a new concrete service, he also specifies the UNSPSC category in which the new service must be classified (as normally done with traditional UDDI registries). During the service ontology construction, an abstract service is associated to all the subject categories in which the concrete services represented by the abstract one are classified. The subject category taxonomy constitutes the category layer of the ontology. According to the quality model, we enrich the threelayer ontology with QoS features. In particular, quality parameters are associated to each leaf subject category of the taxonomy in the category layer. Such parameters, both domain-specific and general quality parameters, characterize the quality aspects of each service belonging to a particular subject category, according to the quality model we have introduced in Section 2. In the abstraction layer, abstract services that are associated to leaf subject categories inherit their quality parameter sets; if an abstract service is associated to more than one category, it inherits the union of the corresponding quality parameter sets. When a provider implements a new concrete service, he is constrained to the set of quality parameters of the subject category in which he wants to classify the new service; he must provide a range of values he is able to guarantee for each quality parameter into the set of admissible values for that parameter. Moreover, each concrete service in a cluster presents a set of quality parameters that is included in the set of parameters associated to the corresponding abstract service and the range of the values guaranteed for each quality parameter in the concrete services is included in the set of admissible values of the corresponding quality parameter in the abstract service. In fact, an abstract service: (i) is associated to the subject categories in which the concrete services represented by the abstract one are classified, (ii) inherits quality sets of the associated categories, to which quality parameters of the concrete services are constrained. Considering the three layers of the service ontology, subject categories, abstract services and concrete services are enriched with quality information as follows: • a quality parameter set QoSi = {pi1 , pi2 , . . . pin } is associated to each subject category sci , where pi j =< ni j , di j , AV i j , Ui j , Ri j > with j = 1, . . . n are the quality parameter descriptions; • for each abstract service Sak associated to the subject categories {sc1 , sc2 , . . . scm }, the set of quality parameters associated to Sak is obtained with the union of the

Subject categories

Editorial and Design and Graphic and Fine Art Services Photographic services

Graphic design

Photographers and cinematographers Video production services

Abstract services

Sa4

Sa2

Sa1

Sa3

Concrete services

s 12 s11

C1

UDDI registry

s 13 s 14

s 41

s21 s22

UDDI registry

C2

s 31

C3

C4 LEGEND: Association link Is−a relationships Equivalent−to rel. Part−of relationship

Figure 1. The three-layer domain service ontology architecture. sets of qualitySparameters associated to sc1 , sc2 , . . . scm , i.e., QoSak = m i=1 QoSi ; • for each concrete service shk in the cluster Ck represented by the abstract service Sak , a set of quality parameters QoSkh is defined such that each parameter p ∈ QoSkh belongs also to the set QoSak and the range of its values is included into the set of admissible values for the quality parameter description contained in QoSak .

4 QoS in service discovery The proposed ontology architecture is exploited for discovery purposes both by the human user to find desired concrete services and by software agents that support the process designer to build a complex service starting from simpler ones. First, the service discovery is based on the analysis of functional aspects; second, the set of services chosen on the basis of user functional requirements is further refined with respect to the quality of service required by the user. During the functional-driven search, the taxonomy in the category layer of the ontology is browsed to identify the desired leaf subject category. Once the category is identified, the abstract services associated to it are considered and their interfaces are analyzed in order to find the abstract service closest to user functional requirements. Relationships be-

tween abstract services can also be exploited to refine the discovery process. This analysis can be performed in a semi-automated way using the interface similarity analysis presented in [2]. When the desired abstract service is selected, concrete services belonging to the associated cluster are presented to the user or can be further filtered by analysing their interface and their behavior by means of techniques proposed in [2]. At this point, QoS requirements can be applied to the set of services selected on the basis of functional aspects to obtain ones that match better user quality needs. We have to deal with an abstract service selected with respect to user functional requirements and we must filter the associated concrete services on the basis of quality requirements, except for those concrete services that have been already rejected by analyzing their functional aspects. Let us consider an abstract service Sak with associated concrete services S = {s1k , · · · sm k } and with a quality parameter set formed by p1 , · · · pn . The problem we want to address is to give an answer to a QoS request R as a subset of S , where R: (i) is a set of constraints on p1 , · · · pn possible values; or (ii) specifies a QoS category on p1 , · · · pn . In the following we examine these issues. • Request expressed as a set of constraints. In this case, R is described as a set of constraints γ1 · · · γn on the

Video production services

Subject categories

QoS Categories Resolution

Cost

Accepted Credit Cards

Services

Poor

Cheap

Standard

BBC;

Good

Cheap

Standard

CNN;

Poor

Fair

Standard

Good

Fair

Standard

Poor

Expensive

Standard

Good

Expensive

Standard

NTT;

Good

Cheap

All

CNN;

...

...

...

Sport Video on Demand Parameter set

AOL;

−Resolution −Cost −Accepted Credit Cards

Abstract services Concrete services Sport service

Sport service

CNN

BBC

Sport service

Sport service

NTT

AOL

Figure 2. QoS category driven request. possible values of p1 , · · · pn parameters belonging to the quality parameter set of Sak . Each constraint can be: – a range of values included in the set of admissible values of pi if the domain of pi is numerical; – a 0 or 1 value if the domain of pi is boolean; – a subset of admissible values of pi if its domain is an enumeration. If we consider an n-dimensional space whose dimensions are given by the domains of QoS parameters, j since the quality of each concrete service sk ( j = 1 . . . m) associated to Sak is characterized by a value for each quality parameter, then the quality specificaj

tion can be identified as a point sk into the space of the pi parameter values. Therefore the satisfiability of

those available for the considered abstract service Sak . In particular, firstly we define a QoS categorization for parameter pi as set of pairs hlabel, constrainti {hli1 , γi1 i, · · · hlih , γih i}, with γi1 ∪ · · · ∪ γih = domain(pi), that defines categories on the domain of parameter pi . From a user point of view, the labels represent more abstract values for parameters and are especially suitable for more technical parameters and for not expert users that do not want to build the constraint expressions. A QoS category for Sak is defined as a set of pairs hlabel, constrainti, one pair for each parameter, that identifies a meaningful portion of the space of the quality j parameters. Each concrete service sk associated to Sak can be classified into one or more QoS categories if the values of its quality parameters belong to these categories.

j

request R is equivalent to check that sk belongs to the subspace identified by the constraints of R. If a constraint and a value on the same parameter are expressed by means of different measure units, the suitable transformation rule for that parameter is applied to permit a correct comparison. Note that, if a constraint on a parameter is not expressed, the whole range of admissible values for it is acceptable. • Request expressed as QoS category. In this case, R is expressed as QoS category chosen among

Example. Let us consider an abstract service representing Video on Demand services for sport matches. Suppose that the parameter set contains the parameters: Resolution, Cost, Accepted Credit Cards (AcceptCC). Possible QoS categorizations for these parameters are: Resolution = {(poor, {300x200, 640x480}), (good, {800x600, 1024x768})} Cost =

{(cheap, {[0.01$/hour . . .1$/hour]}),

( f air, {[1.01$/hour . . .2$/hour]}) (expensive, {[> 2$/hour]})} AcceptCC = {(standard, {Visa, MasterC}), (all, {Visa, MasterC, AmeriCard,CBC})}

A user can move along the QoS categories by specifying a label for each parameter and thus obtaining the services classified into this category. For instance, with reference to Figure 2 the user could initially choose a the QoS category < good, expensive, standard >, then examine the associated services. After this, the user can choose to search for cheaper services by changing the category into < good, f air, standard >.

5 Concluding remarks In this paper we have presented an approach for using QoS parameters in service classification and discovery. In the quality model, we have considered different sets of quality parameters to describe the QoS of each particular category of services. The proposed approach exploits these descriptions to enhance the service discovery based on user quality requirements, after a preliminary functionalitydriven search that restricted the set of services on which to perform the quality-driven search. However, at the moment we have considered only static quality parameters (quite stable in time), without dealing with dynamic aspects of quality-driven discovery of services, for example on the basis of negotiation between the service providers and the requestors. Future work will take into consideration such dynamic aspects for QoS description and discovery of services. A first attempt to consider dynamic features for the QoS can be the use of QoS parameter sets that are dynamically extensible with a mechanism very similar to the ontology inclusion, allowing updating of new quality parameters and features for a given service category. Finally, the development of a tool to support user in finding the desired services on the basis of his quality requirements (for example, a framej work for the construction of the searched service sk ) and the developing of automated tools for QoS-based comparison of services have to be addressed. The proposed techniques for service matchmaking and filtering on the basis of quality of service parameters are being experimented in the framework of the MAIS Project.

References [1] L. Baresi, D. Bianchini, V. De Antonellis, M.G. Fugini, B. Pernici, and P. Plebani. Context-aware Composition of e-services. In Proc. of Fourth VLDB Workshop on Technologies for E-Services (TES 2003),

pages 49–58, Humboldt-University zu Berlin (Germany), September 7-8 2003. [2] D. Bianchini, V. De Antonellis, and M. Melchiori. Eservice classification techniques to support discovery in a mobile multichannel environment. In Proc. of Fourth Int. Conf. on Web Information Systems Engineering (WISE 2003), Rome, Italy, December 10-12 2003. [3] X. Franch and P. Botella. Putting non-functional requirements into software architecture. In Proc. of the 9th Int. Workshop on Software Specification and Design, Ise-Shima (Isobe), Japan, April 1998. [4] S. Frolund and J. Koistinen. QML: A language for quality of service specification. Technical Report HPL-98-10, Hewlett-Packard, 1998. [5] J. Gonzalez-Castillo, D. Trastour, and C. Bartolini. Description logics for matchmaking of services. Technical report, HPL-2001-265, Hewlett-Packard, 2001. [6] Y. Hoffner, S. Field, P. Grefen, and H. Ludwig. Contract-driven creation and operation of virtual enterprises. Computer Networks, 37:111–136, 2001. [7] A.K. Jain and R.C. Dubes. Algorithms for Clustering Data. Prentice-Hall, 1988. [8] The MAIS Project Home Page. http://black.elet.polimi.it/mais/index.php. [9] A. Mani and A. Magarajan. Understanding quality of service of your Web services. IBM Developer Works, January 2002. [10] O. Mart´ın-D´ıaz, A. Ruiz-Cort´es, A. Dur´an, D. Benavides, and M. Toro. Automating the Procurement of Web Services. In Proc. of the First Int. Conf. on Service Oriented Computing (ICSOC 2003), Trento, Italy, December 15-18 2003. [11] OMG. Trading Object Service Specification. Technical Report Version 1.0, Object Management Group, 2001. [12] Shuping Ran. A Model for Web Services Discovery with QoS. In ACM SIGecom Exchange, volume 1, pages 1–10, ACM Press, New York, NY, USA, 2003. [13] A. ShaikhAli, R. Al-Ali, O. Rana, and D. Walker. UDDIe: An extended registry for web services. In Proc. of the IEEE Int. Workshop on Service Oriented Computing: Models, Architectures and Applications at SAINT Conference (IEEE Press), January 2003. [14] HP - Web Services concepts. A technical overview. http://www.bluestone.com/downloads/pdf/web services tech overview.pdf.

Suggest Documents