CSE 586: Distributed Systems Ethan Blanton Programming Assignments Simple Messenger Android Application for sending messages across 5 other android nodes using Java Socket API Group Messenger Implement an Android ContentProvider Use file I/O to create a persistent key-value store. Manage multiple sockets and multiple client connections Distributed Hash Table based on Chord Protocol Implement ID space partitioning and re-partitioning Implement ring-based routing Handle node joins to a DHT containing data Amazon Dynamo Implement a distributed key-value storage system Implement data replication Implement data partitioning Handle node failures while continuing to provide availability and linearizability