3.1 Common Details
The following diagram illustrates the main components of the Distributed File System: Replication (DFS-R) Protocol synchronization core.
The left side of the figure illustrates the server actions and the right side summarizes the client state machines. On the server, file creations, changes, and deletions are picked up from the file system and inserted into a database. Changes to the database trigger version chain vector change notifications that are managed by a Join module, as depicted on the upper left of the figure. In response, the client, which maintains an inbound connection (also known as InConnection), requests the server's version chain vector, and then requests updates for the changes that are not already known to the client. The server sends the updates to the client, which are managed by a Meet module, as depicted on the lower right of the figure. The Meet module resolves name conflicts (different files created on multiple replication partners that have the same filename) and downloads and installs the updated file contents, which are served by the server's outbound connection (also known as OutConnection), to the local file system.
Figure 2: Main components of the DFS-R synchronized core
The main protocol of DFS-R is initiated by the client, and is used to transfer metadata and data from the server (upstream partner) to the client. DFS-R can be configured to replicate in both directions, in which case there are two separate instances of the protocol operating between a pair of machines. Each machine, then, is both a client and a server.