Web server applications typically serve documents from a user-configurable directory which we will refer to as document_root. To implement remote fetching transparently to the Web server application, each back-end node NFS mounts the document_root from other back-end nodes on a subdirectory in its own document_root directory. Tagging is accomplished by the front-end dispatcher changing the URL in the client requests by prepending the name of the directory corresponding to the remote back-end node. Figure 11 depicts the situation where the dispatcher tags an HTTP GET request by prepending back-end2 to the URL in order to make back-end1 fetch file foo using NFS.
An issue concerning the fetching of remote files is NFS client caching, which would result in caching of targets at multiple back-end nodes and interfere with LARD's ability to control cache replication. To avoid this problem, we made a small modification in FreeBSD to disable client side caching of NFS files.