WITH the development of Web service technologies ,the computational grid  is rapidly evolving into aservice-oriented computing infrastructure that facilitatesresource sharing and large-scale problem solving over theInternet . The Open Grid Services Architecture (OGSA), promoted by the Open Grid Forum (OGF, http://www.ogf.org
) as a standard service-oriented architecture(SOA) for grid applications, has facilitated the evolution. Itis expected that the Web Service Resource Framework(WSRF)  will be acting as an enabling technology to drivethis evolution further. The promise of SOA is the enablingof loose coupling, robustness, scalability, extensibility, andinteroperability for large-scale grid systems.As shown in Fig. 1, various resources on the Internetincluding processors, disk storage, network links, instrumentationand visualization devices, domain applications,and software libraries can be exposed as OGSA/WSRFbasedgrid services, which are usually registered with aservice registry. A service bus building on service-orientedgrid middleware technologies such as Globus  enablesthe instantiation of grid services. A grid environment mayhost a large number of services. Therefore, service discoverybecomes an issue of vital importance in utilizinggrid facilities.Grid services are implemented as software components,the interfaces of which are used to describe their functionaland nonfunctional properties (attributes). Advertisingservices in a grid environment means that service-associatedproperties are registered with a service registry.Service discovery involves a matching process in which theproperties of a service query are matched with that of aservice advertisement.In a grid environment, service publishers may advertiseservices independently using their predefined properties todescribe services. Therefore, uncertainty of service propertiesexists when matching services. An uncertain property isdefined as a service property that is explicitly used by oneadvertised service but does not appear in another serviceadvertisement that belongs to the same service category.This can be further illustrated using Table 1. For example,property P1, which is explicitly used by service S1 in itsadvertisement, does not appear in the advertisement ofservice S2. Similarly, property P3, which is explicitly usedby service S2, does not appear in the advertisement ofservice S1. When services S1 and S2 are matched with aservice query using properties P1, P2, P3, and P4, propertyP1 becomes an uncertain property in matching service S2,and property P3 becomes an uncertain property in matchingservice S1. Consequently, both S1 and S2 may not bediscovered because of the existence of uncertainty ofproperties even though the two services are relevant tothe query.It is worth noting that properties used in serviceadvertisements may have dependencies, e.g., both P1 andP3 may be dependent properties of P2 when describingservices S1 and S2, respectively. Both S1 and S2 can bediscovered if P1 and P3 (which are uncertain properties interms of the user query) are dynamically identified andreduced in the matching process. To increase the accuracyof service discovery, a search engine should be able to dealwith uncertainty of properties when matching services.In this paper, we present ROSSE , , , : asearch engine for grid service discovery. Building on Roughsets theory , ROSSE is novel in its capability to deal withuncertainty of service properties when matching services.This is achieved by dynamically identifying and reducingdependent properties that may be uncertain propertiesZidong.Computer Societywhen matching a service query. In this way, ROSSEincreases the accuracy in service discovery. In addition,functionally matched services may have distinct nonfunctionalproperties related to the quality of service (QoS). Tomaximize user satisfaction in service discovery, ROSSEintroduces a QoS model to further filter matched serviceswith their QoS values. Finally, ROSSE is evaluated from theaspects of accuracy and efficiency in discovery of computingservices.The remainder of the paper is organized as follows:Section 2 presents the design of ROSSE with a focus ondependent property reduction (DPR). Section 3 introduces aQoS model to filter matched services with their QoS values.Section 4 briefly describes the implementation of ROSSEand gives a case study to illustrate the application of ROSSEfor discovery of computing services. Section 5 evaluates theaccuracy and efficiency of ROSSE in service discovery.Section 6 discusses some related work, and Section 7concludes the paper.
2 THE DESIGN OF ROSSEROSSE
considers input and output properties individuallywhen matching services. For the simplicity of expression,input and output properties used in a service query aregenerally referred to as service properties. The same goesfor service advertisements. Fig. 2 shows ROSSE components.The interactions between the components follow twoprocesses—service publication and service discovery.Service publication. Service publishers advertise theirservices to ROSSE through a Web user interface (step 1).Advertised services with WSDL interfaces or OWL-S interfaces are then loaded into the ROSSE Service Repository,in which the elements of services such as the namesand properties of services are registered with ROSSE(step 2). When advertising services, service publishersmay also publish service ontologies that can be defined inOWL . These OWL ontologies are then parsed by anOWL parser (step 3) and loaded into the ROSSE OntologyRepository (step 4). The ontology repository is used by aninference engine to infer the semantic relationships ofproperties when matching services.Service discovery. A user posts a service query to ROSSEvia its Web user interface (step 5). The query includes aservice category of interest and expected service properties.The query is then passed to the Irrelevant PropertyIdentification component (step 6), which accesses the ROSSEService Repository (step 7) to identify and mark theproperties of advertised services that are irrelevant to theproperties used in the service query based on the ontologiesdefined in the ROSSE Ontology Repository (step 8). Thequery is then passed to the DPR component (step 9), whichaccesses the ROSSE Service Repository to identify and markdependent properties (step 10). Upon completion, the DPRcomponent invokes the Service Similarity Computing (SSC)component (step 11), which accesses ROSSE Service Repository(step 12) to compute the match degrees of relevantproperties of advertised services to the service query. Anirrelevant property is given a match degree of zero. The SSCcomponent further computes the similarity degrees ofadvertised services to the service query using the matchdegrees of their individual properties. It should be notedthat dependent properties that may be uncertain propertiesare not involved in the similarity computing process. As aresult, the similarity degrees of advertised services will notbe affected by these uncertain properties. In this way, ROSSEcan discover the services that are most relevant to the servicequery. Up to now, advertised services are matched withtheir functional properties. As functionally matched servicesmay have distinct nonfunctional properties related to QoS,the SSC component invokes the QoS Modeling component(step 13), which in turn filters functionally matched services A layered structure of service-oriented grid systems.TABLE 1Two Service Advertisements with Uncertain Service PropertiesFig. 2. ROSSE components.with QoS values (step 14). Finally, a list of discoveredservices that are ranked with their functionally matcheddegrees is presented to a user (step 16) via the Web userinterface of ROSSE (step 15). Each of the discovered serviceshas a QoS value associated with it.In the following sections, we describe in depth theprocesses involved in service discovery in ROSSE. First, weintroduce Rough sets for service discovery.
download full report