Description

This project simulates a fault-tolerant distributed file system using the actor model. The system includes a Directory Service and multiple File Servers connected in a ring. Clients send commands to upload and download files, and the Directory Service assigns files to servers using a hash function. Files are automatically replicated to improve reliability, and if a server fails, the system continues working by forwarding the request to the next server in the ring.

Tech Stack

  • erlang
  • Shell scripting

Contributions

  • Implemented the Directory Service to manage file locations and ring connections.
  • Built File Server actors to handle file storage, replication, and fault handling.
  • Developed the Client actor to process upload, download, and query commands.
  • Ensured system could handle server crashes by forwarding requests to active neighbors.
  • Tested the system under different failure scenarios to confirm reliability.