[jdev] Discovering the Federation.

Cedric Hyppolite cedric.hyppolite at free.fr
Tue Aug 29 15:59:04 CDT 2006

Le 29 août 06 à 22:08, Peter Saint-Andre a écrit :

> Hal Rottenberg wrote:
>>> Well, usually client developers download the list of servers  
>>> before the
>>> user ever logs on (so the user can choose a server). If we say  
>>> that you
>>> need to be connected to the XMPP network before you can get a  
>>> list of
>>> servers, then we have a bootstrapping problem.
>> Let me come at the OPs question a different way.
>> Why can't you use S2S to discover the meshed network of servers and
>> available services?
> You can, I guess. But I thought this guy was looking for a data feed
> that he could use to auto-populate the list of servers his client  
> shows
> to a user who has not yet registered an account with any server. So if
> you need an XMPP server connection in order to discover which XMPP
> server you might register with, then you have a bootstrapping  
> problem, no?
> /psa

My initial request was to use XMPP to find the network. Having a list  
of servers from the web is a backup solution, where I need to do  
things myself instead of relying on a Jabber library package handling  
most of the work.

You could have a system where you can connect to a server without  
having an account on it, and discover which servers he knows. This  
information is not account specific and this is similar to account  
registration which obviously does not require an account.

To solve the bootstrapping problem, the client would include an  
initial list of stable, well-connected xmpp server which would be  
used as a seed to discover the full network, then select which server  
to register to. The advantage of this is to have an xmpp solution to  
use on all the steps from 'I don't know jabber' to 'I have an account  
and I chat with my friends'. In the same way as user directories are  
handled by jabber instead of relying on web pages of user account  
info, server directory could be handled by jabber.

You can then imagine features in the client like selecting the server  
based on values from the 'server statistics' namespace including  
number of accounts, uptime, ping time, the availability of off-line  
messaging, secure login...


More information about the JDev mailing list