[standards-jig] Distributed JUD
f.forno at kamin.polito.it
Sun Jan 5 18:01:53 UTC 2003
Alexey Shchepin wrote:
> 2) We make arborescent graph from all servers: every server have "adjacent"
> servers, and search request from one of them routed to all others.
> -: If one of servers in down, then we can miss results from segment of
> servers, also this is not fitted into jabber:iq:search namespace,
> because this cause multiple responses from different servers (and I
> dislike idea of sending multiple responses with one ID). Also this
> can cause many S2S connections.
With a gnutella like search algorithm (i.e. each searver knows only its
neighbours, the search path is a strongly connected graph, not a tree,
and search packets have a time to live) we could bypass the problem of
down servers. The feseability of this approch depends on the possible
s2s traffic due to search queries, since gnutella doesn't scale well
with high traffic amounts.
> 3) All information is stored on several "root servers". This information is
> synced between them, and all other servers sends updates of information and
> search queries to any of them.
> +: Reliable
> -: All updates still can make big traffic for root servers (I don't
> know how statistics about how often this can be).
My only doubt about this solution is: how much data can grow? Are there
enough entities interested in offering this kind of service, considering
the required storage and bandwith?
Updates could also not be very heavy: servers can offer only new items
to other servers, in a nntp style
> 4) All information is stored on several "root servers", information is not
> intersected between them, and all other servers sends updates of information
> always only to one of them. Search queries to one of root servers routed by it
> to all others root servers.
> +: Pretty reliable
> -: If one of root servers is down, then we get not all matching users.
> And this servers receive all queries, that can cause overloading of
The biggest problem of this solution is that items can be partioned only
respect to one search field: if I divide the search space among
servers accordingly to the family name, how can I route a query with the
"NOBODY expects the Spanish Inquisition!"
jabberid: sciasbat at jabber.linux.it
More information about the Standards