Personalised Service Discovery

advertisement
Personalised Service Discovery
Juri Papay, Simon Miles, Michael Luck and Luc Moreau
School of Electronics and Computer Science
University of Southampton
{jp,sm,mml,L.Moreau}@ecs.soton.ac.uk
Introduction
Public
Registry1
...
AFFYMAPPER
Notification when
services registered
BLAST
Personalised Registry2
copies information from
Personalised Registy1,
Selecting services with
a trust value > 0.6
Personalised Registry1
copies information from
multiple public
registries
Services without
metadata
Personalised
Registry1
Currently, there is a multitude of public and private Service Registries, with a wide variation in the
amount and quality of their contents. The availability of accurate and reliable information on the
services available to a scientist is important when constructing e-Science experiments. For any given
registry, the user faces a dilemma of whether to trust the accuracy and adequacy of the information
present. This can be resolved by creating registries whose contents are personalised to a user, so the
user can be sure the services are described in a way that is accurate and useful to them. Further, a
personalised service registry can be used in automatic service discovery in the knowledge that any
service found will be personally useful to the user. Personalised service registries operate by copying
information from public registries, possibly filtering the service adverts by some criteria, and allowing
the user to annotate the service adverts with personal judgements, extra useful information (including
semantic descriptions) and other metadata. A personalised service registry may also be used by a
group, such as an organisation rather than a single user. This poster illustrates a use case for myGrid
personalised service registries and provides details on the way in which this has been implemented.
Filtering based on
metadata
Notification message
Personalised
Registry2
OPENBQS
0.7
GOQUERY
0.8
XEML
OPENBQS
Query for details
Public
RegistryN
GOQUERY
Results
...
...
Use Case
Results
In the use case shown, there are several registries deployed. First, there are a set of public registries
(Public Registry 1 to N) with service adverts published by a range of service providers. The
information presented will sometimes be incomplete and contains no indication about whether a
service will be useful to a particular user. Next, within an organisation, the local domain expert has
their own personalised registry (Personalised Registry 1). This registry is automatically kept up-todate with the contents of the public registries, and the expert can then provide ratings to each service
(in a range from 0.0 to 1.0) specifying how reliable they have found the service to be in the past.
These ratings can represent the cumulative knowledge of the organisation and may be added by many
people. Finally, a new member of the organisation (a novice) is given their own personalised registry
(Personalised Registry 2), which is automatically kept up-to-date with the contents of the expert's
registry, but only includes those services that have been given a rating higher than 0.5. Therefore,
whenever the novice performs service discovery to find a service for their particular task, only those
services that the organisation has found to be reliable are returned. Keeping personalised registries
up-to-date with respect to other registries is achieved by subscription to notifications of change. An
intermediary myGrid notification service provides robustness through asynchronicity.
Query for details
Services with metadata
AFFYMAPPER
The information in
Personalised Registry1 is
curated: a curator is adding
a trust values to advertised
services
BLAST
0.4
XEML
0.5
OPENBQS
GOQUERY
AddMetadataTo_
BusinessService
AddMetadataTo_
MessagePart
AddMetadataTo_
Operation
Internal messages
API calls
0.8
ServiceUpdated
wsdlChanged
metadataChanged
ServiceDeleted
WSDLChanged
Notification
wsdlChanged
WSDLChanged
API calls
Internal messages
The overall design of the Personalised Service Registry is based on a
message-passing architecture, in which each operation call is processed by a
chain of message-handlers. Each handler can process a specific set of
messages, and can be replaced by any handler capable of processing the
same set. Using this architecture, the processing of every operation call can
be easily adapted by extending the chain of handlers or replacing one handler
with another performing a different function for the same messages. The
figure describes how the messages move around internally: the APIs,
handlers, sequence of method calls and messages that are used in the
implementation of the use case. The main functionality of methods in the
API is to generate various types of internal messages. The processing may
involve Personalised Registry 2 querying Personalised Registry 1 for more
service details so that the whole advertisement can be copied between
registries. After obtaining the service details, Personalised Registry 2
performs a selection operation, the outcome of which determines whether to
store the service details locally or to discard the downloaded information.
Semantic Service Registry Architecture
Information
model
Metadata Publish
Interface
Semantic Inquiry
Interface
addWSDLFile
Message Passing Architecture
addMetadataTo_
BusinessService
addMetadataTo_
MessagePart
addMetadataTo_
Operation
UDDI Publish
Interface
Metadata Inquiry
Interface
delete_service
MetadataChanged
UDDI Inquiry
Interface
Client
RegistryEventHandlerIncoming
serviceUpdated
save_service
RegistryEventHandlerOutgoing
UDDIPublishHandler
NewService
Registered
RegistryEvent (API)
ADDWSDLFile
newService
Registered
serviceDeleted
WSDLHandler
WSDL (API)
addMetadataTo_
BusinessService
addMetadataTo_
MessagePart
addMetadataTo_
Operation
DeleteService
MetadataHandler
UDDIPublishServer (API)
addWSDLFile
PublishMetadata (API)
delete_service
SaveService
0.7
...
Expert
save_service
0.3
Jena RDF Triple
Store
Database,
file or
memory
storage
Notifications
of Change
Semantic Find
Component
The current Grid and Web Service standards provide limited support
for semantic service descriptions. The service registry developed by
the myGrid team at Southampton provides support not only for UDDI,
DAML-S, BioMoby and WSDL service descriptions, but also a
mechanism for semantic annotation of services and a uniform way of
querying and navigating service information. The client interacts with
the registry through a set of interfaces, which allow services and
workflows to be published, discovered and annotated according to
known protocols. By attaching semantic descriptions to service
advertisements, users can discover services based on their domain
knowledge. The Semantic Find Component is an interface that
processes users’ semantic queries. Other features of the registry include
sending of notifications to other registries and policy-based content
management. The service and workflow descriptions are stored in an
RDF triple store which can be queried uniformly through the use of a
query language such as RDQL.
Download