This repository hosts our projects for the Distributed Systems (SDIS) course unit at FEUP.
A distributed backup system, featuring dynamic data duplication, and other reliability protocols. More detailed information here.
A peer-to-peer network for distributing adversarial search computations. This type of tasks is a great candidate for distributing over a network, as it is highly parallelizable, and all tasks obey a short common interface (providing the successors, utility, and is_final functions).
Peers communicate through our message protocol, and expose an RMI interface for authenticated clients to submit tasks for computation. We also made a small example for the TicTacToe game.
A more detailed overview of the project can be seen in the report.