[JDEV] Status Notifications.

Tim MacKenzie Tim.MacKenzie at fulcrum.com.au
Sun Jan 17 20:29:17 CST 1999


On Fri, Jan 15, 1999 at 09:50:20AM -0800, qbradley at csc.UVic.CA wrote:
> The roster is stored in a file on the server.  When the client conencts to
> the server, the server sends it back to the client.  The client keeps the
> roster in memory, and periodically sends messages asking the server if the
> users are online.

Expecting the clients to poll for people on your roster is going to
become very expensive very quickly.  Presence indication is one of the
most important features I think, and having built and used a system
where I am notified *immediately* when someone arrives I find this vastly
preferable.

Storing the rosters on the server and having server initiated notification
is vastly more efficient. Consider N users probing for N users every
minute (the worst case), forget storage requirements, disk is cheap,
network bandwidth is not, nor is cpu. Also, with the server doing the
notification it only needs to check the list when an presence change
event occurs.

Some may disagree about the network bandwidth issue, but if we are to
build a worldwide system then you are inevitably going to hit some
pretty small pipes, high latencies, etc.

On a related note...
I haven't really looked at the inter-server stuff... but the impression
I get is that there is no spanning tree connecting various servers and
that a message from a at jabber.a.com to b at jabber.b.com involves a direct
connection from the server at a.com to b.com. Is this correct? 

Tim



More information about the JDev mailing list