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

Difference between the communication and transmission, Communication is the...

Communication is the process of sending and receiving data by means of a data cable that is associated externally. Transmission means the transmitting of data from the source to

What is horizontal and vertical parity, What is horizontal and vertical par...

What is horizontal and vertical parity A single error can cause both horizontal and vertical parity checks to be wrong. Two errors can also be easily detected. If they are not

Explain hyper cube interconnection networks, Hyper Cube: A Hypercube inter...

Hyper Cube: A Hypercube interconnection network is an expansion of cube network. For n=3, Hypercube interconnection network may be described recursively in this manner:  For n

Metrics are used by routing protocols, What metrics are used by routing pro...

What metrics are used by routing protocols to verify the best path?

What are main types of networks and explain, a)  Peer-to-Peer Network Co...

a)  Peer-to-Peer Network Computers can act as both servers sharing resources and as clients using the resources. b)  Server-based Network Give centralized control of netwo

Enumerate about the star topology, Enumerate about the Star networks C...

Enumerate about the Star networks Comments: 1 - If one connection/station fails the other devices aren't affected 2 - If central hub breaks down, the whole network fail

sorting circuit along with odd-even merging circuit, As we previously know...

As we previously know, the merge sort algorithm needs two circuits, i.e. one for merging and second for sorting the sequences. Thus, the sorting circuit has been derived from the a

Two routers running igrp to communicate their routes, What must be true for...

What must be true for two Routers running IGRP to communicate their routes? Ans) Similar autonomous system number

What is meant by symmentric multiprocessing (smp), It treats all processors...

It treats all processors as equivalent. Any processor can do the work of any other processor. Applications are separated into threads that can run simultaneously on any available p

Illustrate the downside of groupware, Illustrate the downside of groupware ...

Illustrate the downside of groupware The downside of groupware is that they are very costly and with the increase in complexity or additional features, the cost increases propo

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