May 2nd, 2020
Using a simple halloween simulation that lets the user move a cart and collect candy from various houses, I built a distributed program that allows a client program to echo any move made from it to all other clients connected to the server. This distributed system can switch between Java's RMI and NIO communication. It can also run atomically as well as use both Centralized Two-Phase Synchonous Consensus and Asynchronous Consensus to validate proposed changes from the clients.
Above is an example of a cart move on three seperate clients, which would be run on seperate computers. You can see that any input from one client is replicated on the other clients.