TU/e Service Discovery Mechanisms:
Two case studies
Control UPnP
Device
point
Terminal wireless Host
Domain CORBA
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Software Architectures for
interoperability
Application Application
network network
manager manager
(a) Middleware bases on API, network issues are kept away
Application Application
specific specific
protocols protocols
transport transport
layer layer
(b) Aspects of the protocol and of the underlying network technology
carry through into the application.
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service recognition
•A service can range from the unstructured use of
a device to the structured control of well-defined
functions.
•How the service is made available:
- Via the driver provided by the device
- Via the interface definition document (XML)
- Rely on standardized protocols
•Service discovery mechanisms can be classified:
- Centralized
- Distributed
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service Discovery in UPnP(1)
The Universal Plug and Play Protocol (UPnP)
uses the Simple Service Discovery Protocol (SSDP) to
locate the service in IP networks.
searching advertising
Device 1
Control
point 1
Internet
searching advertising
Control Device 2
point 2
•Both searching and advertising use HTTP Multicast.
•The response uses HTTP Unicast.
•UPnP targets to home-networking environments.
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service Discovery in UPnP(2)
UPnP uses the context-based mechanism to make the
control point understand about the device and its services:
- At the device side, the device and its services are
specified in XML files.
- After processing SSDP, the control point downloads
these files, parse them to fully understand the device.
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service Discovery in UPnP(3)
A remote UIClient controls a TVDevice
UIClient TVDevice
API for UPnP API for
Control point Device
Java Virtual Java Virtual
Machine Machine
Operating Operating
system system
IP
IP Network IP Network
1. UIClient and TVDevice use SSDP to discover each other.
2. UIClient retrieves the TVDevice description and get a list of
associated services.
3. UIClient retrieves the service descriptions of interesting services.
4. UIClient starts interacting with TVDevice.
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service Discovery in CORBA(1)
CORBA uses a centralized Naming or Trading Service
to locate the services available on the network.
access register
Access Shop 1
Cient 1 Bridge
Internet
Access
Bridge
access register
Shop 2
Client 2
•Services are registered at a Naming Service
•Clients discover services by accessing a Naming Service
•Each Access Bridge can contain its own Naming Service
•Wireless CORBA targets the mobile phone environment
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service Discovery in CORBA(2)
CORBA uses pre-defined API interfaces to allow clients
to access services that use supported interfaces:
• Each service uses a certain API interface
• Clients support a limited set of API interfaces
• API interfaces are not extensible
Problem: this does not scale well
Solution: protocol on top of CORBA
Example: Remote User Interface protocol
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Service Discovery ina TVDevice (3)
A remote UIClient controls
CORBA
Remote UI
UIClient TVDevice
GIOP
ORB ORB
Operating Operating
system system
IP
IP Network IP Network
1. UIClient and TVDevice use Naming service to
discover each other.
2. UIClient subscribes to the TVDevice and get an initial
user interface description
3. User performs actions through the user interface rendered
by UIClient
4. TVDevice handles requests from UIClient and returns
updates for the user interface.
Service Discovery Mechanisms: two case studies / IC’2002
TU/e Conclusion
•UPnP and wireless CORBA use clearly different models for
service discovery. Wireless CORBA belongs to (a) and
UPnP belongs to (b) – slide 2.
•UPnP uses HTTP Multicast – a distributed method.
•Wireless CORBA relies on the infrastructure available within
it to publish services, like the use of naming service
– a centralized method..
•Scalability in both technologies is limited. In UPnP because of
the restriction of the multicasting protocol. In wireless
CORBA this is due to the limitation of API interfaces.
•For wireless CORBA, it is unclear how services are easily
discovered on other terminals that are nearby.
Service Discovery Mechanisms: two case studies / IC’2002