[Standards] mobile optimizations

Dave Cridland dave at cridland.net
Wed Feb 20 16:25:50 UTC 2008

On Tue Feb 19 15:00:36 2008, Joe Hildebrand wrote:
> Could this be added to XEP-198?  Basically a pause command that  
> would  cause stuff to get buffered on the server.  There would need  
> to be an  ack that comes back to avoid races.  Additionally, I  
> could imagine the  thing doing the buffering could toss old stale  
> presence stanzas when  new ones are received from the same full jid.
You probably don't want to do it with XEP-0198, since that's fairly  
low-level, and you don't want to be holding everything, just  
presence. A cunning server might intercept some iq stanzas and answer  
them for you, too. (If you did want to hold everything, then XEP-0198  
probably is the answer).

Messages - as in actual IMs - you probably want to push through to  
the handset if at all possible. And when you do that, it'd be  
sensible to push through everything else you're holding, in one, big,  
neatly compressible, blob.

In principle, this should save a significant amount of bandwidth,  
thanks to the compression effects.

> Combined with XEP-198 quick-reconnects (or BOSH) with long  
> server-side  timeouts, and it seems pretty efficient for this use  
> case, at the  expense of some DEFLATE performance.
Reconnections have a certain degree of impact on DEFLATE, EXI, etc,  
because you'd lose state. But I'm not sure how significant that would  
be - I'd personally not want to say it'll be critical without  
actually testing it.

The bulk of the data being affected by a compression codec restart is  
likely to be the reconnection itself, which hopefully doesn't happen  
often enough to get good compression anyway, and the post-reconnect  
splurge. A clever server might rearrange that splurge to gain most  
from a compression algorithm (you'd need to arrange it such that  
similar stanzas were sequential), but even without that, it's one big  
fat buffer, which ought to compress okay.

Some measurements are needed here, and that's not tremendously easy  
without a full XEP-0198 implementation to test against.

Dave Cridland - mailto:dave at cridland.net - xmpp:dwd at jabber.org
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade

More information about the Standards mailing list