Title: GloServ: Global Service Discovery Architecture
1GloServ Global Service Discovery Architecture
- Knarig Arabshian and Henning Schulzrinne
- IRT internal talk
- April 26, 2005
2Overview
- Motivation
- Overview of OWL
- Architecture
- Registration
- Querying
- Future Work
3Motivation
- Why Global Services
- Ubiquitous computing is becoming prevalent in
todays society - Traveler visiting a new city wants to know all
classical music events. - Doctor visiting a hospital wants to know medical
services in this hospital. - Visitor in starbucks wants to know if it offers
local internet TV. - What are the Challenges?
- Service description and querying
- Server bootstrapping on global scale
Service discovery should be global
4OWL Overview
- OWL Web Ontology Language
- Developed by World Wide Web Consortium (W3C)
- Approved as a standard for the Semantic Web
- Why OWL?
- Service description creating a service
classification ontology - Server bootstrapping using service
classification to map services to servers - Three sublanguages of OWL
- OWL Lite
- OWL DL
- OWL Full
5OWL Sublanguages
- Choose OWL DL for GloServ
- A service class represents a collection of
individuals - Use OWL DL reasoners such as Racer to check for
the soundness of OWL documents
- OWL Lite
- Least expressive of the three sublanguages
- Supports a classification hierarchy (like RDFS)
- Supports core constraints of classes and
properties. - OWL DL
- Extends OWL Lite to include description logics
(disjointness, union, intersection, etc.) - Supports maximum expressiveness
- All conclusions are guaranteed to be computable
and decideable (finishing in finite time) - Includes all OWL language constructs
- OWL Full
- Similar to OWL DL
- Main difference a class can be treated
simultaneously as a collection of individuals and
as an individual in its own right
6Characteristics of OWL
- Classes
- Contain individuals, which are instances of the
class and other subclasses - Set operators on classes
- Union, intersection and complement
- Equivalence, disjointness, enumeration
- Property
- Binary relation that specifies class
characteristics - Two types of properties datatype and object
properties - Datatype properties
- Relations between instances of classes and RDF
literals or XML schema datatypes (string,
integer, etc.) - Object properties
- Relations between instances of two classes
- Logical capabilities of properties transitive,
symmetric, inverse and functional.
7OWL Examples
Ontology Mapping
ltowlObjectProperty rdfID"locatedIn"gt
ltrdftype rdfresource"owlTransitiveProperty"
/gt ltrdfsdomain rdfresource"owlThing" /gt
ltrdfsrange rdfresource"Region" /gt
lt/owlObjectPropertygt ltRegion
rdfID"SantaCruzMountainsRegion"gt ltlocatedIn
rdfresource"CaliforniaRegion" /gt lt/Regiongt
ltowlClass rdfID"TexasThings"gt
ltowlequivalentClassgt ltowlRestrictiongt
ltowlonProperty rdfresource"locatedIn" /gt
ltowlallValuesFrom rdfresource"TexasRegion"
/gt lt/owlRestrictiongt lt/owlequivalentCla
ssgt lt/owlClassgt
Intersection
Disjointness
ltowlClass rdfID"WhiteWine"gt
ltowlintersectionOf rdfparseType"Collection"gt
ltowlClass rdfabout"Wine" /gt
ltowlRestrictiongt ltowlonProperty
rdfresource"hasColor" /gt ltowlhasValue
rdfresource"White" /gt lt/owlRestrictiongt
lt/owlintersectionOfgt lt/owlClassgt
ltowlClass rdfID"Pasta"gt ltrdfssubClassOf
rdfresource"EdibleThing"/gt
ltowldisjointWith rdfresource"Meat"/gt
ltowldisjointWith rdfresource"Fowl"/gt
ltowldisjointWith rdfresource"Seafood"/gt
ltowldisjointWith rdfresource"Dessert"/gt
ltowldisjointWith rdfresource"Fruit"/gt
lt/owlClassgt
8Composing Ontologies
- Create a primitive tree which is a hierarchical
tree of primitive concepts - Resides on the top level of the ontology
- Constructed so that each concept has only one
parent and disjoint siblings - Primitive skeletons distinguish two types of
concepts - Self-standing concepts concepts include things
that are part of the physical world such as
animals or organizations - Partitioning concepts values that partition
self-standing concepts such as small,medium,
large - By using primitive skeletons, the evolution,
sharing and re-use of ontologies is greatly
simplified. - Once primitive skeleton is formed, descriptions
and definitions are created to express the
relations between those primitives.
9Original Ontology
Primitive Skeleton
10GloServ Architecture
- Hybrid hierarchical and peer-to-peer architecture
- Hierarchy
- High-level services established hierarchically
- Primitive skeleton ontology used for separating
high-level services - Each node will know about other high-level
servers by looking up primitive ontology model - Disjoint servers are handle service classes that
are completely unrelated to each other - Peer-to-Peer
- Servers who hold information about the same or
equivalent service class connected to each other
in a peer-to-peer network - Load distribution during query processing
- Faster querying when the data is distributed
according to content and each server handles a
set of information.
11GloServ Architecture
12Elements within a GloServer
- Service Classification Ontology
- Not prone to frequent changes--distributed and
cached across the GloServ network - Each high level service will have a set of
properties that will be inherited by all of its
children. - Additional properties may exist for particular
service type - Thesaurus Ontology
- maps synonymous words to each of the service
terms in the service classification ontology - greater degree of accuracy in finding the correct
server - P2P Data structure (CAN lookup table)
- Constructed according to the data in each class
(class instances) - Each instance represents a registered service.
- Connects servers of the same type to each other
in a peer-to-peer network. - Novel mapping algorithm combines benefits of OWL
and CAN to map content of service instances to
nodes in a peer-to-peer network.
13Server Bootstrapping
1)Query for inn comes in
4)Send the query to the closest high-level
server that is known
2)Map the word inn to hotel
3)Look up the domain of the equivalent server
or closely related server in the primitive
skeleton ontology
14CAN Content Addressable Network
- Structured peer-to-peer network
- Uses key-value pair
- D-dimensional space divided amongst nodes
- Each node is aware of its logical neighbors
- Key is hashed to a point P in D-dimensional space
- Host at point P provides value for the key
15Mapping OWL to a CAN
- OWL instances may have
- l mandatory object properties
- m optional object properties
- n data properties (mandatory or optional)
- All possible property combinations
- Converting OWL instances to vector keys
- ltowlClass rdfID"Sports"gt
- ltrdfssubClassOf rdfresource"Activity"/gt
- lthasKeygt1lt/hasKeygt
- lt/owlClassgt
- ltowlClass rdfID"Adventure"gt
- ltrdfssubClassOf rdfresource"Activity"/gt
- lthasKeygt2lt/hasKeygt
- lt/owlClassgt
- ltowlClass rdfID"SightSeeing"gt
- ltrdfssubClassOf rdfresource"Activity"/gt
- lthasKeygt3lt/hasKeygt
- lt/owlClassgt
16Mapping Vector Keys to CAN
- CAN is most appropriate peer-to-peer network for
exact and approximate matching - Generated vector keys distributed in a CAN
- Instead of using random keys for each dimension,
use the generated keys by using a property per
dimension for the d-dimension key
17GloServ Querying
- When the correct gloserver is contacted, it
obtains the user query. - Query input done either through user form, or by
automatically filling out an OWL ontology
skeleton - Anticipate that GloServ will be used in
context-aware and pervasive computing
environments where a users preferences are
detected and user input relied on - Query propagation either depends on user
satisfaction or automatically travels to all
possible routes up to a threshold value
18GloServ Querying
- Exact matching
- Populated properties of the query are analyzed
- Exact query combination is generated
- If user is querying for Sports activity in
Arizona then lt3,1gt vector key is generated and
mapped to server handling these properties. - Approximate matching
- Keys of geographically nearby locations and
related activities to sports are generated - All combinations of these are queried for to give
the user an approximate result. - Related keys obtained by finding all classes that
are related to the property value
19GloServ Registration
- Keys generated same way as in querying
- Registration information distributed to nodes
carrying related information. - If registration node not leaf node
- reference to the registration instance propagates
to other related servers (nodes children or
related siblings) - Related servers are determined by observing
service classification ontology
20Related classes in ontology
- BackPackersDestination and BudgetHotelDestination
are related siblings (not disjoint) - The class Destination specifies possible
- travel destinations
- Subclasses BackPackersDestination
- and BudgetHotelDestination
- asserted necessary and sufficient conditions of
BackpackersDestination class - Necessary and sufficient conditions of
BudgetHotelDestination are
- These related classes will have access to each
others information
21Conclusion and Future Work
- GloServ is a hybrid hierarchical and peer-to-peer
global service discovery system - It uses OWL for service classification, server
bootstrapping, service querying and registration - Extend GloServ to be used in context-aware
environments - Discover users context and provide appropriate
services - Design extensions to GloServ that monitor users
and service usage