[Standards] Proposed XMPP Extension: Stanza Repeaters

Philipp Hancke fippo at goodadvice.pages.de
Wed Mar 19 20:07:29 UTC 2008


Joe Hildebrand wrote:
> 
> On Mar 18, 2008, at 4:25 PM, Pedro Melo wrote:
>> The repeaters concept doesn't solve the privacy list interactions either.
> 
> Why not?  For each list of folks that a server wants to send presence 
> to, it creates a list.  If that list has different people on it for 
> different reasons, it creates different lists.  In the case of presence, 
> the server could, in the face of privacy lists being turned on, create a 
> presence-out list and a presence-probe list for the user in question at 

Typically, presence-out and presence-probe are identical. They are not
in the case of wannabe-invisible, where someone probes his contact, but
does not send presence to them. I love my servers mode for showing
probes and usually remove those people from my roster :-)

> each site where you have more than N users, where N should be determined 
> through some sort of analysis at where the trade-off point is.  I'm 
> betting it's at least 10.

Mh... could be a problem if Peter still thinks that the average user
has no more than 10 users on his whole roster ;-)

I bet that you can lower the breakeven from 10 down to 3, if you
* have a well-known persistent list containing all legitimate
   subscribers of your presence
* allow for (at least one) persistent lists composed of subsets
   of the former (useful for permanent blocking)
* can start each list from the first list and subsequently remove people

> Yes, this could lead to **lots** of lists.  

As long as all those lists are subsets of the (synced) roster...
creating lots of arbitrary lists sounds like a use-case for spamming.

 > We better a) get the protocol right, b) make sure it's going to help,
 > and c) implement it carefully.

Then let me add a tricky use-case for presence which does not
exist in muc and pubsub: the reply to a probe.

Even when you optimize the probes somehow:
Romeo ---> Montague Server ---> Capulet Server ---> Juliet (balcony)
				Capulet Server ---> Juliet (chamber)
			        Capulet Server ---> Nurse
                                 Capulet Server ---> Peter
                                 Capulet Server ---> Sampson
                                 Capulet Server ---> Gregory
			        Capulet Server (Anthony is offline)
			        Capulet Server (Potpan is offline)

there is a reply from the people who are online (sow the wind and reap
the whirlwind):
Romeo <--- Montague Server ---> Capulet Server <--- Juliet (balcony)
       <---                 <--- Capulet Server <--- Juliet (chamber)
       <---                 <--- Capulet Server <--- Nurse
       <---                 <--- Capulet Server <--- Peter
       <---                 <--- Capulet Server <--- Sampson
       <---                 <--- Capulet Server <--- Gregory

The number of stanzas is lower than the (non-optimized) 'probe storm',
but each stanza is bigger.
We've only been able to solve that by not probing at all.

Philipp



More information about the Standards mailing list