CS402 Distributed and Parallel Systems