An API to allow distributed applications to run over it.
This API provides the following functionalities to the user and to the application running over itself:
- Add/Modify/Read/Delete File(params : dirPath, filename, ...)
- File Locking for series of updates
- Delete server
- Add server (any number of servers supported)
- Auto-handling of upto n-1 crash faults
The following assumptions are made to simplify the model:-
- Fully Connected Topology
- Asynchronous and reliable system
- FIFO channel
- No link failure or Byzantine Fault
- Client does not contact a failed server for read/write or make multiple attempts at various servers
- Sponsor node does NOT fail while data is being copied-over to a new server
- Not more than n-1 crash faults (n - number of nodes in the network)
- Consistency Model: Sequential Consistency
- Fault model: Reliability, Availability: 100%, subject to fault model constraints