Assignment 3

Due: April 30
Weight: 15%
Team Effort:  
You are allowed to work in teams of 2 to 3 people for this assignment.

Purpose: The purpose of this assignment is to give you experience in  developing a complex distributed application that either supports sophisticated data management or fault tolerance. 

Description: You are to extend assignment 2.  You can either support failures in a server with a replica or you can incorporate the use of a DHT to support data querying.