Subject: [Simple] Reacting to multiple sources of presence data (was 200v202)

From: Robert Sparks <[email-masked]>
Date: Mon, 12 Nov 2001 12:53:02 -0500

I'm not sure everyone who has contributed to this
conversation is working on the same problem. (I'm
not even sure I understand the problem yet myself).

So, here's an attempt to summarize the issue we're
looking at.

Given that:

* A SUBSCRIBE may fork
* Multiple endpoints may accept the SUBSCRIBE
* These notifying endpoints may not have identical
  presence documents to provide

The root problem is:
* How do we reconcile the different documents?

There have been a handful of proposed solutions, each
bringing their own set of additional problems. I think
these two capture the main flavors of the proposals:

1) Accept only the notifier who's 2xx was chosen by
   the proxy mesh to be forwarded to the subscriber.
   Ignore input from all other notifiers.
   Rely on configuration of all the elements to provide
   the "right" presence document.
   (I think this is the currently documented solution)
   Problems: 
     * Doesn't allow state aggregation (but maybe that
       should be a domain-specific application and not
       something we try to do generically in protocol)

2) Accept all notifiers by springing subscriptions into
   being on receiving NOTIFYs with matching dialog identifiers
   (but unknown to-tags). Each such subscription exists 
   independently of the others, with its own lifetime and 
   route-set. Rely on configuration of all the elements
   to provide the "right" set of notifiers.
   Problems:
     * How do you resolve conflicts during state composition?
     * Is the DoS opportunity this creates acceptable?
     * The configuration necessary to reach the "right" set
       is very restrictive. (For instance, all the notifiers
       must be behind the same number of challenging proxies).

What have I missed?

RjS
_______________________________________________
simple mailing list
[email-masked]
http://mailman.dynamicsoft.com/mailman/listinfo/simple