On Thu, Mar 26, 2009 at 1:28 PM, Pedro Melo <[email protected]> wrote:
>
> I understand, but if the cost of sending those "my current item is this"
> with presence if greater than just receiving the item at start (not the
> image data, just the metadata), then this discussion is moot, right?

I haven't explained well. It's not "my current item", just my client
uuid is[1]. I'd like to be able to do the same with the pair (ext,
jid) from the capabilities, but if I use the same client with same
resource on a different pc with PEP I've no way to recognize the
client hasn't been synchronized. And for this things like sequencing
aren't good, since basically you always send the last version for each
node.

[1] this requires keeping a bit more of context at server side, but I
think it is marginal. We are experimenting it with a facebook gw and
it is rather easy to maintain

>
>> On the single event we have a
>> gain of the 50 - 60% of the data which is not a lot, but there many
>> random strings in the message. A good guess, with the entropy of the
>> previous messages,  could be 150-200 bytes per user, which is still a
>> lot: if you have 100 online contacts it's 15K just for knowing that
>> nothing has changed.>
> but you would have to send the UUID of each of those contacts to tell each
> of those PEP nodes which version you have, right?
>
> If I have N contacts, and each one of them uses PEP for avatar and user
> tunes, when I start a new session, I would need to send to each PEP node my
> current UUID so that they know which version I have before they send me the
> current version.
>
> So I would have 200 stanzas just to communicate my "current cached status",
> via the upload link, usually on the lowest bandwidth side.
>
> Or I could receive notifications from all those PEP nodes telling me "this
> is the version I got", from the larger bandwidth side.
>
> I admit that I haven't read these XEP's lately and I'm might be missing
> something...

See above, just one uuid, bound to the client, not to subscribed
nodes. Some quick figures:

- present scenario (just for avatars, with more nodes it gets worse):
I go online with 100 online contacts and I receive the latest item
version -> ~15K
- proposed scenario (worst case): all my 100 contacts put client uuid
in their capabilities in their presence -> 25 byte * 100 -> ~ 2.5K
and nothing more if avatars haven't changed. In order to waste
bandwidth more than the 80% of the contacts must have changes avatar,
while in the normal situations (no avatar changed) I save the 80% of
the traffic

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: [email protected]

Reply via email to