Service Matchmaking with Rough Sets - Semantic Scholar

8 downloads 185405 Views 285KB Size Report
that a future Grid environment may therefore host a ... Semantic Web [7], services can be annotated with metadata for ... ontology for encoding properties of Web services. OWL-S ..... matchmaking has the best performance in accessing service ...
Service Matchmaking with Rough Sets Maozhen Li, Bin Yu, Chang Huang and Yong-Hua Song Electronic and Computer Engineering, School of Engineering and Design Brunel University, Uxbridge, UB8 3PH, UK {Maozhen.Li, Bin.Yu, Chang.Huang, Y.H.Song}@brunel.ac.uk

Omer.F.Rana School of Computer Science, Cardiff University Cardiff, CF24 3AA, UK [email protected]

Abstract With the wide adoption of Open Grid Services Architecture (OGSA) and Web Services Resource Framework (WSRF), the Grid is emerging as a service-oriented computing infrastructure for engineers and scientists to solve data and computationally intensive problems. It is envisioned that computing resources in a future Grid environment will be exposed as services. Service discovery becomes an issue of vital importance for a wider uptake of the Grid. This paper presents RSSM, a Rough Sets based service matchmaking algorithm for service discovery with an aim to tolerate uncertainty in identifying service properties. The evaluation results show that the RSSM algorithm is more effective in service discovery compared with other mechanisms such as UDDI and OWL-S.

Discovered services can either be used by Grid applications or they can be composed into composite services using workflow languages such as BPEL4WS [5]. UDDI [6] has been proposed as an industry standard for Web service publication and discovery. However, the search mechanism supported by UDDI is limited to keyword matches. With the development of Semantic Web [7], services can be annotated with metadata for enhancement of service discovery. The complexity of this metadata can range from simple annotations, to the representation of more complex relationships between services based on first order logic.

1. Introduction With the wide adoption of Open Grid Services Architecture (OGSA) [1] and Web Services Resource Framework (WSRF) [2], the Grid [3, 4] is emerging as a service-oriented computing infrastructure for engineers and scientists to solve data and computationally intensive problems. It is envisioned that a future Grid environment may therefore host a large number of services exposing resources such as applications, software libraries, CPUs, disk storage, network links, instruments and visualisation devices. As can be seen from Figure 1, service discovery plays a crucial role in service-oriented Grid systems.

Figure 1. A layered structure for service-oriented Grids. One key technology to facilitate this semantic match of services is OWL-S [8], an OWL [9] based ontology for encoding properties of Web services. OWL-S ontology defines a service profile for encoding a service description, a service model for specifying the behavior of a service, and a service grounding for

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

how to invoke the service. Typically, a service discovery process involves a matching between the profile of a service advertisement and the profile of a service request using domain ontologies described in OWL. The service profile not only describes the functional properties of a service such as its inputs, outputs, pre-conditions, and effects (IOPEs), but also non-functional features including service name, service category, and aspects related to the quality of a service. Besides OWL-S, another prominent effort on Semantic Web services is WSMO [10], which is built on four key concepts – ontologies, standard WSDL based Web services, goals, and mediators. WSMO stresses the role of a mediator in order to support interoperation between Web services. However, one challenging work in service discovery is that service matchmaking should be able to tolerate uncertain properties in matching service advertisements with service requests. This is because in a large-scale heterogeneous system such as the Grid, service publishers and requestors may use their predefined properties to describe services, e.g. in the form of OWL-S or WSMO. For a property used in one service advertisement, it may not be used by another service advertisement within the same service category. As can be seen from Table 1, the property P1 used in service S1 may not exist in S2. Similarly, the property P3 used in service S2 is an uncertain property in S1.

2. Algorithm Design RSSM considers input and output properties individually when matching services. For the simplicity of expression, input and output properties used in a service request are generally referred to as service request properties. The same goes to service advertisements. Figure 2 shows RSSM components for service matchmaking. The Irrelevant Property Reduction component takes a service request as an input (step 1), and then it accesses a set of advertised domain services (step 2) to remove irrelevant service properties using the domain ontology (step 3). Reduced properties will be marked in the set of advertised domain services (step 4). Once invoked (step 5), the Dependent Property Reduction component accesses the advertised domain services (step 6) to discover and reduce dispensable properties which will be marked in advertised domain services (step 7). Invoked by the Dependent Property Reduction component (step 8), the Service Matching and Ranking component accesses the advertised domain services for service matching and ranking (step 9), and finally it produces a list of matched services (step 10).

