Fault Tolerant File is a library that provides fault tolerance for a file. 2 * F + 1 locations are used. Operations can be performed at any time when F + 1 correct locations are available. This provides fault tolerance for F locations. If there are less then required F + 1 correct locations then operations wont be performed until enaugh correct locations are available.
Sequence of values returned by read operations is a subsequence of sequence of write operations values.
Read operations following successful write operation return the written value until next write operation is performed.
F + 1 correct locations availability is required to perform next operation
F of 2 * F + 1 locations can fail at any time
Failed locations when fixed will be correct in the system after next write operation
The protocol used in this solution is based on Paxos[Lamport1990] and Query/Update[QU] protocols.