Coursework for TC30 module Distributed Systems for University of Leeds