Table 1. Two service advertisements belonging to one service category. services S1 S2

property P1

property P2 P2

property P3

In this paper, we present RSSM, a Rough Sets [11] based service matchmaking algorithm for service discovery with an aim to tolerate uncertain properties. Experiment results show that the algorithm is more effective for service matchmaking than UDDI and OWL-S mechanisms. The remainder of this paper is organized as follows. Section 2 presents in depth the design of the RSSM matchmaking algorithm. Section 3 compares the RSSM matchmaking with UDDI and OWL-S mechanisms in terms of effectiveness and overhead in service discovery. Section 4 gives some related work on service discovery. Section 5 concludes this paper and presents future work.

Figure 2. RSSM components. In the following sections, we describe in depth the design of RSSM components. Firstly, we introduce Rough Sets for service discovery.

2.1 Service Discovery with Rough Sets Rough sets theory is a mathematic tool for knowledge discovery in databases. It is based on the concept of an upper and a lower approximation of a set as shown in Figure 3. For a given set X , the yellow grids (lighter shading) represent its upper

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

approximation, and the green grids (darker shading) represent its lower approximation.

Let ƒ ƒ ƒ

Ω be a domain ontology. U be a set of N advertised domain services, U = {s1 , s 2 ,, s N } , N ≥ 1 . P be a set of K properties used to describe the N advertised services of the set U , P = { p1 , p2 ,  , p K } , K ≥ 2 .

The use of “definitely”, “possibly” and “absolutely” are used to encode properties that cannot be specified in a more exact way. This is a significant addition to existing work, where discovery of services needs to be encoded in a precise way, making it difficult to find services which have an approximate match to a query.

2.2 Reducing Irrelevant Properties When searching for a service, a service requestor may use some properties irrelevant to the properties used by a service publisher in terms of a domain ontology. These irrelevant properties used by advertised services should be removed before the service matchmaking process is carried out. Let p R be a property for a service request. ƒ ƒ

p A be a property for a service advertisement.

Following the work proposed by Paolucci et al. [12], we define the following relationships between p R and p A :

Figure 3. Approximation in rough sets.

ƒ

PA be a set of M advertised service properties relevant to a service request R in terms of the domain ontology Ω , PA = { p A1 , p A2 ,  , p AM } , PA ⊆ P , M ≥ 1 . X be a set of advertised services relevant to the service request R , X ⊆ U . X be the lower approximation of the set X .

ƒ

X be the upper approximation of the set X .

ƒ

ƒ

According to the Rough Sets theory, we have

X = {x ∈U : [ x]P ⊆ X }

(1)

X = {x ∈U : [x]P  X ≠ ∅}

(2)

A

ƒ

exact match, p R and p A are equivalent or

ƒ ƒ

p R is a subclass of p A . plug-in match, p A subsumes p R . subsume match, p R subsumes p A .

ƒ

nomatch, no subsumption between p R and

pA . Algorithm 1. Reducing irrelevant properties from advertised services. 1: for each property p A used in advertised domain services 2: for all properties used in a service request 3: if p A is nomatch with any pR 4: then pA is marked with nomatch; 5: end if 6: end for 7: end for

A

For a property p ∈ PA , we have ƒ

∀x ∈ X , x definitely has property p .

ƒ

∀x ∈ X , x possibly has property p .

ƒ

∀x ∈U − X , x absolutely does not have property p .

For each property of a service request, we use the reduction algorithm as shown in Algorithm 1 to remove irrelevant properties from advertised services. For those properties in advertised services that have a nomatch result they will be treated as irrelevant properties. Advertised services are organised as service records in a database. Properties are organised in such

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

a way that each uses one column to ensure the correctness in the following reduction of dependent properties. As a property used by one advertised service might not be used by another advertised service, some properties may have empty values. A property with an empty value in an advertised service record becomes an uncertain property in terms of a service request. If a property in an advertised service record is marked as nomatch, the column associated with the property will be marked as nomatch. As a result, all properties within the column including uncertain properties (i.e. properties with empty values) will not be considered in service matchmaking.

