[standards-jig] Server-side packet routing

Julian Missig julian at jabber.org
Wed Mar 13 23:30:25 UTC 2002


On Wed, 2002-03-13 at 18:16, Chris Chen wrote:
> Actually,
> 
>  From what I have been testing, I think you are able to send a direct 
> browse IQ request to a specific JID rather than the server.  The request 
> will be forwarded to the client.  The client can then send back a browse 
> reply that contains all the resources it can support.
> 
> If this is the case, then you already have a protocol negotiation method to 
> use right now.  You can try testing it and see what happens.  Note that you 
> do have to specify the entire JID (including the resource) for this to 
> work.  If you have the server resolve which client to send the request to, 
> then it won't work.  The server will return an error to you instead.
> 
> <iq to="blah at jabber.org/Home">
>    <query xmlns="my:own:calendar" type="get"/>
> </iq>

We're talking about several things here.

a) Yes, browse can be used for feature negotiation. That's one of the
points of browse :)
b) Yes, you can browse directly to a specific client, see the browse
JEP.
c) Dave and I were talking about *server-based* routing, as in, I think
we should change this routing method:

1) If a resource is specified and that resources matches a resource the
server knows about, send it there.
2) Otherwise, check the priority settings on the resources and send to
the highest priority.
3) In a case where multiple resources have the same priority, send to
the most recently logged in.

To:

1) If a resource is specified and that resources matches a resource the
server knows about, send it there.
1.5) If the packet is an iq which has an extension (maybe messages too),
check the namespaces supported by the resources, and if only one
resource claims support for that namespace, send the packet there. If
multiple resources claim support, then continue steps 2 and 3 only for
those resources which claim support.
2) Otherwise, check the priority settings on the resources and send to
the highest priority.
3) In a case where multiple resources have the same priority, send to
the most recently logged in.

Dave Smith noted to me that dave at dave.tj expressed the opinion that
clients should be able to control "all the routing decisions" -- I do
/not/ agree with this. The entire point of the server is to do routing.
Clients should be able to provide information about themselves so the
server can be more intelligent about routing, but allowing clients to
control routing gets messy.

Julian
-- 
email: julian at jabber.org
jabber:julian at jabber.org




More information about the Standards mailing list