To make this application a distributed network, a separate distributed network module is created in this application and few assumptions are made in this context. In this module, a predefined metrics are defined in this context like the number of clients to be added and the amount of data to be sent and if these metrics are exceeded then an alternative sever is chosen to add the clients and also process the client request and following are the conditions to be applied in this context

  • A sever can handle only 6 clients and if more clients are added to the server, these clients are automatically added to the next server
  • If both the servers has 6 clients each and more clients need to be added, an extra server is created and the new client is added to that server
  • Each server can process a maximum of 6 client requests to send or receive data and if this limit is exceeded, automatically the next available server is chosen in this context
  • All the servers updates the data to the master server as mentioned above

Client module

A detailed explanation to the server module and the distributed network module is given above and the design aspects of the client module are given in this section. As mentioned above, a single server can handle not more than 6 clients and these clients can communicate with each other or to their server or the other servers when the load on their corresponding server is high. Following are the key functions of the client module

Send data

Clients can send data to the desired server or client as per the requirements. Whenever the client wants to send the data, users are provided with the option to choose the desired destination and this destination can be either another client or server. Initially the users are provided with the list of options and these options only include the peer clients and their corresponding server and if any case the distributed network conditions are violated, users is given a warning message that the server is busy and now the users can choose another server to process their request. While sending the data, users are provided with a browse button and a text area field so that they can choose the desired file or write some request at the sending option and they can click on the send button to send the data. Once the data is send to the server or any other client, the corresponding details are stored across the database.

Receive data

Clients can receive the data either from the server or the client and to achieve this separate functionality is designed in this context. Whenever a client or server sends the data to a particular client, a separate link is provided to the users with respect to check all the data received against that client. Whenever the users click on the link, a table is generated showing all the details of the received data against the sender and the table contains the columns like sender Id, the date or time when the data was send and the description of the data. User can check the desired sender details to download the data and once done the data is saved across the database. 

This paper is written and submitted by sai