A Method of Web Service Discovery based on Semantic Message Bipartite Matching for Remote Medical System

The number of Web services are growing at an explosive speed, which brings great challenges to the accurate, efficient and automatic retrieval of target services for users. This paper presents a service discovery method with semantic matchmaking which could be used in remote medical systems. Adding ontology related semantic annotations to service interfaces is considered, and a method of service discovery based on bipartite matching of semantic message similarity is proposed. The method is easy to implement because it is not limited to specific service model. It also contributes to the improvement of service discovery efficiency when service is retrieved in an automatic way.


Example Web Services in Remote Medical System
We motivate our automatic service discovery method through the following example.
A web service, w, has typically two sets parameters: w i = {i1, i2,…} for SOAP request (as input) and w o ={o1,o2,…} for SOAP response (as output). When w is invoked with all input parameters, w i , it returns the output parameters w o . We assume that in order to invoke w, all input parameters in w i must be provided (i.e, w i are mandatory).
2. Given the sickness type and current region, getPhysician returns the email and phone. Now, consider the following requests: 1. r1: sequential input parameters are "pleurisy, Beijing, true", and sequential output parameters are the hospital, phone and email of a doctor.
2. r2: sequential input parameters are "arthritis, Shanghai", and sequential parameters are the email and phone of a doctor.
3. r3: sequential input parameters are "arthritis, Shanghai, true", and sequential output parameters are the phone and email of a doctor. To fulfill r1, invoking the web service findDoctor is sufficient, to fulfill r2, invoking the web service getPhysician is sufficient. However to fulfill r3, it seems that either findDoctor or getPhysician is not suitable, because that the names and sequence of parameters between request and service are different. The input parameters of r3 are sickness, region and isExpert, while the input parameters of findDoctor are disease, location and isExpert. They are different literally although they have the same semantic meaning. The ordinal output parameters of r3 are phone and email, while the ordinal output parameters of findDoctor are email and phone. They are different in the sequence.
Assume only syntactic (text-based) matching among web services and requests, input of r3 could not match with input of findDoctor. Assume only sequential matching between parameters, output of r3 could not be fulfilled. So we use our method to solve WSD problem in a combine way, which using semantic message bipartite matching. Web service matching problem is transformed into a semantic message bipartite matching problem.
The semantic message bipartite matching is denoted in figure 1. It shows the matching result of output parameters between r3 and findDoctor, in which output of r3 and output of findDoctor are matched in a bipartite way. Semantic similarity of output parameters between request and service are considered and the bold lines show that O1 r matched with o2 and o2 r matched with o3. In the same way, we could get the matching result of input parameters between r3 and findDoctor, in which i 1 r , i2 r and i3 r matched with i1, i2 and i3 respectively. As far as the algorithm of semantic message bipartite matching, it would be discussed in section 4.

Related Work
Using semantic web technologies in a medical consultations domain has its obvious advantages. The traditional Web Service discovery algorithm based UDDI was dependant on the technology of keyword searching. Its efficiency and auto-discovery capability are lower. The matching Web Services returned by these algorithms were not always suitable for user's queries. The semantic Web Service discovery algorithms just can resolve those questions. Machine understandable documents are provided by the development of relevant ontology (shared vocabularies for a domain). If users commit to a particular descriptive regimentation of a domain, the data is not only available to machines for unambiguous interpretation, but widely understood by users of the data.
Much of the recent research has focused on remote medical consultations based on Service-Oriented Architectures and Web service technologies. But only a few researches study on semantic service discovery in remote medical consultations, now they are described as follows.
Nigel Shadbolt develops an application for the MIAKT project to provide support for medical decision making [10]. It is built around a novel distributed architecture which uses web-based services to provide discrete and disparate functionality to a generic client application. Automatic service discovery is supported through the use of remote service repositories and description mining. Available services are automatically mapped to tasks in the task invocation system, thereby publishing them for use to the client application. Services are automatically inserted into the generic client application by examining their input and output roles. Nadine Fröhlich presents the CASCOM agent-based approach to semantic service discovery and coordination [4]. The main objective of CASCOM was to develop, implement, validate, and trial of intelligent, context-aware agentbased service coordination infrastructure for innovative Semantic Web service discovery, composition, and execution across mobile and fixed peer-to-peer service networks. The CASCOM architecture has been extensively evaluated using an emergency assistance application in mobile eHealth environment. The evaluation of the system within the challenging emergency assistance healthcare domain indicated that it can be efficiently used in practical settings and provided valuable feedback for further improvement.
Cesar Caceres focuses on service discovery for medical-emergency management [3]. A new mechanism for semantic service discovery complements existing approaches by considering relevant parts of the organizational context in which e-health services are used, to improve system usability in emergencies. This approach is reusable in other application areas, especially in the medical field.
The approach to automatic Web Service discovery of Glue is described by Emanuele Della Valle describe and Dario Cerizza [12]. COCOON Glue is a prototype of WSMO Discovery engine for the healthcare field. In WSMO, goals and Web Services can be annotated using different ontologies and the relationships between them can be captured by the mean of wgMediators. This approach is similar to an early work on OWL-S, in which the service discovery problem is formulated as a rewriting problem where requests are attempted to be rewritten in terms of available services, but it takes a much easier approach in coding the matching rules directly in the wgMediator. Applying WSMO in the healthcare field is that the clear separation between the ontologies used by each entity simplifies and speeds up the gathering of consensus, which is always difficult to reach in large groups, and especially in healthcare field.
ARTEMIS [2] is a European Commission supported STREP project in the 6th Framework program that aims to provide the interoperability of medical information systems through semantically enriched Web services [13]. ARTEMIS aims to develop a semantic Web Services based interoperability framework for the healthcare domain. ARTEMIS has a peer-to-peer architecture in order to facilitate the discovery of healthcare web services. In ARTEMIS, healthcare institutes are represented as peers. ARTEMIS peers provide interfaces to the healthcare information systems to enable them to discover and consume the Web services provided by the other peers.
This paper focuses on the discovery method with semantic matchmaking which could ease the way to use UDDI registered Web services. The core of the method is to consider the Web service matching problem as a semantic message bipartite matching problem. Later an algorithm of service discovery based on bipartite matching of semantic message similarity is proposed, which can fully use the semantic information of the interfaces of Web services. The method is easy to implement because of using WSDL standard instead of some specific service languages or models.
The remainder of the paper is organized as follows. In Section 4, a method of Web service discovery based on semantic message bipartite matching is introduced. In section 5 we conduct experiments to validate the efficiency of our service discovery method. In Section 6, we summarize our work and discuss future work.

