Title: Large Scale Semantic Service Discovery in the Future Internet
1- Large Scale Semantic Service Discovery in the
Future Internet - April 2007
2Contents
- Introduction
- Well known protocols
- Service discovery in ad-hoc networks
- Semantic service discovery
- Large scale semantic service discovery
- Context aware service discovery
3Why service discovery?
- Human will be surrounded by a various computing
devices. - Tiny sensors, PDA, PC, CP, notebook, server
- Extreme complexity to manage those devices
- Zero-administration, Zero-configuration
- Need to facilitate interaction between the
computer - gt Goal of Service discovery
- Originally, to lower the burden of system
configuration - Plug and play or zero configuration
- In more dynamic or ad-hoc environments, service
discovery is a necessity.
4Service Discovery
- What is service discovery?
- A protocol which enables users to discover the
most appropriate services to the given context by
automatically detecting the services available in
the network. - Components and issues
- Directory repository
- Directory structurization
- Service description and matching
- Semantic representation and matching
- Query and service announcement
- Semantic routing
5Why service discovery?
- Scenario 1
- Mr. Sue visits ICU
- He searches the Web and finds an on-line Map
using his PDA. - But its too small to view on his PDA
- PDA locates the printers
- Mr. Sue (or system) picks up a closest printer
among the public printers that are allowed to be
used by the guests - PDA requests printing service (without having a
driver for the printer) without Mr. Sues
intervention - We need to find appropriate services
- Printing service, Wireless connection service and
Location information service. - Service discovery system will do that with your
minimum intervention
6Pervasive Service Discovery vs Web service
discovery
- Web Service Discovery
- No physical location limitation
- Focuses only on interoperation among applications
- Interoperability through standards such as WSDL
and XML - Universal Description, Discovery, and
Integration(UDDI) - The discovery and configuration process
analysts, programmers, administrators - Registry and data structure mainly for EC. too
specific for Pervasive computing service - Pervasive Service Discovery
- Ambient Services Discovery Local
- Focuses also on both among applications and
people - Integration with people and their ambient
environments.
7Pervasive Service Discovery
- Integration with People
- Integration of computing devices with people
- How do we protect personal privacy?
- Personal information persons presence, even
health status from wearable medical device,
users intention.. - How much prior knowledge a user or service
provider must have for service discovery? - Ambiguity print service, printing service,
standard service name? - Integration with Environments
- How can we precisely define the ambient
environment ? - Location, current user tasks,
- Visitors view differs from hosts view
- Heterogeneity
- H/W, S/W platform, network protocols common
platform? - Dynamic conditions
- Time based approaches soft state and leased
based approaches
8Service Discovery
Context-aware Discovery - Context-based Ranking
Pervasiveness
Semantic Discovery -Semantic representation
Matching
Discovery in Ad-hoc Networks - Mobility,
Minimizing Cost
Discovery in Large-scale Networks - Structured
architecture (e.g. DHT)
Discovery in LAN -Jini, UPnP, SLP, Salutation
Static Directory Service -X.500, LDAP
Time
9Service Discovery
- Standards / Specifications
- Discovery Protocols
- Jini, UPnP, SLP, Salutation
- UDDI
- Web Service Dynamic Discovery (WS-Discovery)
- complementary to UDDI which is focusing on
dealing with devices and systems that are not
always connected to the network (by MS, Intel,
Canon ) - WSMX (Web Services Execution Environment)
- an execution environment which enables discovery,
selection, mediation, invocation and
interoperation of the Semantic Web Services (WSMX
working group) - Includes WSMO and WSML
- Service Description
- Web Service Description Language (WSDL)
- SOAP Service Description Language (SSDL)
- Web Service Modeling Language (WSML)
- Ontology architecture for Semantic Description
- DAML-S, OWL-S
- Web Services Modeling Ontology (WSMO)
10Service Discovery
- Challenges
- Existing researches have considered the
functionality and performance issues in isolation - They should be considered at the same time
Service Discovery
require
require
Rich Functionality
Good Performance
Semantics-based matching
Heterogeneous networks
Scalability
Context-based ranking
Scalable directory management and message
forwarding
Need for adaptation to the characteristics of
underlying network
The best service can be different according to
the given context
Users need not to have pre-knowledge about
services to specify the desired services
11Components
- Announcement
- Register
- Multicast/broadcast
- Query/Service Access
- Syntax
- Ontology
- Programming language dependency
- Directory repository
- Centralized
- Distributed
- Hierarchical
- Structured P2P
- Ad hoc
- Service description
- Attribute/value
- Tree-like
- XML
- Ontology (DAML, OWL)
12Service and attribute naming
- Service Naming
- printing, print
- Naming standard to avoid the naming conflict
- Bluetooth maps service names to 128-bit number
- SLP service template define format for name
attribute - Apples Rendezvous (Bonjour) based on Internets
DNS - When a mobile client moves to another service
directory domain, it need to understand different
service protocol and vocabularies. - Solution?
- How to support new services?
- Client should know new service name and then
learn the new term. - Its easy to add new service name to a service
protocol standard. - Attribute naming
- Standard naming convention
- More precise query requirements, fewer selected
services - Wild card searches
- Let clients examine all the available services
13DAML/OWL Language
- OWL Web Ontology Language
- a revision of the DAMLOIL web ontology language
- Extends vocabulary of
- XML and RDF/S
- Rich ontology representation language
- Language features chosen for efficient
implementations
Web Languages RDF/S XML
DAML-ONT
DAMLOIL OWL
OIL
Formal Foundations Description Logics
Frame Systems
FACT, CLASSIC, DLP,
14Directory Design
- Centralized directories
- It stores all the services information
- Bottleneck, SPF, inefficient in large service
discovery system - Distributed directories
- Store services information within their own
domain - A service lookup may go through several
directories. - Number of copies
- Single copy
- Multiple copies Jini, SLP
- More reliable
- INS fully replicated copy only go to the
directory where a client attached - Consistency
- Flat vs. Hierarchical Directory structure
- DNS
- Difficult to make directories both scalable and
efficient
15Directory Design
- Service state in Directories
- Soft state most protocol
- Will not be valid after expiration (service
announcement include life span) - No need to monitor service state even when
service is down. - need regular service announcement
- Hard state
- Keep until it is told to change
- Few service announcements and housekeeping jobs
- Difficult to guarantee that all service
information is up to date - Service will go down without notification
network communication error - Solution? polling
- Directory address
- DNS listen on well known ports
- Moving to different networks directory address?
If no DHCP? - Multicast address Directory listen to and talk
on a multicast address SLP, SSDS - Multiple response? client pick one. Good for
fault tolerance
16Service selection
- User vs. Protocol Selection
- To find services for users efficiently and
accurately - Protocol selection
- Little user involvement
- No reflect the actual users will
- User selection
- Tedious for a user to examine many printers and
compare them - Balance?
- Best match
- Matches the best service based on application
defined metrics INS - Context-awareness
- Location, connection, persons situation
- Scope-awareness
- To support a large amount of services, defining
and grouping services in scope location(INS with
Cricket), optional attribute for location (Jini) - Administrative domain information multiple
hierarchy directory - Yellow pages, White pages service information
in non-leaf directory hashed (SSDS) - QoS-awareness
- Better service less loaded services or better
resource price ration services - Most protocols only support static attribute
not load of the printer
17Well-known protocols
- Jini
- UPnP
- SLP
- Bluetooth SDP
- Salutation
18Jini - introduction
- Java-based and distributed network-connecting
technology by Sun Microsystems - Network Plug-And-Work
- Enable spontaneous networking
- Promote service-based architecture
- A federation of clients and services
- Entities in federation provide and/or obtain
services to/from other entities - All developments in Java
- Code mobility
- Relies heavily on
- Object serialization
- RMI Remote Method Invocation
19UPnP
- Service advertisement and discovery architecture
supported by UPnP Forum - Peer-to-Peer Model
- Based on current Internet protocols and
technologies - XML/HTTP, RPC
- No mobile codeinstead, standardized protocols
and service descriptions - XML-based service descriptions
- UPnP V1.0 Spec in 2000
20UPnP Six Steps
- Addressing ? AutoIP
- For the IP address impaired
- Discovery ? SSDP
- Discovery and advertisement
- multicast discovery support
- XML UDP unicast and multicast packets to
advertise their services - Description ? (HTTP)
- What are the characteristics of a service?
- Control ? SOAP
- Making a service do its thing(s)
- Eventing ? GENA
- Updates on interesting service state changes
- Presentation ? (HTTP)
- Device GUI
21Service Location Protocol (SLP)
- IETF standard protocol for service discovery and
advertisement - Designed solely for IP-based networks
- Doesnt define the protocol used between the
client and server
22Salutation Introduction
- The Salutation Architecture was invented to
- Solve the problems of service discovery and
utilization - Among broad set of appliances and equipments
- In an environment of widespread connectivity and
mobility - Find and Bind on a network
- Devices
- Applications
- Services
- Open Architecture
- Independent of
- Operating System
- Network Protocol
- Product Class
23Service discoveries in ad-hoc networks
- No central directory service
- Limited use of network/device resources
- Distributed
- Main entities
- Node acts as client server
- Service announcement
- Flooding How to reduce flooding traffic?
- Periodically, delta announcement (Konark)
- Slotted (DEAPSpace uses slottedperiodic)
- Cache advertisements
- TTL
24Service discovery in ad hoc networks
- Service description
- What is described?
- service name, type, attribute, keywords,
properties and functions - Service hierarchy - tree like structure (Konark,
GSD) - Interface format, e.g., function prototype.
- How is it described and stored?
- WSDL file (Konark)
- Data structures similar to ASN.1 (DEAPSpace)
- Encoder/decoder
- Ontology OWL, DAMLOIL (GSD)
- Access to the service
- RPC
- SOAP/HTTP (Konark)
- Specific Interface, e.g., function prototype
- Encoder/decoder (DEAPSpace)
- Query formation
- Path based or syntax based
- Request routing
- Policy based (Allia)
25Service discovery in ad hoc network
26Semantic service discovery
- Difficulties of Service Discovery
- Different Resources
- Computing Devices, Software Services, Information
Sources - Representations, Capabilities, Usage
- Distinct Environmental Characteristics
- Preference, Permission, Context
- Research Issues
- Abstract Representations
- Semantic Matching
- Context-awareness
- Use of semantic ontology
- Inexact/exact querying
- More powerful reasoning engines and AI tools
- Enhancing current service location protocols
Find me the best Pizza service
27Context vs. Semantics
- Context
- Any information that can be used to characterize
the situation of entities (i.e. whether a person,
place or object) - Identity, Location, Status (or Activity), Time
- Semantics
- Abstract notions which can be implicitly derived
to identify the differences and correlations
between objects/concepts - What is the semantics of Alarm?
- Definition in dictionary
- Sudden fear produced by awareness of danger
- A noise warning of danger
- A bell and etc. which sounds to warn of danger or
to wake a person from sleep
28Semantic service discovery
- DReggie 8
- Enhanced Jini lookup service to enables semantic
service discovery of Jini enabled services. - Target application M-commerce
- Two main concepts for service discovery
- DAML based service ontology
- service components and their some properties such
as service name, capability, requirements. - Prolog reasoner for semantic discovery
- Enhanced SDP in Bluetooth 10
- Semantic service discovery in ad hoc network
- Two main concepts for semantic matching
- DAML based service ontology
- Prolog-based XSB Reasoning engine
- Limitation
- Does not assume pervasive environment need
components for evaluation of dynamic attributes - Ontology restriction describe only service
29Location-aware service discovery
- Where is the closest Italian restaurant to me?
- Location sensing
- Nomadic users
- Handy devices
30CoolTown
- Every service (e.g., printer) has a web server,
and a tag. - Users walk in and receive URL from tag beacons
- Connect to the URL which describes the service
and can invokes it - Place manager maintains resources in a place,
with web interface (HTML and XML) - Resources can be grouped.
- Also acts as a resolver for some places
31Splendor
- Tag-based location aware
- Tag label location and people
- Proxies
- Enhanced security
- Service management (registration, security)
Trusted servers managing services
Bootstrapping using multicast
32Agents2Go
PalmApp (with CDPD modem)
Cell tower
Location identified by cell tower id
register
Restaurant agent or other services
Initial query form
User query
Brokers
Area 2
User query
Locator
Area 3
Maps geographic area to broker
Agents2Go Server
33Contributions
- Attach web URL to services and periodically
broadcast (CoolTown) - Intermediate trusted proxy for security and
service management (Splendor) - Localized brokers store services in the location
and are mapped to based on the user location
(Agent2Go)
34Internet-scale discovery
- Construct scalable, robust services
- Huge throughput demands and availability
- Interoperability
- Efficiency
- Fault tolerance
INS/Twine, Ninja/SDS, WSPDS
35INS/Twine
- Uses Chord
- structured peer to peer system
- Lookup in Log(N)
- Service Propagation
- Resource state changes, update is propagated
- Periodic refreshing of resource information
- edge resolvers attached to clients update
frequently - Internal resolvers infrequently
root
subject
res
resolver
camera
traffic
model
man
AModel
ACompany
Resource is a camera, manufactured by ACompany
and filming traffic.
StrandMapper Hash(strand)
Distributed hash table (Chord). KeyRouter maps to
Chord.
30 INS/Twine a scalable p2p architecture for
intentional resource discovery, 2002
36Ninja
- Secure Service Discovery Service (SDS)
- Uses XML to encode service descriptions
- Certificate Authority and Capability Managers for
security - Servers dynamically organize themselves into
hierarchies for scalability - Filters query upwards to avoid overloading one
node (Bloom filter)
Services running on clusters of workstations
Distributed data structures
A chain across proxies and bases to find better
service
Stateless and soft-state proxy
Heterogeneous devices and sensors
37Multi-tier ubiquitous service discovery protocol
Global Services Registry-gateway to global network
- Context attributes provided by services
- Distance to server
- Server load
- Service channel
- Attribute-value pair service description
- Localized Service Propagation
- propagate upward with attenuation factor of
service attributes - Query Routing
- Overlay hierarchy
Brokering Agent-recommends appropriate service
Global Services
26 A multi-tier ubiquitous service discovery
protocol, Mobisys, 2003
Domain Hierarchy
38Ontology based semantic service discovery (ICU 03)
- Existing Service Discovery
- Automatic discovery of network devices and
services - Automatic configuration and reconfiguration of
network devices and services - Limitation
- Lack of service representation such as their
functionality and capability - Service description does not include semantic
meaning - Syntactic level service discovery only support
exact matching - Attribute-based matching Jini, UPnP, Salutation
- Object-based matching RMI registry, CORBA
naming service, UDDI - Ontology based semantic service discovery is
needed
39Introduction challenges
- Design and development of efficient and
specialized ontologies for a pervasive home
environment - Rich description of devices and services
- To make possible various service request message
type - Represents all kinds of device and service in
home network environment. - device attributes, device status, service state
variable, control interface, and their
relationship - Extensibility
- New device and service should be added without
modifying ontology. - Develop service discovery system to determine
whether the developed ontologies can be
applicable - Most suitable service should be discovered in
real-time
40Ontologies in home environment
- Relationship among device, service and primitive
service
Audio Device
Embedded device- Mike
Sound primitive service
Alarm service
Clock primitive service
Sound primitive service Clock primitive service
Player primitive service
Embedded device- Speaker
Recorder primitive service
Radio primitive service
41Implementation
- Architecture of Extended Lookup Service
42Activity Policy-based Service Discovery Framework
for Pervasive Computing(ICU 06)
- Semantic Service Discovery (Gaia, Aura, MIDAS,
ABSD, TCE) - Abstract representations
- Semantic matching
- Use of domain-specific ontologies for context
sharing and reuse - Context-aware Service Discovery (Anatomy, Solar,
CAttr, CaOb) - Exact or abstract representations
- Syntactic or semantic matching
- Use a variety of contexts
- gt not consider dynamic changes of service
semantics in different contexts
43Problem Statement
- Because the semantics of services is dynamically
changed in different contexts, the acquired
services might be inappropriate in some
situations - For Example
- Abstraction maximizes the availability of
services - MusicPlayer gt WinAmp or WindowsMediaPlayer
(from Gaia) - EditText gt MSWord or Emacs (from Aura)
- Context-awareness minimizes user distractions
- Near MusicPlayer gt ServiceTypeMusicPlayer,
Location getCurrentLocation(Woo-Hyun) - Available EditText gt ServiceTypeEditText,
ExecutionEnvgetCurrentExecutionEnv() - The changes of semantics in different contexts
make both of the benefits useless - Bright Light gt ServiceTypeLight, Brightness??!
- Brightness gt 30 (in daytime)
- Brightness gt 10 (at night)
- Alarm Clock gt ServiceTypeClock, Effect??!
- Effect Sound (in case of driving, or sleeping)
- Effect Vibration (in case of studying)
- Effect Display (in case of working)
44Large scale semantic service discovery UbiSearch
(ICU 07)
- Proposed idea
- Semantically similar services are clustered
around nearby resolvers in the service discovery
overlay network - The search space for a query is efficiently
limited
C
D
A
B
C
G
A
B
H
D
E
F
mapping
E
service discovery resolver service
indexes semantic vector space
I
F
G
H
I
45Overview of UbiSearch
- Features of UbiSearch
- Semantic service description and similarity
measuring function - Ontology based attribute-value pairs (AV-pairs)
- Semantic distance function
- Semantic association between services and
resolvers - Semantic vector space
- Semantic service discovery network
- Resolver organizing
- Registration query routing
46Service Description
- Ontology based attribute-value pair (AV-pair)
ltservicegt ltidgt TC1004lt/idgt lttypegt ltnamegt
Traffic Monitoring Camera lt/namegt lt/typesgt
ltattributesgt ltnamegt location
lt/namegt ltvaluegt Broadway lt/valuegt
lt/attributegt ltattributegt
ltnamegt traffic state lt/namegt
ltvaluegt Busy lt/valuegt lt/attributegt
ltattributegt ltnamegt road condition
lt/namegt ltvaluegt Dry lt/valuegt
lt/attributegt lt/attributesgt
ltinterfacesgt lt/interfacesgt
lt/servicesgt
Examples of ontology hierarchy for locations and
traffic states. The arrows represent subsumption
relationships.
A service description for Traffic Monitoring
Camera.
47Semantic Distance Function
- Distance function between two concepts in
hierarchically-structured semantic network 11 - where l is the length of the shortest path
between two concepts c1 and c2 in the semantic
tree and h is the level of the tree of the direct
common subsumer from c1 and c2 . - a 0 and ß 0 are parameters scaling the
contribution of shortest path length and depth,
respectively. - According to benchmark tests, the optimal
parameters are a 0.2 and ß 0.6. - Distance function between two services
- where n is the number of attributes, vi1 and vi2
are the values of attribute ai of service S1 and
S2, respectively. - ?i is the weighting factor for attribute ai given
by a user during query request where ? ?i is n.
48Semantic Coordination
- Lipschitz embedding
- Defined as follow
- For a given set L l1, l2, , ln, L ? X, and
distance function d - the Lipschitz embedding with respect to L is the
mapping f X ? Rn such that f(x) d(x, l1),
d(x, l2), , d(x, ln) where L n, where n is
dimensionality of a coordinate vector. - To obtain the coordinate vector xi ? Rn for
service Si, the j-th component of xi is set to
the measured distance between service Si and
landmark service j, for j1,,n. - In general, the accuracy of the coordination
improves as the number of landmarks increases. - In our case, the distance function with ?i 1 is
used for d. -
49Semantic Service Discovery Network
- Service Registration and Query Routing
- A service is registered with a resolver whose
zone contains its coordinate. - Similarly, a query is routed to the resolver