Network application
Determine what kind of information needs to be stored on each host, and what kind of information needs to be communicated between them. Hand in a design document, which describes your system's objective(s), issues that you anticipate, alternative solutions to those issues and explanation of your choice of solutions (e.g. application architecture, choice of transport-layer protocol, design issues such as synchronization and maintaining consistency of data), application-layer protocols (e.g. what is the format and order of messages that hosts send to eachother), algorithms, and any assumptions/limitations/restrictions of the system.
● Describe a minimalist version of your network application, which you will implement as a starting point; think of this as a rapid prototype.
● Describe how you plan to enhance your application, involving multiple clients, and issues of synchronization and consistency of data. What happens if each client maintains a cache of a portion (e.g. one-tenth) of the information stored at the server? You may choose additional enhancements such as a GUI interface, but that is not required.