The Distributed File System: Replication (DFS-R) Protocol is a remote procedure call (RPC) interface that replicates files between servers. DFS-R enables creation of multimaster optimistic file replication systems. It is multimaster, because files may be changed by any member that participates in replicating shared files. It is optimistic, because files may be updated without any prior consensus or serialization. Therefore, files can be changed by any member without requiring the member to prevent other members from changing the files.
DFS-R is designed to replicate files, attributes, and file metadata. DFS-R is intended to interoperate with the user-level file system semantics: Files are replicated when the applications that modify them close the files. File replication is designed to be performed asynchronously, such that updates made on one member are processed at the rate at which the receiving machine is able to receive the updates, without any real-time restrictions on when the changes must be propagated. DFS-R allows user-level file system operations to continue independent of protocol operations.
Sections 1.8, 2, and 3 of this specification are normative and can contain the terms MAY, SHOULD, MUST, MUST NOT, and SHOULD NOT as defined in RFC 2119. Sections 1.5 and 1.9 are also normative but cannot contain those terms. All other sections and examples in this specification are informative.