Web Service Discovery Method Based on Semantic Message Bipartite Matching
In this section a method of Web service discovery based on semantic message bipartite matching is introduced. We first outline our approach of adding semantics in WSDL and UDDI. Then we present Basic Definitions for the service discovery. Thereafter, we discuss our semantic discovery algorithm. The method proposes the following phases: 1. Adding Semantic Annotations

Matching Between Web Service and User Query
Each phase within the framework is briefly described in the following subsections. Experiments used to demonstrate this method is in the following section.

Adding Semantic Annotations
We added semantic annotations to WSDL and UDDI to achieve sufficient expressiveness to automate the discovery process. Our approach involves relating concepts in WSDL to anthologies in Web service description and then providing an interface to UDDI that allows querying based on ontological concepts.
Web Services are described using WSDL descriptions, which provide operational information. Since operation name and message parts are key parts for Web service matching, we only add semantics to operation name, input and output parameters of operations. An omitted WSDL file shown in figure 2 represents a sample Web service and has an operation for getting consultations of a patient. In figure 2, the operation ByPatientID is mapped to ontological concepts ConsultationQuery, using the attribute operation-concept. In figure 2, the operation input message ByPatientIDSoapIn and operation output message BypatientIDSoapOut are mapped to ontological concepts id and consultation respectively. This allows users to search for operations based on ontological concepts.  The approach to store the mapping between operations and ontological concepts in UDDI is similar to the one suggested by [11].During a Web service publication, ontological concepts representing operations and their message parts of the WSDL descriptions of the Web service are stored using UDDI structures, tModels and CategoryBags.

Basic Definitions
Discovery of Web service is actually a matching between user query and published Web service descriptions. With semantic annotations being added to WSDL and UDDI, we give basic definitions of Web service, operation of service and user query as follows: Note that I∪O is a set of input parameters, output parameters and data types.
Since data types used in message parts of Web service are usually very normal such as Integer, String, Date etc, and data type could be usually transformed from one to another as needed, and it is not difficult to tell out the type of given data by the message semantic annotations. In this paper, service matching is based on the name of semantic messages, while not considering the data type.
For e I O ∀ ∈ ∪ of the operations is related to an ontological concept, and n is related to an ontological concept too. of user query is related to an ontological concept, as well as n.

Matching of Web Service and User Query
Generally, a Web service includes a set of operations. We believe that as long as one of the operations is suited to the user query, the Web service is the suitable service. So problem that matching of Web service and user query could be transformed to matching of operations and user query. Only when p and r has the same ontological concept in operation name and sim(p,r)≥λ, then p is the suitable operation for the r.
And sim(p,r) represents the integrated similarity of inputs matching and outputs matching between p and r. Step 1 show that if the number of outputs of operation IOI is less than the number of outputs of user query IO r I, the result is 0, i.e. the operation is not suitable for the query. The same result returned when the number of inputs of operation IⅠI is greater than the number of outputs of query IⅠ r I.
Step 2 get the max sum of similarity values in outputs matching ∑Sim(o r ,o).
Step 3 get the max sum of similarity values in inputs matching ∑Sim(i,i r ).
The Step2 and Step3 use the same algorithm with different parameter orders. In Step 2, outputs of user query match outputs of operation, o r →o. In step 3, inputs of operation match inputs of user query, i→i r .
In step 4, a and b are coefficient used in outputs matching and inputs matching respectively, a+b=1, and they can be changed as needed.

Semantic Message Bipartite Matching
In order to ensure that the Web service could meet all the desired outputs of the user query and user could provide all the inputs that an operation needed. The match between p and r should be: all the outputs of r match with all the outputs of p, and all the inputs of p match with all the inputs of r.
From figure 3 we can see that when the max dispersion of parameters set size between service and query is zero, the recall rate is the same whether or not using bipartite matching method. With the dispersions increased one by one, the recall rate is not affected with bipartite matching and the recall rate dropped rapidly with no bipartite matching. The recall rate with bipartite matching is much higher especially when the dispersion is greater than 1. As far as precision, it improved only a little by using the bipartite matching.

Conclusions and Future Work
Existing Web service specifications and protocols are limited to the syntactic level, which cannot express semantic information, thus limiting the dynamic discovery ability of Web services. This paper proposes a discovery method with semantic matchmaking which could ease the way to use UDDI registered Web services in remote medical systems. Extending WSDL by adding ontology related semantics which are mapped to necessary operation interfaces of Web services, this method is easy to implement because of using WSDL standard instead of some specific service languages or models. Then a method of service discovery based on bipartite matching of message semantic similarity is proposed. The experiments illustrates that the method improves the efficiency in service discovery, and gets fine scalability. It is conclusive that it contributes to the improvement of service discovery efficiency when service is retrieved in an automatic way.