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.