The Dependent Property Reduction component uses the algorithm as shown in Algorithm 2 to find the decisive properties used by advertised services. Algorithm 2 uses the advertised services with the maximum number of nonempty property values as targets to find indecisive properties. The targeted services can still be uniquely identified without using these indecisive properties. All possible combinations of individual indecisive properties will be checked with an aim to remove the maximum indecisive properties which may include uncertain properties whose values are empty. In the mean time, the following service discovery process can be speeded up because of the reduction of properties in matching advertised services.

2.3 Reducing Dependent Properties Property reduction is an import concept in Rough Sets. Properties used by an advertised service may have dependencies. Dependent properties are indecisive properties in matching advertised services.

Algorithm 2. Reducing dependent properties from advertised services. S is a set of advertised services with the maximum number of nonempty property values relevant to a service request; PA is a set of properties used by the S set of advertised services; PAD is a set of decisive properties, PAD ⊆ PA; PAIND is a set of individual indecisive properties, PAIND ⊆ PA ;

Let

PAIND_Core is a set of combined indecisive properties, PAIND_Core ⊆ PAIND;

ƒ

Ω , U , P , PA be defined as in Section 2.1.

ƒ

PAD be a set of LD decisive properties for identifying advertised services relevant to the service request R in terms of Ω , D PAD = { p AD1 , p AD2 ,, p AL } , PAD ⊆ PA , D

ƒ

LD ≥ 1 . PAIND be a set of LIND indecisive properties for identifying advertised services relevant to the service request R in terms of Ω , IND IND PAIND = { p AIND 1 , p A 2 ,  , p ALIND } ,

P ⊆ PA , LIND ≥ 1 . IND() be an indiscernibility relation. f be a mapping function from a property to an IND A

ƒ ƒ

advertised service. Then IND (PAIND ) = {( x, y) ∈U : ∀p AiIND ∈ PAIND , f ( x, p AiIND ) = f ( y, p AiIND )}

PAD = PA − PAIND

5:

PAD = Ø; PAIND = Ø; PAIND_Core = Ø; for each property p∈ PA if p is an indecisive property for identifying the S set of services then add p into PAIND; PAIND_Core = Ø;

6: 7: 8: 9:

add p into PAIND_Core; end if end for for i=2 to sizeof(PAIND)-1

1: 2: 3: 4:

10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:

calculate all possible i combinations of the properties in P AIND; if any combined i properties are indecisive properties for identifying the S set of services then PAIND_Core = Ø; add the i properties into PAIND_Core; continue; else if any combined i properties are decisive properties then break; end if end for PAD = PA-PAIND_Core; return PAD;

(3)

2.4 Service Matching and Ranking (4)

The Service Matching and Ranking component uses the decisive properties received from the Dependent Property Reduction component to match and rank advertised services in terms of a service request.

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

Let

ƒ

Ω , U , P , PA be defined as in Section 2.1. PR be a set of M properties used in a service request R . PR = { p R1 , p R 2 ,  , p RM } , M ≥ 1 .

ƒ

PAD be a set of LD decisive properties for

ƒ

identifying advertised services relevant to the service request R in terms of Ω , D PAD = { p AD1 , p AD2 ,, p AL } , LD ≥ 1 . D

ƒ

requested service property PRi and an advertised property

PAj

in

terms

of

Ω,

p Ri ∈ PR , 1 ≤ i ≤ M , p Aj ∈ PAD , 1 ≤ j ≤ LD . ƒ

v( p Aj ) be a value of the property

p Aj ,

p Aj ∈ PAD , 1 ≤ j ≤ LD . ƒ

S ( R, s) be a similarity degree between an advertised service s and the service request R , s ∈U .

Algorithm 3 shows the rules for calculating a match degree between a requested service property and an advertised service property. A decisive property with an empty value has a match degree of 50% when matching all the properties used by a service request. An advertised service property will be given a match degree of 100% if it has an exact match relationship with a property used by a service request. An advertised service property will be given a match degree of 50% if it has a plug-in relationship with a service request property and the relationship is out of five generations. Similarly, an advertised service property will be given a match degree of 50% if it has a subsume relationship with a service request property and the relationship is out of three generations. Each decisive property used for identifying advertised services has a maximum match degree when matching all the properties used in a service request. S ( R, s) can be calculated using formula (5).

LD

S ( R, s ) = ∑ j =1

M

