A semantic overlay for service discovery across Web Information Systems ⋆ Devis Bianchini, Valeria De Antonellis, Michele Melchiori and Denise Salvi Universit` a di Brescia Dip. Elettronica per l’Automazione Via Branze, 38 25123 Brescia - Italy bianchin|deantone|melchior|
[email protected]
Abstract. Nowadays many collaborative organizations require advanced semantic interoperability tools to enable cooperation and communication across distributed Web Information Systems (WIS). Adopting the service oriented technology, they have improved interoperability at the application level by using services for WIS functionalities provisioning. Furthermore, in order to support effective peer-to-peer collaboration, they require semantic interoperability techniques for service discovery and sharing. In this paper, we focus on semantic interoperability issues for distributed collaboration and provide techniques for building a service semantic overlay, across heterogeneous WIS. In particular, semantic links among peers that offer comparable services in a given domain are defined and maintained over the time. The service semantic overlay is ontologybased for formally organizing the shared services to enhance the capability of service interchange and interoperation among the collaborative systems. The approach and prototype have been proposed to demonstrate practical benefits in the framework of the ESTEEM (Emergent Semantics and cooperaTion in multi-knowledgE EnvironMents) project.
1
Introduction
Nowadays many collaborative organizations require advanced semantic interoperability tools to enable cooperation and communication across distributed Web Information Systems (WIS). Methods and tools devoted to the interconnection of the systems according to a peer-to-peer approach have enabled collaboration at the technological level. Adoption of service oriented technology has improved interoperability at the application level by using services for WIS functionalities provisioning. Furthermore, in order to support effective peer-to-peer collaboration, they require semantic interoperability techniques for service discovery and sharing. We focus on the application level and, specifically, provide techniques ⋆
This work has been partially supported by the ESTEEM PRIN Project (http://www.dis.uniroma1.it/∼esteem/index.html) and TEKNE FIRB Project (http://www.tekne-project.it/), funded by the Italian Ministry of Education, University and Research.
for service analysis and organization in order to build a service semantic overlay, across heterogeneous Web Information Systems, by means of semantic links among peers offering comparable services (semantic neighbors). For service analysis and automated matchmaking, we have already proposed the fc(Functional Comparison)-match approach characterized by a novel hybrid matchmaking and discovery environment [7]. In this paper, we propose a P2P-based Semantic Driven Service Discovery (P2P-SDSD) approach, where an ontological framework supports the service semantic overlay construction, devoted to the definition and maintenance of semantic links among services belonging to different peers. Semantic links between two service specifications are computed with respect to the service interfaces, described in terms of the entities exchanged with the service during its execution (input and output parameters) and the operations performed on these entities. Two services are similar with respect to their functionality if they perform the same or similar operations on the same or similar entities. Following this perspective, we have defined an ontology-based approach to establish semantic links between services belonging either to a single peer (intra-peer semantic links) or to different peers (inter-peer semantic links); in this way it is possible to identify possible synergic service centres over the network. Each peer maintains semantic links of interest (preferential semantic links, selected according to threshold based criteria) together with local service descriptions. When a peer receives a service request, semantic links are exploited to optimize local search within a single peer and distributed search of possible candidate services over the P2P network. Contributions of this work are: the development of techniques for semantic link definition and organization without heavily affecting the P2P network workload; their exploitation process, according to optimization policies, to support effective and efficient service discovery in the collaborative scenario. The approach descrided in this paper is part of the ESTEEM project [14], where peers of a P2P network are organized in semantic communities to improve contextaware and trust-based data and service discovery. The paper is organized as follows: Section 2 introduces the considered application scenario; Section 3 describes the ontology-based framework for service semantic overlay management; Section 4 illustrates the service discovery process based on the semantic overlay; Section 5 presents some experimental results; Section 6 discusses related work and points out some differences with our approach; finally, Section 7 presents concluding remarks and future work.
2
Application scenario
Let’s consider a community of peers in a given application domain which aim at providing and retrieving services. In our vision, each service has an abstract description (abstract service) in terms of service functionalities (operations) and input/output messages (parameters), based on the WSDL standard. For each abstract service, a set of concrete implementations are provided on the network. Two distinct peers could register the same abstract service, for which different
implementations could be provided, or they could advertise different abstract services that could partially overlap. When a peer is looking for a service, it formulates the service request by specifying the expected functional interface and sends the request to one of the peers of the community. According to this vision and to the service-oriented paradigm, each peer can play three different roles: (i) it can store abstract services and references to corresponding concrete implementations (broker); (ii) it can publish on a broker of the community the implementation of a service, described by its functional interface (provider); (iii) it can look for a service (requester). When a peer joins the collaborative community, it can act both as a broker/provider or a requester. When a peer PX joins the community site, it obtains the list of brokers’ IP currently available in the community and starts to contact them. When a broker PY replies, PX can be connected to it. If PX is a provider, it publishes its services on broker PY and waits for a request to serve. If PX is a requester, it sends a request to the broker PY and waits for the answer. Finally, if PX is a broker in the community, it is connected to PY , from which it receives a list of brokers known by PY through a shuffling-based mechanism [16] carried out by technological level, that allows more effective information diffusion among brokers. In fact, according to this mechanism, two brokers periodically select and exchange a subset of brokers connected to them, randomly chosen. Brokers are in charge of establishing and maintaining semantic links towards other brokers on the basis of similarity between abstract services they store. Semantic links constitute a semantic overlay over the community of collaborative peers. In the rest of the paper, we will explain how the semantic overlay is built, maintained and exploited for service discovery purposes.
3
Ontology-based model for the service semantic overlay
Broker service registry. Each broker in the network has its local: (i) UDDI Registry, where concrete service implementations are registered and associated to their abstract services through tModels; (ii) a peer ontology, that provides a conceptualization of abstract service operations (e.g., flight reservation) and I/O parameters (e.g., electronic ticket) through concepts and semantic relationships between them; (iii) a standard service categorization, denoted with Service Category Taxonomy (SCT), extracted from available standard taxonomies (e.g., UNSPSC, NAiCS) to conceptualize service domain. Abstract services are associated to SCT categories in the UDDI Registry. Both the peer ontology and SCT are represented using OWL-DL formalism. The peer ontology and the SCT are augmented by a thesaurus containing terms that are related by terminological relationships (as synonymy or hypernymy) to the names of concepts and categories. The thesaurus is automatically built from the general, domain independent source of lexical information WordNet [8]. By means of the thesaurus, peer matching capabilities based on the peer ontology and categories are extended. More details about the combined use of ontologies and thesaurus can be found in [7].
Fig. 1. Service semantic overlay built on the P2P logical network.
Broker service matchmaker. Each broker in the community is endowed with a matchmaker. In [7] we defined a hybrid matchmaking strategy, where a deductive matchmaking model is combined with a similarity-based model to compare services on the basis of their functional interface. The deductive matchmaking is used to qualify the kind of match MatchType (S1 ,S2 ) between two abstract services S1 and S2 . According to this matchmaking model, it is possible to state if S1 and S2 provide the same functionalities (S1 Exact S2 ), if S1 provide additional functionalities with respect to S2 (S1 Extends S2 ) or viceversa, if there is a non empty intersection between functionalities provided by S1 and S2 (S1 Intersects S2 ) or if S1 and S2 have nothing in common (S1 Mismatch S2 ). In case of partial overlapping among service functionalities (Extends or Intersects) the similarity-based matchmaking model is used to quantify service similarity Sim(S1 , S2 ) ∈ [0, 1] through coefficients properly defined to compare service interfaces. Otherwise, if S1 Exact S2 or S1 Mismatch S2 , then Sim(S1 , S2 ) = 1.0 or Sim(S1 , S2 ) = 0.0, respectively. A detailed presentation of the hybrid matchmaking model with presentation of experimental results about the matchmaker is given in [7]. In this paper, we show how to exploit the information derived from the service matchmaking to improve a semantic-driven search of services among collaborative peers. Service semantic overlay. Matchmaking information (MatchType and Sim) are used to define semantic links among abstract services when advertised on brokers. A semantic link between two services S1 and S2 is established if they are similar (denoted with S1 ≈S2 ), that is, when MatchType(S1,S2 ) is not Mismatch and Sim(S1 , S2 )≥δ, where δ is a similarity threshold. If S1 and S2 are published on the same broker P and S1 ≈S2 , then an intra-peer semantic link is established
between them, denoted with slP (S1 , S2 ). For example, in Figure 1 on broker PX , abstract services S1X and S2X are connected to S3X . In particular, S3X and S2X have overlapping functionalities, while S1X adds functionalities with respect to those of S3X . Semantic links are labeled with the similarity degree. For example, similarity between S3X and S2X is 0.75. If S1 and S2 are published on two different brokers P1 and P2 and S1 ≈S2 , an inter-peer semantic link is established between them. To establish inter-peer semantic links, the broker PX sends a probe service request for each service SiX it wants to make sharable to other brokers connected at the logical network overlay in the community. The probe service request contains the interface of SiX and the IP address of PX . The broker PY that receives the probe service request, matches it against its own abstract services SjY by applying the matchmaking techniques based on its own peer ontology and SCT and obtains for each comparison the MatchType and the similarity value. PY then replies to PX with the list of SjY such that SiX ≈SjY , together with the MatchType and the similarity value. PX establishes an inter-peer semantic link islPX →PY (SiX , SjY ) for each SjY ) and PY is recognized as a semantic neighbor of PX . Inter-peer semantic links are stored in the Semantic Neighbors Knowledge of broker PX . For example, in Figure 1, service S3X on broker PX adds functionalities with respect to service S2Y on broker PY and the similarity degree is 0.8. Probe service requests are sent according to a Time-To-Live (TTL) mechanism with a low TTL value to avoid network overload. In fact, brokers that cannot be reached from PX , due to the low TTL value, will be reached thanks to the shuffling-based mechanism. Experimentation is being performed to establish the best value of TTL. Logical network overlay evolution. In the considered collaborative scenario there is the need to guarantee the communication among peers and manage the dynamic aspects featuring the P2P network organization. The logical network overlay collects all the peer participating the system: each node represents a peer and each link is a logical connection between two peers. In order to guarantee connection between peers an Overlay Management Protocol (OMP) is used, which defines specific procedures to join, leave and modify the logical network overlay. In our approach a shuffling-based OMP is chosen in order to allow more effective information diffusion among peers [16]. This kind of OMP arranges the logical network overlay as a graph in which each peer is directly connected to a small portion of the entire peer population, that is their logical neighbors. The shuffling protocol is quite simple: each peer continuously changes the set of its logical neighbors by occasionally contacting a random neighbor, then they exchange some of their neighbors. The obtained result is inexpensive overlay membership management, in the sense that any joining or leaving of nodes is quickly and efficiently managed. Moreover, a peer eventually become aware of new peers that are made available on the network. Service semantic overlay evolution. The service semantic overlay has to be managed with respect to changes that occur to the participating brokers:
acquisition of the IP address of a new broker in the logical network overlay, disconnection of a semantic neighbor from the community, publication/cancellation of a service in the broker registry. When the IP of a new broker PY is acquired due to the shuffling-based protocol at the logical network overlay, then probe service requests are sent to PY and possibly inter-peer semantic links between PX and PY are established based on the received answers. A broker PX recognizes that a semantic neighbor PX becomes unavailable if a given number of messages sent to PY are not answered. In this case the inter-peer semantic links toward abstract services published on PY are removed from PX . Finally, if a new service SiX is published on a broker PX , a probe service request is sent to semantic neighbors of PX and inter-peer semantic links are established on the basis of obtained answers. If a service is removed, the interpeer semantic links based on it are removed on the broker on which it has been published.
4
Service discovery based on the service semantic overlay
A service request SR is formulated by specifying one or more service categories and the desired functional interface. It is sent to broker PX , to which the requester is connected, and it is matched against abstract services published on PX (local search). Afterwards, SR is sent to the other brokers that are semantic neighbors of PX , according to different forwarding policies (distributed search). Each broker, which receives the request, applies the same matching process. Each broker collects its local concrete implementations for the abstract services matching SR with those received from semantic neighbors and sends them back to the broker from which the request came, up to the requester.
matchType(SR ,SiX )
matchType(SiX ,SjX ) 6= Mismatch matchType(SR ,SjX )
R1) SiX Exact SR R2a) SiX Extends SR R2b) R2c) R3a) SR Extends SiX R3b) R3c) R4a) SiX Intersects SR R4b)
SiX SjX SjX Exact|Extends SiX SjX Intersects SiX SiX Extends SjX SjX Exact SiX SiX Extends SjX otherwise SjX Exact SiX otherwise
⇒ SjX SR ⇒ SjX Extends SR evaluate MatchType(SjX ,SR ) evaluate MatchType(SjX ,SR ) ⇒ SR Extends SjX ⇒ SR Extends SjX evaluate MatchType(SjX ,SR ) SjX Intersects SR evaluate MatchType(SjX ,SR )
Table 1. Exploitation of intra-peer semantic links during local search.
Local search. When the service request SR reaches the broker PX , the broker, according to the categories, searches for abstract services in its own registry to build a list M S(SR ) = {hS1X , Sim1 , mt1 i, . . . hSnX , Simn , mtn i} of matching services such that SR ≈SiX , where Simi = Sim(SR , SiX ) and mti =MatchType(SR, SiX ). Intra-peer semantic links on broker PX can be exploited to efficiently find all available services which match locally. In fact, if SiX is found such that SR ≈SiX , then SiX is included into M S(SR ) and only abstract services SjX related with intra-peer semantic links to SiX are considered as candidate services for the request SR , according to the rules presented in Table 1. After performing local search, broker PX forwards the request to its semantic neighbors. If no matching service has been found, PX selects randomly a set of brokers connected at the logical network overlay and forwards SR to them. Example 1. If SR ≈S3X such that S3X Extends SR (Figure 1), then also SR ≈S1X (S1X Extends SR ) according to rule R2a on Table 1. The kind of match between SR and S2X must be evaluated (according to rule R2b), while S4X is not considered for SR , since no intra-peer semantic links exist between S4X and the other abstract services relevant for SR . Distributed search. Once matching abstract services have been found on peer PX , two forwarding policies based on inter-peer semantic links can be applied. Minimal policy. Search over the semantic overlay stops when matching services which fully satisfy the request have been found; this strategy is performed according to the following rules: – for each SiX ∈M S(SR ) such that SiX Exact | Extends SR , it is not necessary to forward the request to semantic neighbors, since concrete implementations of SiX already satisfy completely the request; – for each SiX ∈M S(SR ) such that SR Intersects | Extends SiX , the request is not completely satisfied by SiX and is forwarded to semantic neighbors, that could add further functionalities to those already provided by SiX ; however, broker PX does not consider semantic neighbors that provide services SjY such that SiX Extends | Exact SjY , because this means that SjY does not provide additional functionalities with respect to those already provided by SiX ; – if no semantic neighbors exist for any abstract service SiX ∈ M S(SR ), the request is forwarded to one of the brokers that are connected to PX in the logical network overlay (randomly chosen); Example 2. According to the first forwarding rule, since S3X Extends SR on PX (Figure 1), the request is not forwarded to PY ; moreover, according to rule R2a on Table 1, S1X Extends SR , then SR is not forwarded towards PZ too. On the other hand, since SR Extends S1X , the request is forwarded to PZ , where S2Z Intersects S1X could provide additional functionalities with respect to S1X ; moreover, according to rule R3b on Table 1, SR Extends S3X , but the request is not forwarded to PY , where no further functionalities are provided with respect to those of S3X .
Exhaustive policy. This policy follows the same rules, but it does not stop when matching services that fully satisfy the request are found; according to this policy, also for each SiX ∈M S(SR ) such that SiX Exact | Extends SR , the request SR is forwarded to semantic neighbors to find other services that could present, for example, better non functional features (not discussed in this paper). A broker which receives SR from a semantic neighbor applies one of the two forwarding policies; the search stops according to a Time To Live mechanism. Example 3. In Figure 1, since SR Extends S1X (and SR Extends S3X according to rule R3b on Table 1), the request is forwarded both to broker PY and broker PZ .
5
Experimental evaluation
In this section, we present a preliminary evaluation of performances of our approach. To this purpose, we performed a set of simulations based on NeuroGrid [11], an extensible network overlay simulator in which we have implemented the P2P-SDSD service semantic overlay network and the minimal forwarding policy explained in Section 4. Simulation Parameter Description N NS Initial TTL Simulation Type γ ASP
Total number of brokers on the network Total number of available services Initial TTL associated to a request message P2P-SDSD or Gnutella Probability that two brokers has established semantic links (∈ (0,1)) Average number of services per broker
Fig. 2. Simulation Parameters
The simulations we have run compares P2P-SDSD forwarding policy with the Gnutella one [9] both in terms of efficiency and scalability. The choice of a comparison with Gnutella is due to the fact that both P2P-SDSD and Gnutella define an overlay network built on top of an unstructured P2P network. Apart from the architectural similarities, we have considered Gnutella since its message forwarding strategy is well-known and it is frequently considered as a reference example. Some other P2P forwarding strategies have been also considered for a comparison with P2P-SDSD and we plan to perform additional experiments in future work. The experiments have been performed: (i) to demonstrate the better recall results of our distributed search with respect to Gnutella search; (ii) to confirm that the use of the P2P-SDSD request forwarding policy results in an improved scalability. In particular, P2P-SDSD and Gnutella service discovery have been compared on these parameters: – Recall: with respect to a submitted request it is the ratio among the number of services retrieved by the distributed search policy and the number of
services retrieved if all offered services would be available on the node posing the request and the local search applied; the higher the recall, the more effective the distributed search by providing an answer similar to a local search. – Generated Messages: it is the number of overall messages generated to answer a service request; this parameter depends on the TTL (Time To Live) value and on the peer’s average number of connections to its neighbors; the lower the generated messages the better the scalability, since a lower number of messages per request reduces the possibility of network congestion. The different experimental settings for the simulation are obtained by setting some operative parameters shown in Figure 2. These parameters determine how the simulated logical overlay network is built and run. The simulator generates a random P2P network [11] of N peers and NS artificial services. Services are assigned to each peer according to the ASP parameter. The distribution of probability P() of the kind of match between a pair of services has been set as follows: P(Mismatch) = 50%, P(Intersect) = 35%, P(Extends) = 10%, P(Exact) = 5%. The γ value is the probability that a pair of peers has already exchanged probe queries and therefore have possibly established inter-peer semantic links. The Initial TTL determines the maximum number of times a message can be forwarded on the network and therefore the higher this value, the higher the number of peers involved in answering the request. In particular, the results discussed in the following have been obtained with these simulation parameter values: the Initial TTL has been varied between 1 and 12, N=100, γ = 0.60, NS=50 and ASPP=20.
110 100 90 80
Recall (%)
70 60 50 40 30 20 P2P−SDSD Gnutella
10 0
0
2
4
6 Initial TTL
8
Fig. 3. Recall vs. Initial TTL
10
12
Figure 3 compares P2P-SDSD and Gnutella approaches through the Recall curves by setting different values for the Initial TTL parameter. The figure shows how P2P-SDSD overperforms the Gnutella even with low TTL values. This can be explained by the fact that inter-peer semantic links allow to selectively reach the most of the peers that provide relevant services with a low number of request forwardings. As TTL gets higher also the Gnutella performs better since the request reaches the most of the peers in the network. The analysis of generated messages has been performed on a series of 13 simulations with Initial TTL value set to 5 and a network of 100 peers. In each simulation we ran, a request has been submitted and we have collected the results obtained with both P2P-SDSD and Gnutella on the same simulated network. In these simulations the average number of generated messages for P2P-SDSD is nearly 19.31, that is about 50% lower than the value of 38.32 obtained by the Gnutella approach.
6
Related work
In literature, P2P semantic-driven resource discovery has attracted much attention from Web services and Semantic Web area and relies on several efforts in related research fields, such as data integration and emergent semantics in P2P environments [1, 6, 10] to go beyond limitations of centralized service-oriented architectures. However, in P2P environments semantic heterogeneity and scalability issues must be addressed. Recent works involved structured [2, 13] and unstructured P2P architectures [12]. The first ones are less flexible and are mainly based on DHT (Distributed Hash Tables) structures, which require much efforts for maintenance. In [5] a P2P-based system to support efficient access to e-catalogs is provided, where scalability issues are solved by organizing information space in communities that are inter-related using peer relationships, defined as mappings between ontologies. Selection of relevant peers to which queries must be forwarded is based on a query rewriting algorithm. Our approach focuses on unstructured P2P architectures, featured by scalability issues, applied to the service discovery problem. Other approaches addressed the same problem. METEOR-S [15] uses a centralized registry ontology to classify peer registries. During the discovery process, registry ontology is browsed to find the proper registry to which the request must be submitted. ARTEMIS [3] defines a P2P network, where each peer has an ontology, based on medical information standards, to annotate services. Peers store the services they provide in a mediator super-peer. A peer sends a request to its reference mediator expressed in terms of its own ontologies; mediator uses ontology mappings to find matching services in its local registry and forwards the request to other mediators. WSPDS [4] describes a P2P network where peers have local DAML-S ontologies to provide service semantics and links with other peers based on an average similarity between services they provide. When a request is submitted to a peer, it searches for local matching results and forwards the request to all the linked peers, independently from the current request or the
local results of the query. In our approach a service semantic overlay is built by relating similar services through inter-peer semantic links in a community of collaborative peers. Like WSPDS, no common ontology is required and no super-peer is defined. However, in our approach, combined use of search results found locally and inter-peer semantic links allows for application of fine-grained request forwarding strategies.
7
Conclusions
In this paper, we proposed a P2P service discovery approach to enable cooperation and communication across distributed Web Information Systems, where Web Services are used for WIS functionalities provisioning. Semantic interoperability is based on a service semantic overlay, over the logical network overlay, built by establishing semantic links among peers that offer comparable services. The semantic overlay is exploited to fasten service discovery and improve its efficacy without affecting network overload. Preliminary experiments have been performed to confirm the advantages derived from the exploitation of semantic overlay if compared with traditional Gnutella approach. Further experimentation will evaluate the impact of the proposed approach on open P2P networks, where additional issues must be considered during the construction of semantic overlay, and concrete applications in those kinds of networks will be investigated.
References 1. K. Aberer, P. Cudre-Mauroux, and M. Hauswirth. The Chatty Web: Emergent Semantics Through Gossiping. In Proc. of the 12th International World Wide Web Conference, pages 197–206, Budapest, Hungary, 2003. 2. K. Arabshian and H. Schulzrinne. An Ontology-based Hierarchical Peer-to-Peer Global Service Discovery System. Journal of Ubiquitous Computing and Intelligence (JUCI), 2006. 3. The ARTEMIS Project: A Semantic Web Service-based P2P Infrastructure for the Interoperability of Medical Information Systems. http://www.srdc.metu.edu.tr/webpage/ projects/artemis/. 4. F. Banaei-Kashani, C. Chen, and C. Shahabi. WSPDS: Web Services Peer-to-Peer Discovery Service. In Proc. of the Int. Conference on Internet Computing (IC’04), pages 733–743, Las Vegas, Nevada, USA, 2004. 5. B. Benatallah, M.S. Hacid, H.Y. Paik, C. Rey, and F. Toumani. Towards semanticdriven, flexible and scalable framework for peering and querying e-catalog communities. Information Systems, 31(4-5):266–294, 2008. 6. P. Bernstein, F. Giunchigiloa, A. Kementsietsidis, J. Mylopoulos, L. Serafini, and I. Zaihrayeu. Data Management for Peer-to-Peer Computing: A Vision. In Proc. of the 5th International Workshop on the Web and Databases (WebDB’02), Madison, Wisconsin, 2002. 7. D. Bianchini, V. De Antonellis, and M. Melchiori. Flexible Semanticbased Service Matchmaking and Discovery. World Wide Web Journal (http://www.springerlink.com/content/ 4514473142836174/), 2008. 8. C. Fellbaum. Wordnet: An Electronic Lexical Database. MIT Press, 1998.
9. The Gnutella Protocol Specification v.0.4. http://www.clip2.com/GnutellaProtocol04.pdf. 10. A. Halevy, Z. Ives, D. Suciu, and I. Tatarinov. Schema Mediation in Peer Data Management Systems. In Proc. of the 19th International Conference on Data Engineering (ICDE’03), Bangalore, India, 2003. 11. NeuroGrid Home Page. http://www.neurogrid.net. 12. M. Paolucci, K.P. Sycara, T. Nishimura, and N. Srinivasan. Using daml-s for p2p discovery. In Proceedings of the Int. Conference on Web Services (ICWS2003), 2003. 13. C. Schmidt and M. Parashar. A peer-to-peer approach to web service discovery. World Wide Web Journal, 7(2):211–229, 2004. 14. The ESTEEM Team. Emergent Semantics and Cooperation in Multi-Knowledge Environments: the ESTEEM Architecture. In VLDB Int. Workshop on Semantic Data and Service Integration (SDSI07), pages 1–12, Vienna, Austria, 2007. 15. K. Verma, K. Sivashanmugam, A. Sheth, A. Patil, S. Oundhakar, and J. Miller. METEOR-S WSDI: A Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services. Journal of Information Technology and Management, Special Issue on Universal Global Integration, 6(1):17–39, 2005. 16. S. Voulgaris, D. Gavidia, and M. van Steen. CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays. Journal of Network and Systems Management, 13(2):197–217, 2005.