Secure and Reliable Storage System

 Duration: 1 /or 2 semesters

 Number of students: 1 or 2 students ( 1 student 2 semesters or 2 students 1 semester)

 Brief Description:        
A given file(s) will be divided into N shares. Each share is stored in a different computer. When the file(s) are needed, it should be possible to get it back from any M computers
(M < N). Itís secure because at least M shares are needed to rebuild the original. And itís reliable because it can tolerate the loss of up to N-M shares.

 Prerequisites: network programming (for shares distribution part)

Deliverables:    1) A program that will take a file and number N of shares as input and produce N shares that satisfy the sharing requirements.

                         2) A program that will take N shares and store them in N different computers.

                         3) A program that collect upon request the shares from M computers to rebuild the file.

                         4) A working prototype that integrates the 3 programs together.

                         5) A final report including manuals, test reports, bugs fixes, and future recommendations.