∑ max(m( p

Ri

Algorithm 3. Rules for calculating match degrees between requested service properties and advertised service properties. 1: for each property pAj ∈

m( p Ri , p Aj ) be a match degree between a service

Using the formula (5), each advertised service has a similarity degree in terms of a service request. In the following section, we discuss how to use the similarity degrees to produce a set of advertised services that may maximally satisfy a user request.

, p Aj )) LD (5)

2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

PAD, v(pAj) ≠ NULL for each property pRi ∈ PR if pAj is an exact match with pRi then m(pRi, pAj) = 1; else if pAj is a plug-in match with pRi then if pRi is the kth subclass of pAj and 2≤k≤5 then m(pRi, pAj) = 1-(k-1)×10%; else if pRi is the kth subclass of pAj and k>5 then m(pRi, pAj) = 0.5; end if else if pAj is a subsume match with pRi then if pAj is the kth subclass of pRi and 1≤k≤3

12:

then m(pRi,

13:

pAj) = 0.8-(k-1)×10%;

14:

else if pAj is the kth subclass of pRi and k>3

15: 16: 17: end if 18: end for 19: end for

then m(pRi, end if

pAj) = 0.5;

20: for each property p Aj ∈ 21:

PAD, v(pAj) = NULL for each property pRi ∈ PR m(pRi, pAj) = 0.5;

22: 23: end for 24: end for

Let ƒ

ƒ ƒ

ƒ

i =1

ƒ

S ( R, s) be a similarity degree between an advertised service s ∈ U and a service request R. X be a set of matched advertised services in terms of the service request R , s ⊆ U . X be the lower approximation of X . For an advertised service s ∈ X , s definitely satisfies the service request R . X be the upper approximation of X . For an advertised service s ∈ X , s possibly satisfies the service request R . ρ be an approximation rate,

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

ρ=

|X| , 0 ≤ ρ ≤ 1. |X|

ƒ

X 1 be a set of advertised services of which for each s ∈ X 1 , S ( R , s ) = 1 .

ƒ

X 2 be a set of advertised services of which for each s ∈ X 2 , 0.5 ≤ S ( R, s ) < 1 .

Then according to formula (1) and (2), we have

