views:

31

answers:

4

How could a network of servers communicate with each other?

For example, if Client A connects to Server A, how would the other servers be informed of this? I'm guessing you would need a "central" server, but how would it be implemented?

I'm really dumbfounded on this, so any help would be nice :)

A: 

Other servers wouldn't be aware of this communication unless they specifically ask either client1 or server1 about it - if the servers ask each other for a current list of clients from time to time. If all the servers share the same database, then perhaps they can look there to see current activity, but they normally wouldn't be aware of communication that doesn't involve them.

What are you looking to accomplish, or are you just curious?

rwmnau
I'm just curious.
someguy
+1  A: 

One of the points of distributed systems is that the servers don't need to be aware of each other's doings. Server A and Server B could be front end servers even sharing the same database and still be able to work independently. The "central server" you're referring to would be the database which could physically be on a third machine or either Server A or Server B.

Kaivosukeltaja
Server A would still have to talk to the server with the database though.
someguy
A: 

If the servers are on the same subnet and you're using IPv4, maybe you could put the ethernet cards in promiscuous mode? They would see the traffic to and from clientA/serverA. But that's opening up a whole can of worms you probably don't want to open (security, privacy, etc.) Probably a more viable solution would be to have them share a common database. Each server would update the database when they are handling a connection, and would periodically poll the database to see what other connections are being handled.

Timothy
+1  A: 

You might be interested to read this paper on An Analysis of the Skype Protocol for an example of how very large numbers of machines can communicate without all talking continuously to a central server or database. (A central login server is used when the user first logs in only.)

David Gelhar