[standards-jig] Improving network integrity

Robert Norris rob at cataclysm.cx
Thu Jan 1 00:12:27 UTC 2004


On Wed, Dec 31, 2003 at 12:53:18PM -0800, Justin Karneges wrote:
> > This too could be done without changing XMPP, by wrapping XMPP in another
> > protocol that is used for this "signaling" behaviour. (This will ofcourse
> > require the server or some kind of proxy to implement that protocol). Or,
> > it could be done within XMPP itself, simply using XMPP to communicate
> > between the server and the client which packets have been received.
> 
> Doing it within XMPP itself seems slightly cleaner to me.  Maybe David Waite's 
> suggestion of a 'stream feature' should be used here.  How about this:
> 
>   <stream:features>
>     <ack xmlns='urn:ietf:params:xml:ns:xmpp-ack'/>
>   </stream:features>
> 
> If both sides agree to use the feature (I'm not sure how this would be done...  
> we should try to avoid yet-another-round-trip'..  maybe stick it in the 
> session iq exchange?), then each peer would ack received stanzas by sending:
> 
>   <ack xmlns='urn:ietf:params:xml:ns:xmpp-ack'/>

A stream feature seems like the wrong place for this - they're only
really to add functionallity to a single stream, not to the network as a
whole. And there's no way to do end-to-end acks this way - there's no
guarantee that two servers in the middle will set up acks (or even
support them).

You really need to set it up between the two endpoints (feels a little
like esession to me). It might suck to have to do it every time.

Maybe we could make it so that you request an ack on each packet you
send, eg:

  <message to='foo at bar.com'>
    <body>baz</body>
    <ack xmlns='http://jabber.org/protocol/ack'/>
  </message>

Then the receiver knows it needs to ack. This doesn't help with clients
that don't support it, but you'd have to deal with that anyway. And
whether a client supports acks could be find via disco and/or caps.

There'd need to be sequence numbers, timeouts, etc, and we'd need rules
for an intermediate hop (eg s2s) to report a failure, but it seems this
could work.

Rob.

-- 
Robert Norris                                       GPG: 1024D/FC18E6C2
Email+Jabber: rob at cataclysm.cx                Web: http://cataclysm.cx/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://mail.jabber.org/pipermail/standards/attachments/20040101/aac22509/attachment.sig>


More information about the Standards mailing list