X ={

X1 X ⊆ X2 : | X| = | X2| × ρ

X = { X12 X

| X1| >0 |X1|=0

| X1| >0 | X1| =0

3. Experimental Results We have implemented the RSSM algorithm using Java on a Pentium IIII 2.6G with 512M RAM running Red Hat Fedora Linux 3. jUDDI [13] and mySQL [14] were used to build a UDDI registry. We designed Pizza services for the tests using the Pizza ontology defined by http://www.co-ode.org/ontologies/pizza/pizza_20041007.owl. Each Pizza service had two input properties (i.e., topping and taste) and two output properties (i.e. price and pizza). The topping could be MushroomTopping or TomatoTopping, and the taste could be hot. The pizza could be Margherita or Rosa. The approach adopted here can be applied to other domains – where a specific ontology can be specified. The use of service properties need to be related to a particular applicationspecific ontology. In the following sections, we evaluate the RSSM algorithm in terms of its effectiveness and overhead in service discovery. We compare RSSM matchmaking with UDDI and the OWL-S matchmaking proposed by Paolucci et al. [12]. RACER [15] was used by the OWL-S algorithm to reason the relationship between an advertised service property and a requested service property. We implemented a simple reasoning component in RSSM to overcome the high overhead incurred by RACER.

3.1 Effectiveness in Service Discovery We have performed four groups of tests to evaluate the effectiveness of RSSM in service discovery. Each group had some targeted services to be discovered. Properties such as ChillyTopping, hot, ham and price

were used by the advertised services. Table 2 shows the evaluation results. In the tests conducted for group one, both the OWLS matchmaking and RSSM matchmaking have a correct match rate of 100%. This is because all services in this group do not have uncertain properties (i.e. properties with empty values). UDDI discovers four services, but only two services are correct because of the use of keyword matching (in this case making use of a categoryBag). In the tests of the last three groups where advertised, services have uncertain properties, the OWL-S matchmaking cannot discover any services producing a matching rate of 0%. Although UDDI can still discover some services in the tests of the last three groups, the correct matching rate for each group is low. For example, in the tests of group three and group four where advertised services have only 50% and 30% certain properties respectively, UDDI cannot discover any correct services. The RSSM matchmaking is more effective than UDDI and the OWL-S matchmaking in tolerating uncertain properties when matching services. For example, the RSSM matchmaking is still able to produce a correct match rate of 100% in the tests of the last three groups. Table 2. The results of effectiveness evaluation. UDDI Service Property

Keyword Matchmaking

OWL-S

RSSM

Matchmaking

Matchmaking

Certainty

Correct

Matched

Correct

Matched

Correct

Rate

Matching

Service

Matching

Service

Matching

Service

Rate

Records

Rate

Records

Rate

Records

100%

50%

4

100%

3

100%

3

70% 50% 30%

33.3% 0% 0%

3 1 1

0% 0% 0%

0 0 0

100% 100% 100%

1 1 1

Matched

3.2 Overhead in Service Discovery We have registered 10,000 Pizza service records in a database for testing the overhead of the RSSM matchmaking. We compare the overhead of the RSSM matchmaking with that of UDDI and the OWL-S matchmaking respectively in service matching as shown in Figure 4. We also compare their performance in accessing service records as shown in Figure 5. From Figure 4 we can see that UDDI has the least overhead in service matching services. This is because UDDI only supports keyword matching. It does not reason about the relationships between requested

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

service properties and advertised service properties which is a time consuming process. We also observe that the RSSM matchmaking has a better performance than the OWL-S matchmaking when the number of advertised services is within 5500. This is because the RSSM matchmaking used a simpler reasoning component than RACER, which was used by the OWL-S matchmaking. However, the overhead of the RSSM matchmaking increases when the number of services gets larger, due to the reduction of dependent properties. The major overhead of the OWL-S matchmaking is caused by RACER, which is sensitive to the number of properties used by advertised services instead of the number of services.

Figure 4. Overhead evaluation in matching services. From Figure 5 we can see that the RSSM matchmaking has the best performance in accessing service records due to its reduction of dependent properties. The OWL-S matchmaking has a similar performance to UDDI in this process.

Figure 5: Overhead evaluation in accessing service records.

4. Related Work Service matchmaking is becoming an issue of vital importance as the Grid is moving towards a serviceoriented computing infrastructure. UDDI has been proposed to support service publication and discovery. However, the search mechanism supported by UDDI is limited to keyword matches and does not support any inference based on the taxonomies referred to by the tModels. There is also current work in implementing a service registry based on extensions to UDDI, called GRIMOIRES [23]. This has recently been released by the Open Middleware Infrastructure Institute (OMII) in the UK, and we plan to evaluate the use of this alongside our approach in the future.Various extensions [16,17,18] have been proposed to complement UDDI with rich descriptions and powerful match mechanisms in support of service discovery. Among the extensions, the UDDI-M approach [18] is flexible in attaching metadata to various entities associated with a service, but this approach assumes the properties used by the two service advertisements and requests are consistent. Semantic Web service technologies such as OWL-S and WSMO have been proposed to enhance service discovery with semantic annotations. However, the classical OWL-S matching algorithm [12] cannot tolerate uncertain properties in matching advertised services with service requests. This work has been extended in various way in applying Semantic Web services for service discovery, e.g. Jaeger et al. [19] introduce “contravariance” in matching inputs and outputs between service advertisements and service requests using OWL-S, Li et al. [20] introduce a “intersection” relationship between a service advertisement and a service request, Majithia et al. [21] introduce reputation metrics in matching services. However, these OWL-S based methods still cannot deal with missing (uncertain) properties. WSMO introduces mediators trying to support distinct ontologies employed by service requests and service advertisements. However, the discovery mechanism [22] proposed in WSMO requires that properties used by both the goals and services should be consistent. Compared with the work mentioned above, the RSSM matchmaking can tolerate uncertain properties in matching services. It takes all advertised services belonging to one service category into one search space to dynamically identify and reduce irrelevant and dependent properties which may be uncertain properties in terms of a service request.

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE

5. Conclusions and Future Work In this paper we have presented RSSM, a Rough Sets based algorithm for service matchmaking. By dynamically reducing irrelevant and dependent properties in terms of a service request, the RSSM algorithm can tolerate uncertain properties in service discovery. Furthermore, RSSM uses a lower approximation and an upper approximation of a set to dynamically determine the number of discovered services which may maximally satisfy user requests. Experimental results have shown that the RSSM algorithm is effective in service matchmaking. Currently the RSSM algorithm requires service advertisements and service requests should share the same ontology. However, it has a potential capability to support distinct ontologies because of its tolerance of uncertainty in the description of properties. As long as there are some intersections between properties associated with two services (perhaps because they make use of an ontology that is common), the RSSM algorithm could dynamically identify decisive properties for matching services. As the reduction of dependent properties is a time consuming process, another future work will be focused on the design of a parallel algorithm for reducing dependent properties to speed up the process. Furthermore, non-functional properties, may also be considered in the same way with the RSSM algorithm for service matchmaking. Such non-functional properties may also be encoded as part of a service description.

References [1] Open [2] [3] [4] [5]

[6] [7] [8]

Grid Services Architecture (OGSA), http://www.globus.org/ogsa/ Web Services Resource Framework (WSRF), http://www.globus.org/wsrf/ I. Foster and C. Kesselman, The Grid, Blueprint for a New Computing Infrastructure, Morgan Kaufmann Publishers Inc., San Francisco, USA, 1998. M. Li and M.A.Baker, The Grid: Core Technologies, Wiley, 2005. F. Curbera, Y. Goland, J. Klein, F. Leyman, D. Roller, S. Thatte, and S. Weerawarana, Business Process Execution Language for Web Services(BPEL4WS) 1.0, August 2002. Universal Description, Discovery and Integration (UDDI), http://www.uddi.org/ T. Berners-Lee, J. Hendler, and O. Lassila. The Semantic Web. Scientific American, Vol. 284 (4), pages 34-43, 2001. OWL Services Coalition, OWL-S: Semantic Markup for Web Services, white paper, Nov. 2003; www.daml.org/services/owl-s/1.0.

[9] S. Bechhofer, F. Harmelen, J. Hendler, I. Horrocks, D. McGuinness, P. F. Patel-Schneider, and L. A. Stein. OWL Web Ontology Language Reference. W3C Recommendation, Feb. 2004. [10] Web Service Modeling Ontology (WSMO), http://www.wsmo.org [11] Z. Pawlak. Rough sets. International Journal of Computer and Information Science, 11(5):341-356, 1982. [12] M. Paolucci, T. Kawamura, T. Payne, , and K. Sycara. Semantic matching of web service capabilities. Proceedings of 1st International Semantic Web Conference. (ISWC2002), Berlin, 2002. [13] jUDDI, http://ws.apache.org/juddi/ [14] mySQL, http://www.myswl.com [15] V. Haarslev and R. Möller. Description of the RACER System and its Applications. Proceedings International Workshop on Description Logics (DL-2001), Stanford, USA. [16] A. ShaikhAli, O. F. Rana, R. J. Al-Ali, D. W. Walker: UDDIe: An Extended Registry for Web Service. Proceedings of SAINT Workshops, Orlando, Florida, USA, 2003. [17] A. Powles, S. Krishnaswamy. Extending UDDI with Recommendations: An Association Analysis Approach. Proceedings of WSMDEIS 2005, Miami, USA. [18] S. Miles, J. Papay, V. Dialani, M. Luck, K. Decker, T. Payne, and L. Moreau. Personalised Grid Service Discovery. IEE Proceedings Software: Special Issue on Performance Engineering, 150(4):252-256, August 2003. [19] M. C. Jaeger, G. Rojec-Goldmann, G. Mühl, C. Liebetruth, and K. Geihs. Ranked Matching for Service Descriptions using OWL-S. Proceedings of KiVS 2005, Kaiserslautern, Germany, Feb. 2005. [20] L. Li and I. Horrocks. A software framework for matchmaking based on semantic web technology. Int. J. of Electronic Commerce, 8(4):39-60, 2004. [21] S. Majithia, A. S. Ali, O. F. Rana, D. W. Walker: Reputation-Based Semantic Service Discovery. Proceedings of WETICE 2004, Italy. [22] U. Keller, R. Lara, A. Polleres, I. Toma, M. Kifer, and D. Fensel, WSMO Web Service Discovery, http://www.wsmo.org/2004/d5/d5.1/v0.1/20041112/d5.1 v0.1_20041112.pdf [23] L. Moreau, Grid RegIstry with Metadata Oriented Interface: Robustness, Efficiency, Security (GRIMOIRES). http://www.grimoires.org/, 2005.

Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06) 0-7695-2585-7/06 $20.00 © 2006 IEEE