The following project is from EE450 Computer Networks at University of Southern California.
Simulated a network includes a client, monitor and 4 servers. The server communicating with the client acts simliar as AWS. There are three backend servers, two of them are storage servers and the other is a computing server. The client sets up a TCP connection to AWS and sends a query. The AWS receives the query and sends query to Storage servers (A/B) using UDP. AWS recived the data from server A or B, then sends it to server C, which performs computational tasks. The monitor connecting to the AWS server using TCP is used to record results of every steps and print them out.