The goal of this project is to design and implement PADI-FS, a distributed system to manage sets of files. Users can develop applications that access the PADI-FS to keep their files repli- cated and highly available. The relevant operations on files are limited to open, create, read, write, close and delete. This distributed store is inspired by, and a simplification of, real systems such as Google File System, or HDFS. The contents of the files are backed by a number of data servers that provide their storage space, and are coordinated by the clients.
Programmed in C#