Information Technology Reference
In-Depth Information
much more scalable because service information
is not replicated.
While in a hierarchical directory structure,
directories have parent and child relationships.
Domain Name System (DNS) is an example of a
hierarchical directory structure. Searching through
the directory hierarchy is necessary. For example,
a service discovery protocol is based on widely
available DNS servers to do service discovery
(Cheshire, 2002). Many other service discovery
protocols also use tree-like hierarchical structures
to provide scalable solutions. Nevertheless, it is
difficult to make directories both scalable and
efficient.
Service State in Directories. Most service
discovery protocols choose to use soft states. In a
service announcement, the life span of the service
is specified. Before the service expires, it should
announce itself again to renew the service. Or,
the service will not be valid after the life span.
In the mean time, expired service entries will be
wiped off from the directories periodically. In
case a service is down, that service will not be
available after its lifespan and clients will not use
it. Therefore, directories are free from monitor-
ing service states. Soft state service management
mechanism greatly simplifies the system design.
On the other hand, regular service announcements
require more network bandwidth, and put extra
load on the directories.
On the contrary, directories may maintain
service status as hard state. In this case, the di-
rectories keep the service status until it is told to
change the service status information. Using hard
state directories, few service announcements and
housekeeping jobs are required. But the disad-
vantage is the difficulty to guarantee all service
information is up to date in hard state directories.
Services may go down without notifying direc-
tories or out of date service status results from
network communication error.
Directory Hierarchies. A single hierarchy
directory has a tree structure, while a multiple
hierarchy structure could be a forest or many
trees sharing a set of leaf directories. Multiple
hierarchies index service information on different
keys. Like a database index, service information
search based on a key may greatly speed up the
search. Extra computing resources are obvious
overhead for multiple hierarchy directories.
Service Announcement and Lookup
Service announcement and lookup are the key
parts of service discovery protocols. Query and
announcement are the two basic mechanisms for
clients, services, and directories to exchange infor-
mation. Four different communication techniques
are used in service discovery protocols: unicast,
anycast, multicast, and broadcast. Based on the
OSI reference model, these four communication
techniques may be at the data link layer (media
access control sub-layer), at the network layer, or
at the application layer.
Query vs. Announcement. The two methods
for clients to learn which services are available are
query and announcement, also known as active
and passive or pull and push. As announcements
go to all the clients or directories, interested clients
or directories do not need to ask separately for the
same service. Nevertheless, clients or directories
have to handle all the announcements, regardless of
whether they are interested. When asking actively,
a client or a directory will receive an immediate
response. While listening to service announce-
ments, a client or a directory may wait up to the
interval of service announcement.
Unicast. Unicast is widely used in many ser-
vice discovery protocols. When a client knows
a directory's network address in advance, it will
send a unicast message to the directory. If a client
knows a service provider's address, it will contact
the service provider directly. Furthermore, if a
service's address is known to a directory or vice
versa, service announcements and queries between
a directory and a service are also using unicast.
Search WWH ::




Custom Search