Modern Distributed Filesystems For Linux: An Introduction
Extending Filesystems Across the Web

Bill von Hagen
Wednesday, August 7, 2002 11:42:51 AM
Before distributed filesystems, filesharing across a network was
limited to simple file transfers using protocols such as the File
Transfer Protocol (FTP). The World Wide Web has largely done away with
the need for standalone file transfer commands by integrating the FTP
protocol into most browsers. The ability to easily transfer files over
the Web has also led to substantial research in using the Web and its
underlying HyperText Transfer Protocol (HTTP) as the basis for
distributed filesharing.
The best-known of these is WebDAV, which
stands for Web-enabled Distributed Authoring and Versioning. WebDAV is
a set of extensions to the HTTP protocol that provides a collaborative
environment for users to access, manage, and edit files that are
stored on Web servers.
WebDAV support is built into popular Web servers such as the Apache
Web server, where it relies on the authentication mechanisms supported
by the server, ranging from simple .htaccess files to integrated NIS,
LDAP, or even Windows authentication. Using WebDAV to access and
update files over the Web is built into operating systems such as Mac
OS X, is supported in recent versions of Microsoft's Intenet Explorer,
and is also available for Linux using applications such as the GNOME
project's Nautilus file manager. While not a filesystem in the
traditional sense, you can even mount WebDAV filesystems on Linux
systems by using the davfs loadable kernel module.
WebDAV provides standard distributed computing features such as file
locking, creating, renaming, copying, and deleting files, and also
support advanced features such as file metadata, which is searchable
information about the files on a WebDAV server, such as their title,
subject, creator, and so on. In the near future, WebDAV will include
integrated support for revision control, which will make it easier for
multiple users to collaborate on shared files by tracking changes,
their authors, and other aspects of shared document maintenance. These
versioning capabilities are provided by the DeltaV protocol, which is
actively under development by the DeltaV Working Group
(http://www.webdav.org/deltav) of the Internet Engineering Task Force
(IETF). Some projects, such as Subversion
(http://subversion.tigris.org), a WebDAV and DeltaV-based replacement
for the standard Unix/Linux Concurrent Versionsing System (CVS), are
already available in Alpha form. Subversion provides versioning and a
database-based file repository with a C-language API that simulates a
versioned filesystem that is easily accessed over the Web.
Next: Wrapping Up »