This project is focused on the implementation of a library for reliable broadcast communication among a set of faulty processes together with a simple application to test it. The library must guarantee virtual synchrony, while ordering should be at least FIFO.
Our project consists of a real distributed application implemented in Java, with the use of Docker for the deployment and sockets as basic communication facilities.
Following the project specifications, we considered a LAN scenario (i.e., link-layer broadcast is available), that no joins or disconnections happen during the view change and in general, that no processes fail during the time required for previous failures to be recovered (i.e. viewchanges proceed smoothly) and ack messages are always received by all or none
-
Design Choices available in the Presentation Doc
-
Specifications available in the Specification Doc