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