A computer system includes a distributed application program having shared
objects on a client workstation and on a server. Installation of the
application program assures that an object request broker, a preferential
naming service (PNS), PNS registry, and a portion of the application
program are executable on the client workstation. In operation, the
application program makes a request of the PNS containing an object name
and criteria for determining an object reference. The PNS accesses the PNS
registry to select candidate records according to the object name and
version criteria. In addition, for a tree structured registry, the PNS
responds to scope criteria and cross references to identify candidates. A
tree structured registry may include references to portions of other tree
structured registries. The PNS determines a policy from a candidate
record, then determines an object reference by applying the policy. When
needed, the PNS activates a local object or contacts a naming service on
the server to determine the object reference. The object reference is then
provided to the application program. The policy may dictate that candidate
records refer only to local objects, only to remote objects, that a local
object if viable is preferred, or that a remote object if viable is
preferred. The request may include a version criteria directing use of an
exact version or use of a latest version.