OSF DCE Application Development Guide--Introduction and Style Guide

Using the DCE Name Service
Figure 5-5. Print Server Entries in Namespace
RPC
Runtime
Client
........................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.........................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Client’s Machine
Endpoint
Mapper
....................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Print
Server
A
Print
Server
B
Print
Server
C
Print
Server
D
Servers’ Machine
?
?
?
?
1
2
3
"A" "B" "C" "D"
inter-
face
Printer
inter-
face
Printer
inter-
face
Printer
inter-
face
Printer
Server
A
partial
binding
Server
B
partial
binding
Server
C
partial
binding
Server
D
partial
binding
Names of
Entries
Identical
Exported
Interfaces
Identical
Exported
Partial
Bindings
Namespace
The following steps describe the sequence of events shown in the above figure:
1. The client imports a partial binding to the printer interface from the entry A in the
namespace.
2. The client makes its first call with the binding it imported from A.
3. The endpoint mapper at print server A’s host, when it receives the call from the
client, has no way of knowing which of the four print servers it should map the call
to, since all four servers have registered their endpoints under the same interface.
It therefore picks one at random to complete the binding.
The entry names are different, but the partial binding information contained in the entries
is identical, since the servers’ host machine is the same. The interface UUID included in
the call is no help, since that same interface is offered by all the servers. A client seeking
a print server may not care to which server (and thus to which printer) its request goes,
but then again, it may care. If it does, there is a way it can specify a server so that the
endpoint mapper can select an appropriate endpoint to complete the partial binding.
5.8 Using Object UUIDs to Avoid Binding Ambiguity
Binding handles can contain, besides host address and endpoint information, an object
UUID as well. The endpoint mapper will try to match an object UUID contained in a
binding handle with one of the object UUIDs associated with its map of registered
endpoints. This allows even a partial binding to specify a target more precisely than just
124246 Tandem Computers Incorporated 5 13