Distributed Systems Coursework 2