Distributed Systems Homework 5: Distributed Key-Value Storage