Consistency In Distributed Systems