Computer Science 441

Principles of Distributed Systems

Gregory M. Kapfhammer

flickr photo shared by Patrick Brosset under a Creative Commons ( BY-NC ) license

Color Scheme

Key Concept

Corresponding Diagram

In-Class Discussion

In-Class Activity

Details in the Textbook

File Systems

Purpose of file systems?

Files and directories

Available file systems

Organization structures

Distributed versus local file systems?

flickr photo shared by Τϊζζ¥ under a Creative Commons ( BY-NC-ND ) license

Distributed file systems

Benefits and drawbacks?

Remote access model

Upload/download model

See Figure 11-1 for more details!

Virtual file system

NFS client

NFS server

See Figure 11-2 for more details!

File handles

Symbolic links

Hard and soft file links

Use the ln command with a partner

Make a "soft" symbolic link

Learn more about a "hard" symbolic link

What are the differences?

Support by basic NFS operations

See Figure 11-3 for more operations

Google file system

Manage large files with large "chunks"

See Figure 11-5 for more operations

Process design for file systems

Stateful or stateless?

What are the trade-offs?

NFS was originally stateless

NFS is now stateful!



Distributed file systems perform RPCs

Reading data with standard procedures ...

or with a compound procedure?

See Figure 11-7 for more details!

Further innovations to support file systems?

flickr photo shared by FreshTilledSoil under a Creative Commons ( BY-NC ) license


Innovations in the Coda file system

Disconnected operations in Coda

See the "Coda Cartoons" for more details

RPC2 is built on top of unreliable UDP

RPC2 multicasting for file status notification

RPC2 provides a parallel RPC in Multi-RPCs

File systems push the boundaries of communication

flickr photo shared by FreshTilledSoil under a Creative Commons ( BY-NC ) license

File server exports a directory

File client mounts the directory

See Figure 11-11 for more details!

File handles

Root file handle

Root file handle

Automounting NFS file systems

Semantics of file operations

Discuss Figure 11-17 and its four way of file sharing

Client-side file caching

Why should clients cache?


Disconnected operation

What should clients cache?

Clients cache file data, attributes, file handles, and directories

Server-side file replication

Why should servers cache?

Fault tolerance

What should servers cache?

Frequently used or most "important" files

Security in file systems



Provide mechanism but do not specify a policy


Access control policies

Any questions about distributed file systems?