PreviousNext

Introduction to Using NSI

It is important to remember that names and objects are separate things in DCE. Consider, for example, these two DCE names:

/.../tinseltown.org/dce/printers/macmillan

/.../tinseltown.org/dce/employees/goethe

These strings are not file names or file directory names; if you attempt to execute the ls command on them, you will only get an error message. They are path names that identify entries in the DCE Directory Service, which is DCE's database for storing distributed information. This database is often informally referred to as the namespace.

The most important type of distributed information stored in the namespace is information that enables RPC clients to rendezvous with RPC servers; it is called binding information. The directory service can be used to hold other kinds of data too, but the main subject of the following discussions will be its use as a binding repository.

The set of binding name entries is like a huge data structure of pointers from object names to object locations, and the directory service is used mostly as a public DCE locational database, enabling servers to advertise themselves and the objects and resources that they manage, and clients in turn to find and access them. You should never confuse objects with their names; the two are separate things. In particular, the directory service data associated with a name is held in one place (namely, the directory server's database), while the data associated with the object named is held in other place (namely, the object server's database).

How then, you might ask, are filenames represented in DCE? Here are two examples

/.../tinseltown.org/fs/doc/jones/app.gd/chap2.ps

/.../tinseltown.org/fs/doc/tolstoy/novels/war_and_peace/chap2.ps

As you may have guessed, these too are namespace entries, but the entries in this case refer to remote files, and the entry name as a whole is the remote filename. What makes these names different from the other two names given earlier is their third element, fs/, which identifies a junction from the DCE Directory Service's namespace into the DCE Distributed File Service's own, separately maintained, namespace.

What happens is that /.../tinseltown.org/fs is the DFS file server's DCE namespace entry, and any attempt by a file service client to access a file object whose name begins with /.../tinseltown.org/fs will implicitly bind to this server, which will then be responsible for finding, in its own namespace, the file object referred to by doc/jones/app.gd/chap2.ps or doc/tolstoy/novels/war_and_peace/chap2.ps and performing the requested operations on it.

More:

The UUID

Object UUIDs

Interface UUIDs

Summary: Names and UUIDs