Data Consistency Models in Distributed Systems — Programming Keynou