[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Simple] Updated RPID
Markus.Isomaki at nokia.com wrote:
Hi,
I support the idea of restricting RPID elements to specifically apply
to either person or service or device. If they apply to multiple
categories, as e.g. idle, they must have a different meaning specific
to the category. I don't like the idea of reporting person related
information in service tuples, for instance in a way it is done for
activities and placetype in the examples of the updated RPID draft.
There appears to be general agreement on this point, so let us declare
this part closed.
This thread also had some discussion on conflict resolution. I'm
particularly interested how this should be done for person element,
since the data model explicitly states that there can be only one
person element in each presence document. So what should the presence
server do if it gets publications for multiple person elements from
different sources. The data model draft proposes that the newest one
is picked if there is no further information what to do.
I believe we need to have some more information. As I have indicated
in another thread, I would like to clearly distinguish between
override and additional/parallel information. Actually this applies
to person, service and device. I have a couple of concrete real-world
use cases that must be supported before we have anything useful.
1. A user has three PUAs that report something related to his person
information. One is a PC that can report anything. The other one is a
cell phone that can similarly report anything. The third one is a
network based PUA who should report e.g. whether I'm on the phone
(info obtained from the cell phone network), or whether I'm at the
office (info obtained through the office entrance control system).
Clearly the PC and cell phone PUAs are usually competing or
exclusive, and if I have left my PC somewhere to report obsolited
info, I should be able to override that from the cell phone (or vice
versa). On the other hand the network based PUA(s) typically provide
complementary information, i.e. the info given by them should be
merged with the other information (unless I want to explicitly
override that too!).
If composition policy is completely proprietary, it is very hard to
build the PUAs in a reasonable way so that the user would really know
what is going on. For this reason I think we need at minimum, even
for person, a way of saying either a) override your previous person
info with identifier X with this information, or b) merge this person
info with the rest of the person information you have.
This is what composition policy defines. Its proprietary now in the
sense that we have not written standards which allow its control. That
doesnt mean we won't, it means we haven't yet. TO date, we haven't even
had a firm grasp on what presence really meant in our systems, let alone
how to override it.
So, I am not objecting to the requirement. I am saying, we have an
approach in the data model which defines a default behavior in absence
of explicit policy directing otherwise. That default behavior covers the
cases that appear to be most pressing - changing my status from "in a
meeting" to "available" when I get home and my work PC is publishing old
information. It does not cover more complex cases where I need to accept
partial information from some sources, and completely override from
others. That is fine to solve, but it IS composition policy and we
should not try to define it now.
Keep in mind also that a presence document is not a "command" - it's
state. It makes no sense to include an identifier in a presence document
whose meaning is "override existing state with this". What would happen
if someone else published a document saying the same thing? Who wins?
The most recent? Well, having the most recent override is exactly what
is in there today, and has the same effect.
To me this is solvable so that we just define an identifier, whose
semantics are as follows: "If two or more person elements are
published with an identical identifier, the composer MUST take only
the most recent of them to be part of the composition process. The
composer MUST merge the information in person elements having
different identifiers into a single person element using any
heuristics it has at its disposal. The most natural way is to union
them together".
We have a disconnect here in the model of how this works.
In the model described in the document, each source publishes the state
of the universe as it knows it, period. The published documents do not
themselves contain tidbits of composition policy. Composition policy is
something specified totally separately, and it makes decisions based on
information in the documents. What you are suggesting is that you can
effectively insert directives to control composition in the presence
document itself - special identifiers that have significance ONLY in the
context of composition. This is contrary to the model; the document has
meaning in absence of any other part of the system, and its one and only
goal is to describe the presentity.
2. User has a cell phone which updates its characteristics in device
element. However, some information related to the device also comes
from the network, such as its location. So here we have two sources
publishing information about a device which are not exclusive but
complementary.
The data model draft does not support this properly, since two
sources publishing with a same device id are considered to be
conflicting.
Yes. However, the model does not say that you have to pick one winner.
It talks about merging of information, and allows all kinds of things to
happen. If you are finding text in the document that suggests that the
composition policy always picks a winner when there are conflicting
information about a service or device, let me know and I will correct it.
Again, similar solution is needed as for person. Some
identifier which tells explicitly whether the publication is intended
to override some potentially existing info, or is it intended to be
merged with the existing info.
Conclusion: Let's define the capability for distinguishing between
override and append for person, tuple and device. In addition to the
identifier we need a way for publication sources to access the other
published information to learn about the identifier values.
As above, based on the model as defined, this falls into the realm of
composition policies, not presence documents.
-Jonathan R.
--
Jonathan D. Rosenberg, Ph.D. 600 Lanidex Plaza
Chief Technology Officer Parsippany, NJ 07054-2711
dynamicsoft
jdrosen at dynamicsoft.com FAX: (973) 952-5050
http://www.jdrosen.net PHONE: (973) 952-5000
http://www.dynamicsoft.com
_______________________________________________
Simple mailing list
Simple at ietf.org
https://www1.ietf.org/mailman/listinfo/simple