Service Discovery Middleware11
Service Discovery Middleware11
Service Discovery Middleware11
Service subtyping:
Clients may be interested in specific type of service e.g.
high resolution color printer required to print photo.
In other cases black and white printing service is
required. Service subtyping allows clients to specify a
needed service type with required detail.
Service insertion and advertisement: Service
advertisement allows dynamic insertion into and
removal of services from the network, providing an
extension of plug and play technologies into a networked
environment.
Services slip into a network with minimum manual
configuration and advertise their availability either
directly to clients or to servers maintaining catalogs of
services. Services leaving a network can advertise their
departure.
Service Browsing: browsing allows clients to explore
the space of currently available services without prior
knowledge of network environment and without any
specific service types in mind.
Information obtained through service browsing may be
presented to user in a GUI and then user can select the
service to interact with.
Service Catalogs: Services perform advertisement against
one or more catalogs rather than interacting with the
clients directly.
Similarly clients query catalogs for needed services rather
than searching the network for services.
The advantages are greater flexibility in deploying services
beyond the local network segment and a reduction in
multicast traffic.
Eventing : Eventing allows asynchronous notification of
interesting conditions e.g. a needed service becoming
available or an important change in the state of the service
such as printer running out of paper.
An eventing mechanism provides more timely
notifications of important events.
Garbage collection: it facilitates remove outdated
information from the network, including advertisements
associated with dysfunctional services and subscriptions to
eventing services.
Otherwise clients try contact non-existence services or
services continue to perform operations on behalf of crashed
clients. Critical for proper operation of service catalog.
17
$$?
Anyone need
a printer?
18
19
Dynamic Client/Server Architectures
thin client camera feed
video storage
face recognition
load balancing
20
Service Discovery: Capabilities
Protocol suites provide most or all of the
following:
Ability to advertise available services
Automatic discovery of nearby services
Potential to discover services that aren’t nearby
Ability to "discuss" service capabilities
Abstraction
“I just need a printer”
Service catalogs (some)
Garbage collection facility (catalogs, service
advertisements)
21
Universally unique identifiers
It is useful to be able to identify services uniquely,
particularly in large networks where many instances of the
same service type may be present.
Assigning universally unique identifiers (UUIDs) to
services has several benefits:
It allows clients to search for a specific service by its
identifier.
It allows clients and service catalogs to determine if two
service instances are in fact the same service
If the version field contains 1, then the node field is set to a 48-bit
MAC address, the clock_seq field is set to a random number, and
the three time fields are set to a 60-bit measure of elapsed time (in
100-ns increments) from midnight, October 15, 1582.
If the version field is 4, then the other fields (except for the variant)
are set to a random number.
28
services
clients
lookup service
29
Standardization
An essential component in service discovery frameworks
is a standardization process for new service types.
For clients to discover needed services (in an abstract
sense, printers, scanners, high-performance compute
services), it must be possible for the client to specify
service types in a standard way.
This is more than a simple naming problem—beyond the
initial discovery of services of a specific type, a client
must know how to interact with the service—how to
make the service.
09/25/22 Dr. Ashish Kr. Luhach 30
What does it mean to be a service of type X?
What operations are appropriate for services of type X?
What protocols does an instance of type X use?
What descriptive attributes are required to adequately
describe the characteristics and capabilities of a service?
Device
Service State Table
Control Server
Device
36
UPnP: Six Steps
Addressing AutoIP
For the IP address impaired…
Discovery SSDP
Discovery and advertisement
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
37
Discovery and Advertisement
Protocols
Discovery and advertisement protocols allow clients to
find interesting services and service to make their
existence known (dynamically) to clients.
lookup service
de
TCP connection
Lookup server
41
Host needing a service sets up a
TCP-based server: multicast
response service—waits for offers
of service
lookup service:
running UDP-based
multicast request
service
42
UDP multicast—request for references
to lookup services
lookup service
43
lookup service hears
UDP multicast, notes
connection info for
TCP server…
lookup service
44
…and establishes a
Se
TCP connection to
rv
ic e
service
lookup service
45
UDP multicast:
“137.30.2.59,
port 7777…”
Lookup server
Advertisement
Multicast discovery and
advertisement
Service advertisement is the converse of discovery,
allowing services entering or leaving a network to
advertise their availability (or unavailability).