Distributed system, Computer Networking

Assignment Help:

You should develop a system consisting of an application acting as a broker and several agents that need to communicate between them. The agents can only communicate in pairs (i.e. each agent can only communicate with one agent at the time). At any given time, several agents should be able to communicate in pairs. Each agent is controlled by a user. Each agent takes a message from the user and sends it to another agent or displays the message it receives to the user. The broker will keep an updated list of agents who have registered themselves as available for connection. The broker will also keep a list of agents that are connected and their status (i.e. are they available for communication? are they already busy communicating and then temporary unavailable for communication?, etc). If requested, the broker should make this information available to the agents. In this way, an agent can specify another agent it wishes to communicate with. Each agent can run on a different machine. Once two agents have agreed to communicate, messages should be routed directly from one agent to the other without using the broker as intermediary. Each agent should allow the user to:

  1. Get a list of every user connected and waiting to start a communication session from the broker.
  2. Decide with whom the user can start a communication session (among the other available users).
  3. Decide when to end the connection.
  4. Send and receive messages from the other user.

In your report you should outline the major issues involved in this application pertaining to distributed systems (such as possible communication protocols that will be used in the system, concurrency control a justified selection of the architecture on which a prototype system may be based, the application you have built (design, implementation, evaluation etc).

Your program must be based on the case study scenario listed above and any assumptions you had to make. Please clearly state your assumptions.


Related Discussions:- Distributed system

What is a database server, What is a Database Server? With a database s...

What is a Database Server? With a database server, the client passes SQL requests as messages to the database server. The results of every SQL command are returned over the net

Define co-axial cable, Define Co-axial cable. A solid central conducto...

Define Co-axial cable. A solid central conductor surrounded by insulating material and then by a cylindrical shield woven from fine wires is called as co-axial cable. The shie

Types of redundancy checks, Types of Redundancy Checks Parity Check ...

Types of Redundancy Checks Parity Check Simple Parity Check Two Dimensional Parity Check / Longitudinal Redundancy Check (LRC) CRC (Cyclic Redundancy Check)

What is the multicast routing, Sending a message to a group multicast addre...

Sending a message to a group multicast address is known as multicasting, and its routing algorithm is known as multicast routing.

Synchronous tdm and statistical tdm, Difference between synchronous tdm and...

Difference between synchronous tdm and statistical tdm

Difference between multiprogramming and multithreading, Question: a) L...

Question: a) List three characteristics and two potential problems of a peer-to-peer environment. b) List three characteristics and two potential problems of a client/

Labels and label switching, An ATM network is created from interconnected A...

An ATM network is created from interconnected ATM switches. The attachment ports or points can be connected to computers or other ATM switches. As cells reach at an ATM switch, the

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd