Short Description:
Jade is an internet file system that provides an uniform way to name and access files in an internet environment. The main emphasis in this work has been on issues of scalability. More precisely, we recognize four characteristics of scalability: size, wid
e area, autonomy, and heterogeneity. Owing to size and wide area, techniques such as broadcasting, central control, and central resources, which are widely adopted by local area network file systems, are not adequate for an internet file system. An intern
et file system must also support the notion of autonomy because an internet is made up by a collection of autonomous organizations. Finally, heterogeneity is the nature of an internet file system not only because of its size, but also because of the auton
omy of the organizations in an internet. Jade is a logical system that integrates a heterogeneous collection of existing file systems. It does not provide any storage of its own; it only maps file names onto files that are stored in existing file systems.
These underlying file systems may be heterogeneous in the, sense that they support different file access protocols for communications between file servers and their users. The access protocol not only provides the key to access file systems, but also hid
es the heterogeneity of the operating systems and the architectures, of the hosts where file systems are located. Because of autonomy, Jade is designed under the restriction that the underlying file systems may not be modified in software nor changed in a
dministration. The underlying file systems treat an instance of the Jade File System as a regular file system user without any special privileges. Rather than providing a global name space, Jade permits each user to define a private name space. A given us
er has the same view of heterogeneous, internet-wide file systems, regardless of what machine he or she is using. In other words, Jade is partitioned into a collection of per-user, autonomous, logical file systems, each of which consists of a set of physi
cal file systems and a dedicated logical name space. With the per-user approach, Jade fully decentralizes the construction and maintenance of name spaces from, system administrators to individual users. To facilitate file sharing, Jade allows one logical
file system to be mounted into another Jade file system, in the same way that a physical file system can be mounted into a Jade file system. This allows each user to transparently name and access files through another user's name space. To support a varie
ty of access paradigms and to encourage collaboration among users, Jade refines the mount operation provided by Unix-like file systems to allow multiple file systems, either logical or physical, to be mounted under a single directory. This feature is call
ed the multiple mount. With the multiple mount,, users are able to group files from different file systems under one directory and transparently locate files replicated on several file systems. Moreover, a set of users are able to share a collection of fi
les stored on different file systems without worrying about interference from one another. Jade employs whole file caching. Opening a file causes it to be cached in its entirety, on some nearby disk. Reads and writes are directed to the cached copy withou
t involving the original servers. The valid cached copy can be used for further opens as well. Because, of the high cost of accessing remote servers, complete file caching is needed to reduce the network traffic; it is essential for good performance in th
e internet. A prototype of Jade has been implemented to examine and validate its design. The prototype consists interfaces to the Unix File System, the Sun Network File System, and the File Transfer Protocol. We are currently working on the implementation
of the interface to the Andrew File System.
Model: loosely coupled, client/server
Properties: UNIX-compatible, WAN support
Transparency: location, access
Running on: Sun-4, Sun OS 4.1
Date: 1989Ð1991
Rao, C. Herman: "The Jade File System", Ph.D. Diss., Department of Computer Science, University of Arizona", August 1991.