Features of DCE DFS

DCE DFS has the following features:

Uniform file access

DFS is based on a global namespace. A DFS file is accessed by the same name no matter where in the distributed system it is accessed from. Users do not need to know the network address or name of the file server machine on which the file is located to name and access the file. For example, the file /.../ can be addressed by that name from anywhere in DCE, including from foreign cells.

Intracell location transparency

Data can move from one location to another within a cell without a user or programmer being affected by the move. Because of this transparency, an administrator can move a fileset from one file server machine to another for load balancing, for example, without disturbing users.


DFS is a high-performance file service. Fast response is achieved in part through the caching of file and directory data on the DFS client machine. This reduces the time it takes for a user to access a file, and it also reduces the traffic on the network and the load on the file server machine. The first time a user on a machine accesses a file, the cache manager gets a copy of the file from the rile server machine and caches it on the client machine. Subsequent access to the file can then be made to the copy on the client machine rather than to the copy on the file server machine.


DFS makes its services and data highly available in several ways. One way is through replication, in which a read-only copy of a file can be stored on more than one file server machine. This way, if the file server machine that houses one copy of the file is down, another copy of the file may still be available on another file server machine. DFS replication is especially useful for files that are accessed by many users but change infrequently (for example, binary files).

Another way DFS achieves high availability is through caching. Copies of files are cached on DFS clients. Even if a client is temporarily disconnected from the network, users of the client may be able to access copies of files that reside in the local cache.

DFS administration can occur while users continue to access DFS files, which is another means of providing high availability. Both backups and relocation of DFS filesets can be done without making the data in the filesets unavailable to users.

The physical file system portion of DFS, the DCE local file system, is designed for fast recovery (yielding high availability) after failures. DCE LFS is a log-based file system; that is, LFS keeps a record of actions taken that affect the file system structure so that in the case of a system crash, the record can be replayed to bring the file system to a consistent state.

Support for distributed application programming

DFS is itself a distributed application, but it in turn supports the development of other distributed applications. Programmers can use DFS to share data or to communicate in a distributed application. DFS takes care of network communications and the movement, synchronization, and storage of shared data.

Ease of administration and scaleability

DFS files are grouped into units called filesets, which are convenient to administer. The processes that implement DFS, such as the fileset location server and the backup server, are monitored and maintained automatically by the BOS server, resulting in less work and a more scaleable system for a DFS administrator. Because of the high performance mentioned previously, DFS has a high client-to-server ratio. This leads to a scaleable system, in which clients can be added with low impact on other clients and the rest of the system. Finally, DFS includes tools such as the update server to automate time-consuming administrative tasks.


DFS is fully integrated with other DCE components, including RPC, the security service, the directory service, and threads.


DFS interoperates with other file systems; for example, a UFS file system can be exported to users of DFS.


DFS maintains POSIX single-site read/write semantics. The DCE Local File System adheres to POSIX 1003.1.