Legend:

* '''Metadata server''': The server that generates metadata from the URLs of publications and their paths as they will appear on a Syndicate filesystem.

8

* '''Master Copy''': A directory hierarchy on the metadata server that resembles the directory hierarchy that will be seen on the Syndicate client. Each file in the Master Copy is a stub that contains the URL where the corresponding data can be found (each URL will resolve to a file on a content server). In implementation, the master copy itself is a Syndicate hierarchy, so we can always guarantee that file stubs have an associated URL (e.g. in the user.Syndicate_url extended attribute)

8

* '''Master Copy''': A directory hierarchy on the metadata server that resembles the directory hierarchy that will be seen on the Syndicate client. Each file in the Master Copy is a stub that contains the URL where the corresponding data can be found (each URL will resolve to a file on a content server). In implementation, the master copy itself is a Syndicate hierarchy, so we can always guarantee that file stubs have an associated URL (e.g. in the user.syndicate_url extended attribute)

9

9

* '''Client''': The Syndicate FUSE module, which downloads metadata from one metadata server to generate a filesystem in which the act of opening and reading a file is interpreted as downloading and reading the file from the content server.

10

10

* '''Crawling (a.k.a. Indexing)''': The act of a metadata server determining which published datasets are available from one or more content servers, and updating its master copy accordingly.

11

11

* '''libsyndicate''': Common code between all components

12

* '''Locking''': The act of taking a metadata snapshot of a directory and the files it contains within a master copy, and writing it to a lockfile within the directory. Then, when another process reads the directory (using libmdserver), it will use the metadata contained in the lockfile instead of the metadata represented by the files in the directory.

12

* '''Locking''': The act of taking a metadata snapshot of a directory and the files it contains within a master copy, and writing it to a lockfile within the directory. Then, when another process reads the directory, it will use the metadata contained in the lockfile instead of the metadata represented by the files in the directory.

13

13

* '''Local file''': A file in a Syndicate hierarchy is treated as a “local file” if it is created by a process other than a metadata update. It contains locally-created data. Local files may be opened for reading or writing.

14

14

* '''Remote file''': A file in a Syndicate hierarchy is treated as a “remote file” if it is created by a metadata update. Then, it only refers to data on a remote host. Remote files may be opened only for reading.