Novell Service Location Providers; User Agents - Novell EDIRECTORY 8.8 Installation Manual

Hide thumbs Also See for EDIRECTORY 8.8:
Table of Contents

Advertisement

Novell Confidential
primarily because an SA must reassert the existence of registered services periodically in order to
maintain the registration with listening directory agents.
The directory agent's job is to provide a long-term persistent cache for advertised services, and to
provide a point of access for user agents to look up services. As a cache, the DA listens for SAs to
advertise new services, and caches those notifications. Over a short time, a DA's cache will
become more complete. Directory agents use an expiration algorithm to expire cache entries.
When a directory agent comes up, it reads its cache from persistent storage (generally a hard
drive), and then begins to expire entries according to the algorithm. When a new DA comes up, or
when a cache has been deleted, the DA detects this condition and sends out a special notification
to all listening SAs to dump their local databases so the DA can quickly build its cache.
In the absence of any directory agents, the UA will resort to a general multicast query that SAs can
respond to, building a list of the requested services in much the same manner that DAs use to build
their cache. The list of services returned by such a query is an incomplete and much more localized
list than that provided by a DA, especially in the presence of multicast filtering, which is done by
many network administrators, limiting broadcasts and multicasts to only the local subnet.
In summary, everything hinges on the directory agent that a user agent finds for a given scope.

Novell Service Location Providers

The Novell version of SLP takes certain liberties with the SLP standard in order to provide a more
robust service advertising environment, but it does so at the expense of some scalability.
For example, in order to improve scalability for a service advertising framework, we want to limit
the number of packets that are broadcast or multicast on a subnet. The SLP specification manages
this by imposing restrictions on service agents and user agents regarding directory agent queries.
The first directory agent discovered that services the desired scope is the one that a service agent
(and consequently, local user agents) will use for all future requests on that scope.
The Novell SLP implementation actually scans all of the directory agents it knows about looking
for query information. It assumes a 300-millisecond round trip time is too long, so it can scan 10
servers in about 3 to 5 seconds. This doesn't need to be done if SLP is configured correctly on the
network, and OpenSLP assumes the network is in fact configured correctly for SLP traffic.
OpenSLP's response timeout values are greater than that of Novell's SLP service provider, and it
limits the number of directory agents to the first one that responds, whether or not that agent's
information is accurate and complete.

User Agents

A user agent takes the physical form of a static or dynamic library that is linked into an application.
It allows the application to query for SLP services.
User agents follow an algorithm to obtain the address of a directory agent to which queries will be
sent. Once they obtain a DA address for a specified scope, they continue to use that address for
that scope until it no longer responds, at which time they obtain another DA address for that scope.
User agents locate a directory agent address for a specified scope by:
1. Checking to see if the socket handle on the current request is connected to a DA for the
specified scope. (If the request happens to be a multipart request, there may already be a
cached connection present on the request.)
2. Checking its local known DA cache for a DA matching the specified scope.
Novell eDirectory 8.8 Installation Guide
1 1 6
Manual (ENU) 21 December 2004

Advertisement

Table of Contents
loading

Table of Contents