Final Project for CS 4504 (Distributed Computing)

The P2P Distributed System consists of two clusters of user or client nodes. It operates on a client-to-client/peer-to-peer TCP connection scheme for direct communication, that is, without any intervening routers. However, in traditional TCP/IP, this is not possible since the clients/peers have no knowledge of their respective IP addresses. This is where the Server-Routers (SRouters, for short) come in. Each S-Router has in its routing tables ONLY the necessary routing information for all the clients/peers that are connected to it.
Now, suppose that a node N1 (in cluster/group N) desires to communicate directly with node M4 (in cluster/group M), then N1’s S-Router will be consulted with a message which contains sufficient information for this S-Router to use. The S-Router for group N will then consult (by way of messaging) the S-Router for group M about the wish of node

The Application was written in Java.