Issues of network transparency and file replication in the distributed filesystem component of locus (system)
Bruce J. Walker · 1983
The advent of distributed systems has brought with it the opportunities for greater resource sharing and availability via resource replication and the problem of building distributed software. This dissertation addresses these issues in the light of new local area network hardware which has improved bandwidth, delay and error characteristics. Software principles are proposed for designing local area network operating systems. One of the major architectural approaches to ease software development in a distributed environment is network transparency, by which we mean both a global naming scheme for all resources in the network and a common interface for local and non-local resources so the collection of machines appears to users and applications as a single machine. Network transparency also facilitates data sharing. The principle of resource location transparency is analogous to and may be as significant as the principles of data independence in database design and virtual memory in operating system design. Automatic and yet selective resource replication can, when coupled with transparency, address the increasing need for higher availability. If one copy of a resource is unavailable, another may be used without the need for programs or users to be aware of the substitution. Two internal architectural principles are particularly significant. First is the idea of hiding the network interface deep within the operating system, transparent even to upper levels of the operating system code. Second is the idea of request/response protocols tailored for specific problems. To best demonstrate the viability and significance of these principles, an extensive case study was constructed and is presented. LOCUS, a highly transparent, efficient, general purpose distributed timesharing system, including replication of storage, was developed. It was based on Unix, is upward compatible with it, has been operational for two years and is the base for much of the distributed computing research at UCLA.