CS 4513 Exam #2 April 29, 2003
All five problems count equally. When you are finished, please staple this question sheet to the front of your answer sheets.
1. Briefly
define each of the following:
a. distributed file system
b. load sharing in a distributed system
c. queueing model
d. message digest (or hash)
2. We discussed two distributed file systems, the
Network File System (NFS) and the Andrew File System. For each of the following pairs of terms:
a. stateless
vs. stateful
b. minimize
load on server vs. minimize load on network
indicate which term applies to NFS and which term applied
to Andrew. For each of your answers,
describe in detail some feature of NFS or Andrew that justifies your answer.
3. a. Describe how authentication
works in NFS. (That is, how does a
server decide whether a request for file access is authorized.) In what ways is NFS authentication
inadequate?
b. Kerberos is an alternative authentication system. Describe in detail how Kerberos overcomes the inadequacies of NFS authentication. For your convenience, a copy of the Kerberos handout is printed on the back of this exam sheet..
4. One of the issues in designing a load balancing algorithm in a distributed system is how a heavily loaded node locates a lightly loaded node to transfer work to. For each of the following approaches, describe in detail how the approach works, and discuss the advantages and disadvantages of that approach.
· lightly loaded nodes broadcast their load information
· central server keeps track of which nodes are lightly loaded
· multicasting to the lightly loaded nodes
5. For this question, discuss how to convert a distributed file system into a reliable distributed file system. Select either NFS or Andrew to analyze.
a. Which file system will you analyze?
b. Describe one way in which the file system is unreliable. That is, describe a specific set of circumstances where the failure of a single node would cause some part of the file system to fail.
c. Describe in detail how you would modify the file system’s data structures and / or algorithms in order to make it reliable in the face of the failure you described.