Title: Ubiquitous Networking
1Ubiquitous Networking
- Lecture 9 Service Discovery
- Prof. Younghee Lee
-
2Why 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 - 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.
3Service 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
4Why 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
5Pervasive 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) - XML based registry for business White pages,
Yellow pages, Green pages - 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.
6Pervasive 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.. - Privacy vs. Trust need personal information for
trust - 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
7Service Discovery
Context-aware Discovery - Context-based Ranking
Pervasiveness
Semantic Discovery -Semantic representation
Matching
Discovery in Ad-hoc/sensor 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
8Service 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)
9Service 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
10Components
- 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)
11Service 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
12Ontology Definition
the study of being or existence. It seeks to
describe or posit the basic categories and
relationships of being or existence to define
entities and types of entities within its
framework. existence statements of first-order
logic of the form "for some x Fx".
conceptual model of a domain (ontological theory)
unambiguous terminology definitions
- formal, explicit specification of a shared
conceptualization
commonly accepted understanding
machine-readability with computational semantics
13Ontology Example
name
email
- Concept
- conceptual entity of the domain
- Property
- attribute describing a concept
- Relation
- relationship between concepts or properties
- Axiom
- coherency description between Concepts /
Properties / Relations via logical expressions
Person
matr.-nr.
research field
isA hierarchy (taxonomy)
Student
Professor
attends
holds
Lecture
topic
lecture nr.
holds(Professor, Lecture) Lecture.topic
Professor.researchField
14DAML/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,
15Do I have to build the ontologies myself? Maybe
not.Ontologies (suitable for reuse) are exploding
- Upper Level Ontologies
- UNSPSC, SUO, OpenCyc, OpenDirectory, TAP,
- Specialized Ontologies
- UMLS, SNOMED, GO, CIA World Fact book, DAML-S,
even vcs Ontology Libraries - http//www.daml.org/ontologies/
- http//www.ksl.stanford.edu/ontolingua
- Advisory bodies
- Semantic Web Science Foundation, NIST,
Ontology.org,
16Ontologies in most areas including the
environment
- Quick web search yielded
- Semantic Web for Earth and Environmental
Terminology JPL. http//oceanesip.jpl.nasa.gov/sw
eet - National Institute for environmental eScience
Cambridge - http//www.niees.ac.uk/ - Gene Ontology dynamic controlled vocabulary
that can be applied to all organisms
http//www.geneontology.org/ - Design and Creation of Ontologies for
Environmental Information Retrieval- Telecordia -
http//sern.ucalgary.ca/KSI/KAW/KAW99/papers/Kashy
ap1/kashyap.pdf - Ontologies of environmental applications for a
digital library of scientific collections -
http//dlforum.external.forth.gr8080/papers/Envir
oInfo.pdf - Waste water ontology decision support for
wastewater treatment processes -
http//citeseer.nj.nec.com/ceccaroni00wawo.html - ... Many others
17CoBrA An Ontology for Context Aware Pervasive
Computing(03)
Key top-level ontology of CoBrA
18Tools
- Tools developing http//www.daml.org/tools/
- Annotation Ontology Translation
- Browser Persistence
- Crawler Query Tools
- Editor RDMS Mapping
- Graph Visualizer Report Generation
- Transformation Search
- Validator Ontology Analyzer
- Importer Ontology Editor
- Inference Engine Merging
- Many are in research labs, but companies
emerging and lasting - Network Inference, Sandpiper, Ontoprise,
AppliedSemantics, Sentius, .
19Service Design
- Service Invocation
- RPC salutation
- Downloadable Java Code Jini
- Need JVM not suitable for resource limited
device - XML, SOAP, HTTP UPnP
- Service status Inquiry
- Polling
- Service event notification implement this
- Register with the service. Service will notify
clients who have shown interest
20Directory 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 - DHT
21Service announcement and lookup
- Query/ announcement, non-directory-based/directory
-based - Q/A also known as active/passive or pull/push
- Unicast
- Unicast message to directory
- Anycast
- INS overlay network anycast Application layer
anycast a set of similar service - select a
service with the best service weight - Multicast
- Clients, service, and directories use multicast
address for announcement and query - network address need not to be configured or
known ahead of time - Limited multicast address at the network layer
- Not all the routers have multicast capabilities
- Broadcast
- Bluetooth, salutation
22Directory 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
23Directory Design
- Garbage collection
- Removing network state associated with deceased
clients and services - Leasing
- A lease is assigned for each registration
- The service must send renewal at a specified
interval - Failure to send a renewal results that the
service catalogue (e.g. DA) purges all
information related to the service from the list
of available services - Advertised expiration
- Attach timeouts to service advertisement
(soft-state) - 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, Secure Service
Discovery Service (SSDS) - Multiple response? client pick one. Good for
fault tolerance
24Service 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 (Intention) INS - Personalized service
- 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 services
25Security and Privacy
- User authentication, service authorization
- Servers user information and key ad hoc
environment? - Confidentiality, Integrity
- Communication btw service discovery components
- Attack from malicious users message encryption
and authentication code - Non-repudiation, availability, and user privacy
- Digital signature for non-repudiation
- Overhead of administration huge in dynamic
environment
26Service Integration
- Service composition
- Simple service integration chains services
together - Complex service integration interact with
multiple servers - Static service integration
- Dynamic service integration more difficult
- May replace failed services or add in more
services - Context aware service composition
- Fault tolerance and failure Recovery
27Interoperability
- Bidirectional bridging of UPnP and Jini
- Salutation mapping the Salutation architecture
for service discovery to Bluetooth SDP - Common API for each service discovery middleware
28Well-known protocols
- Jini
- UPnP
- SLP
- Bluetooth SDP
- Salutation
29Well-known protocols
30Well-known protocols
31Jini - 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
32JINI Discovery Related Services
- Lookup service
- Holds information regarding available services
- Query of lookup service by Jini client
- Match request
- Download object providing service from lookup
service - Registration of a Jini client or Jini service
with lookup service - Send message to well-known IP multicast address,
identical to all Jini instances - Limit multicast to LAN using time-to-live
attribute - Use of leases that need to be renewed
periodically for registering Jini services
33Jini - operation
34JINI Discovery Scenario
35Jini evaluation
- Pros
- Plug Work ? Simple System
- Code Mobility ? decoupling stub and skeleton
- Extensibility to the legacy IP based networks
- Compatibility with Java based products
- Cons
- Requires adoption of Java
- In general, device must be capable of supporting
a Java VM, and all the core Java 2 classes - Raises the computational bar slightly higher than
other approaches - Security problem due to the mobile code
- High dependence on Lookup Server
36UPnP
- 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
37UPnP Six Steps
- Addressing ? AutoIP
- For the IP address impaired
- Discovery ? SSDP, Simple Service Discovery
Protocol - 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?, XML
- Control ? SOAP
- Making a service do its thing(s)
- Eventing ? GENA, General Event Notification
Architecture - Updates on interesting service state changes
- Presentation ? (HTTP)
- Device GUI
38UPnP - Architecture
39UPnP evaluation
- Lighter weight than Jini
- Some serious limitations
- No directory agents
- No security architecture
- Limited search capabilities
- only with service name or type
- How much community involvement?
- Widespread adoption possibility
40Service 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
41Service Location Protocol (SLP)
- Consider the following example of a new employee
setting up his workstation to use one of the
department printers. Here's a dialog between this
new employee (Newbie), and his coworker (Stan),
who's been around for a while - Traditional Newbie "Hey Stan, the setup program
is asking me for the name of our printer. What
should I type in?"Stan "Which printer do you
want?"Newbie "The big one by the copier."Stan
"I've heard it doesn't work well with postscript
applications. You'll have to use the one down the
hall."Newbie "Ok. What should I type in."Stan
"Actually, I don't know I use the one by the
copier. You'll probably have to call the IS help
desk."Newbie ... - With SLP A setup program uses SLP to display to
the user the description (including location) of
the printers that work with postscript. The user
selects one that is close to his office. The SLP
service returns all necessary addressing
information directly to his device setup
application.
42SLP Entities
- User Agents perform service discovery on behalf
of client software - Service Agents advertise the location and
attributes of services - Directory Agents aggregate service information
- Service advertisement
- Services are advertised using service URL IP
address, port number and depending on the service
type, path - Service templates description of the service
attributes and service scheme associated with a
particular service type
43SLP Service Discovery
- Standard Case
- No- DA case
44Salutation 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
45Salutation Architecture
- The Salutation Manager (SM)
- Middleware to isolate the developer from the
protocol - Resource Manager for capability information
- Service Broker for functional units
- Registry,discovery, availability, session
management - Transport Manager(TM)
- allows separation with the underlying network
46Salutation Manager
47Salutation Functional Units
- Functional Units
- Abstract representation of the functions provided
by applications, service or devices. - Client Functional Units
- Service user
- registers capability with the local SM
- Service Functional Units
- Service provider
- Discover and request service use through a SM
- Server Functional Unit may be on a remote entity
or implemented locally
48Salutation Proxy Service
- A Client or Service Functional unit need not be
implemented in an entity containing a Salutation
Manager. - The Architecture provides for one
Salutation-enabled entity to act as a proxy for
Functional Units not supporting the Architecture.
49Salutation Discovery Process
FUDRFunctional Unit Description Record
50Salutation Evaluation
- Unlike others, Salutation Architecture is
- Non-proprietary
- Royalty Free
- Independent of
- Programming language
- Network protocol
- Operating environment
- Salutation has product shipping today
- Salutation has no hidden agenda
51More protocolsmSLP mesh-enhanced SLP
- Fully-meshed peering DA architecture with one or
more scopes in common - Reliability
- Scalability
- Backward Compatibility- extends DA Advertisement
with a mesh-enhanced attribute
10 mSLP mesh enhanced SLP, ICCCN, 2000
52More protocolsUDDI Universal Description,
Discovery and Integration
- UDDI specifications and schemas used to build
discovery services on the Internet web service
discovery system - Provide consistent publishing interface
- Allow programmatic discovery of services
- Who Sun, IBM, Microsoft partnership
15 UDDI technical white paper, 2000
53Service 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
54Service 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)
55Service discovery in ad hoc network
56Group based Service Discovery (GSD)
- Pervasive computing environment
- Comprised of handheld, wearable and embedded
computers regular desktop clients and server - Customized information, services in their
vicinity - Two important aspects of service discovery
- Discovery architecture
- Request-broadcast-based global broadcast scale
poorly - Advertisement-based cache size increases with
the number of service - propose group-based service discovery
- Service matching mechanism
- propose semantic matching using OWL
57Service Discovery Protocol GSD
- Service Advertisements and peer to peer caching
- , Service-Group, Other-Group, Hop-Count,
Lifetime, ADV_DIAMETER - ( Remember Routing Information Advertisement )
58Service Discovery Protocol GSD
- Service Advertisements and peer to peer caching
- , Service-Group, Other-Group, Hop-Count,
Lifetime, ADV_DIAMETER - G1 Other-Group in Fig 5 (b)
59Service Discovery Protocol GSD
- Request Routing
- GSD selectively forwards the request to those
nodes - When a node does not have enough information to
selectively forward a request, it broadcasts the
request to its neighboring nodes - (False forward) which case?
60Service Discovery Protocol GSD
- Reverse routing of service reply
- Like AODV, DSDV
- Service matching
- Like DReggie
- Adaptability
- User control advertisement diameter, max.
hop-count of discovery requests and advertisement
frequency - Dynamic self-starting property
61Semantic 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
62Context 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
63An Infrastructure for Context-Awareness based on
First Order Logic(03)
- The Context Model
- The basic structure the context predicate
- ContextType(,,)
- Example context predicates
- Location(chris, entering, room 3231)
- Temperature(room 3231, , 98 F)
- Sister(venus, serena)
- StockQuote(msft, , 60)
- PrinterStatus(srgalwl printer queue, is, empty)
- Time(New York,
- The structures of different context predicates
are specified in an ontology.
64Semantic 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
65Ontologies in pervasive computing emviroment
- Ontologies in CoBrA 18
- Modeling the context in an intelligent meeting
room environment. - Main ontologies
- place related classes
- agent related classes
- agents location context related classes
- agents activity context related classes.
- Ontologies in GAIA 17
- Describing various parts of the GAIA environment
- entities - applications, services, devices, users
- context information - locations, activities,
weather information, and other information - Limitation
- Define additional classes for representing
relation among classes - Explosion of class definition in large domain
- Lack of semantics for describing which services
can be provided by a device - Interoperability between different ontology sets?
66Location-aware service discovery
- Where is the closest Italian restaurant to me?
- Location sensing
- Nomadic users
- Handy devices
67CoolTown
- 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
68Splendor
- Tag-based location aware
- Tag label location and people
- Proxies
- Enhanced security
- Service management (registration, security)
Trusted servers managing services
Bootstrapping using multicast
69Agents2Go
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
70Contributions
- 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)
71Internet-scale discovery
- Construct scalable, robust services
- Huge throughput demands and availability
- Interoperability
- Efficiency
- Fault tolerance
INS/Twine, Ninja/SDS, WSPDS
72Intentional Naming System (INS)
- Environment
- Heterogeneous network with mobile devices,
sensors and computers - Location dependent wireless services
- Todays network problems
- Applications cannot learn about network no
control - Failures are common
- Dynamic environment
- No centralized server (no DHCP/directory server)
- Zero configuration is desirable
- Need new naming system and resolution
architecture - Large part of this teaching materials (slides
on INS) are prepared referencing the tutorial
made by Prof. Hari Balakrishnan MIT Lab for
Computer Science http//wind.lcs.mit.edu/hari_at_lcs
.mit.edu
73Whats in a name?
- Expressive name language (like XML)
- Resolver architecture decoupled from language
- Names are queries
- Attribute-value matches
- Range queries
- Wildcard matches
74Resolver network
- Resolvers exchange routing information about
names - Multicast messages forwarded via resolvers
- Decentralized construction and maintenance
- Implemented as an overlay network over UDP
tunnels - Not every node needs to be a resolver
- Too many neighbors causes overload, but need a
connected graph - Overlay link metric should reflect performance
- Current implementation builds a spanning tree
75Intentional Naming System (INS)
- Robustness
- Name as soft-state no need for explicit
de-registration - Resolution via network of replicated resolvers
- Names are weakly consistent, like network layer
routes - Fate sharing with services, not INRs
- Self configuring resolvers
- INR-to-INR ping experiments for link weights
- Forms evolving spanning tree
- Scaling
- Two potential problems
- Lookup overhead
- Handled by load-balancing by spawning new INR
- Routing protocol overhead
- Handled by Virtual space partitioning
76Intentional Naming System (INS)
- Applications
- Wireless Networks of Devices (WIND)
- Location-dependent mobile applications
- Status
- Wide area design for scalability
- Increasing number of services on overlay networks
- Distributed web caches
- Transcoders
- Multiparty communication
- Naming systems
- IPTV..
77INS/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
78Ninja
- Secure Service Discovery Service (SDS)
- Uses XML to encode service descriptions at
service catalog - Service advertisements are encripted
- Certificate Authority to authentication and
Capability Managers for security - Client possessing certain credentials are allowed
to discover the services - 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
79Multi-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
80Ontology-based semantic service discovery for a
pervasive home environment (ICU)
- Home environment
- making home more comfortable, safe and convenient
- controlling devices automatically without users
knowledge - pervasive computing
- Automatic service discovery with minimized users
intervention is needed
81Ontology 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
82Introduction 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
83Ontologies in home environment
- Ontology design method
- Determine domain and scope of the ontology
- Domain Common middle-class family
- Scope Describing device and service, device
attributes, service state variable, control
interface, and their relationship - Enumerate important terms in the ontology
- Device
- physical unit of providing a service.
- All device maintain their device status and
attribute - Service
- User may requests a service-based query
- Some devices play more than one service
- Primitive service
- Mediator between device and service
- Define class and class hierarchy
- Define properties, slots and instance
84Ontologies in home environment
- Advantage of our ontology structure
- Low complexity
- Easily define relation between device and service
- To make possible composition of services and
device attributes based query message
85Ontologies in home environment
- Ontology structure
- Device ontology
- A smallest physical unit of providing a service
- Service ontology
- Primitive service composition, and primitive
service and device attribute composition - Primitive service ontology
- A smallest logical unit of providing service
- A mediator between device and service
- Attribute ontology
- Device attributes
- Represent device attribute efficiently
- State Variable / Control Interface ontology
- models state of primitive services with state
variables and control primitive service through
control interfaces
86Ontologies 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
87Service Ontology
- Service ontology structure
- Service ontology
- primitive service ? ( primitive service n
primitive service) - ? ( primitive service n device attribute)
- ? ( primitive service n state variable)
- Service ontology example
- Alarm service Alarm clock primitive service
- ? (Clock primitive service n Sound primitive
service) - ? (Clock primitive service n Light primitive
service (illumination (over127lux)))
88Implementation
- Architecture of Extended Lookup Service
89Activity 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
- not consider dynamic changes of service
semantics in different contexts
90Problem 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 WinAmp or WindowsMediaPlayer
(from Gaia) - EditText MSWord or Emacs (from Aura)
- Context-awareness minimizes user distractions
- Near MusicPlayer ServiceTypeMusicPlayer,
Location getCurrentLocation(Woo-Hyun) - Available EditText ServiceTypeEditText,
ExecutionEnvgetCurrentExecutionEnv() - The changes of semantics in different contexts
make both of the benefits useless - Bright Light ServiceTypeLight, Brightness??!
- Brightness 30 (in daytime)
- Brightness 10 (at night)
- Alarm Clock ServiceTypeClock, Effect??!
- Effect Sound (in case of driving, or sleeping)
- Effect Vibration (in case of studying)
- Effect Display (in case of working)
91Design Consideration
Context-aware Semantics. The semantics on
abstract representations must be dynamically
changed according to different contexts
High Availability. When the required services are
not available or found, substitutable services
which are functionally similar to the ones must
be found
92Proposed Approach
- Policy-based Query Coordination Context-aware
Semantics - Queries are dynamically changed according to
policies - IOPE-based Semantic Matching High Availability
- Services are semantically described and
discovered by using IOPEs, especially with effect
ontology
93Proposed Approach (contd)
- Policy-based Query Coordination
- What is policy for?
- Adopt different resource constraints according to
different contexts - Reflect the changes of semantics between
abstraction and context-awareness - How to work?
94Proposed Approach (contd)
- Policy-based Query Coordination (contd)
- An Example of Query Coordination
95Proposed Approach (contd)
- IOPE-based Semantic Matching
- Why is a fine-grained service description
required? - Different aspects of semantics lead better
service discovery, selection, composition,
invocation, interoperation, and
executionMETEORS - capabilities, requirements, effects, and
execution pattern - Granularity of semantics (less) Aura Gaia
Semantic Web (more) - How to design effects?
96Proposed Approach (contd)
- IOPE-based Semantic Matching (contd)
- Processes of IOPE-based Semantic Matching
97Contributions
98Large 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
99Overview 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
100Service Description
- Ontology based attribute-value pair (AV-pair)
TC1004
Traffic Monitoring Camera
location
Broadway
traffic state
Busy
road condition
Dry
Examples of ontology hierarchy for locations and
traffic states. The arrows represent subsumption
relationships.
A service description for Traffic Monitoring
Camera.
101Semantic 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.
102Semantic 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. -
103Semantic 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
104Service discovery
- Service-centric networking
- Current Internet Finding paths to network nodes
- Applications run on top of routing.
- Future Internet Finding paths to services
- Applications run on top of Service Discovery
- Requirements
- Semantic Matching
- Similarity-based service matching and ranking
- Personalization
- Scalability
105Service discovery (cont.)
- Recent trends
- Service discovery in MANETs
- Flooding based
- Tight coupling between SD and routing
- DHT based
- Data items are distributed randomly in the
network - Nodes which are logical neighbors of each other
store unrelated data items - Efficient in data lookup but support only
syntactic matching - Semantic encoding/indexing
- Target the problem of distributed
similarity-based searching - Key idea encode data items (service instance) to
keys - Semantic-preservation
106Service discovery (cont.)
- Summary
- DHT-based architecture seems to be a better
choice for design - Separate complex function into layers
- Designing a shared infrastructure is still
challenging - Service/data representations are
application-specific. - Personalized service discovery and ranking is the
key for a shared infrastructure - Service discovery at various heterogeneous
network such as sensor network, ad hoc network
and wired/wireless network.