Building a Distributed File System using Win DDK and IFS Kit

 

(to be done in groups of 2)

 

In this assignment you will have to build your own distributed file system for a windows platform. The general features of this distributed file system will be as follows:

 

Network transparency: same access operation as local files

Location transparency: file name should not reveal its location

Location independence: file name should not be changed when its physical location changes

User mobility: access to file from anywhere

Fault tolerance: you will have to use RAID techniques to overcome this issue. The use of RPC will also facilitate to some extent with the connection issues.

 

File mobility: move files from one place to another in a running system

 

 

 

The design of the file system must include the following:

 

Name space

 

 

Sharing Semantics

 

Stateless operation

 

 

File Handles

 

 

 

You model should be similar to the NFS with regard to RPC and XDR formats and the standard Mount protocol involving MNT, DUMP, UMNT, UMNTALL, EXPORT. The mount operation must check the file permissions along with other descriptors.

 

 

 

Resources

 

http://www.microsoft.com/whdc/devtools/ddk/default.mspx

http://msdn2.microsoft.com/en-us/library

 

You will need to become comfortable with the Win DDK to begin with. A document on the internals of the file system on windows will be put up soon.

 

Deliverables

 

Finally you will have to give a working demo for the file system that you have implemented. There will be consistency checks for a given file, its permissions. Make sure that the file system can survive crash tests, i.e. you will have to ensure a RAID like support system for handling that situation.

 

A well explained report (only Latex) indicating your design strategy and reasons for choosing the same.

 

Deadline  

 

30th April, 2007.