Client-server implementation for exploring the 6 consistency semantics in Doug Terry's paper: Replicated Data Consistency Explained Through Baseball
Compiled classes are already present in bin folder.
To run the compiled classes, go to bin folder.
Open a terminal and run the following commands:
- rmiregistry &
- java Clusters.Cluster
open terminal 2
- java Proxy.ProxyServer (for strong consistency)
- java Proxy.Proxy_Eventual_Server (for eventual consistency)
- java Proxy.MonotonicServer (for monotonic reads)
- java Proxy.StaleBoundServer (for stale bounds)
open terminal 3
- java Clients.Client (for strong and eventual consistencies)
- java Clients.MonotonicClient (for monotonic)
- java Clients.StaleBoundClient (for stalebound)
To rerun the experiments terminate all three process and run again.
If you want to compile the code, go to the src folder and compile appropriate files
javac Client.java ../Proxy/Client_Proxy_interface.java
javac Proxy/ProxyServer.java Clusters/Proxy_Cluster_interface.java
javac Clusters/Cluster.java
and run the class files from the src directory.