OSF DCE Application Development Guide--Introduction and Style Guide
Using the DCE Name Service
5.6 Partial Binding and the Endpoint Mapper
Binding handles imported by clients from the namespace normally contain only partial
binding information. The exported binding information is sufficient to locate the DCE
host daemon on the server’s host (the machine the server resides on), but it does not yet
include a specific endpoint (UDP or TCP port number) for the desired service on that
host.
The reason for omitting dynamic endpoint information in exported binding handles is to
avoid unnecessary multiplication of accesses to the namespace. Since dynamically
generated endpoints are necessarily reassigned every time a server starts up, entering
them into the namespace (and thus forcing CDS to propagate the new information
throughout the various directory replicas) would greatly increase namespace
housekeeping chores.
Thus, the last step in the binding process is obtaining an endpoint. The step is performed
transparently as far as the client is concerned. It is accomplished by the endpoint mapper
service of the DCE host daemon, dced, when the client makes its first call to the partially
bound-to server. The endpoint mapper service manages its own private database of
server endpoints for the host on which it is located. The endpoints are registered by the
servers as part of their startup routine.
The binding information that accompanies a prospective client’s first remote procedure
call takes that call to the well-known endpoint of dced on the exporting server’s host
machine. The endpoint mapper now takes over. It looks up a valid endpoint for the
requested service, copies it into the binding handle, and transfers the call to that
endpoint. Subsequent calls from the client, which now has a binding with one of the
server’s endpoints, will bypass the endpoint mapper.
The endpoint mapper picks an appropriate endpoint for an incoming partial binding by
matching interface UUIDs by default. Any endpoint that has been registered under an
interface UUID that matches the incoming interface UUID, which identifies the interface
requested by the prospective client, is eligible for selection. This mapping process is
called forwarding when it occurs with connectionless protocols, and mapping when it
occurs with connection-oriented protocols.
The following figure shows the endpoint mapper service completing a binding.
Figure 5-4. The Endpoint Mapper Service Completes a Binding
RPC
Runtime
RPC
Runtime
Client Server
......................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ......................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Endpoint
Mapper
(dced)
subsequent
calls
first
call
Client’s Machine Server’s Machine
124246 Tandem Computers Incorporated 5− 11










