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.
--
Dave Cridland - mailto:[EMAIL PROTECTED] - xmpp:[EMAIL PROTECTED]
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade