OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

provision message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: PSO IDs: GUIDs or names?

In the most recent working group call, I promised to start an email 
thread to discuss PSO IDs.  We should reach a conclusion on the 
semantics of IDs *before* the next face-to-face--or at least have a 
clear and common understanding of the issues.  The following ought to 
get things started. :-)

I believe that a PSO ID should be globally unique and immutable. Any 
identifier that is not unique or can be changed is some kind of  "name". 

Only a unique identifier will work well in a hash or cache.  Only an 
immutable identifier will work well in a cache.  (Otherwise, you need 
some way to detect renames and then you need a way to update any cached 
or persistent references.  The only reliable schemes I know for 
detecting renames and updating references rely on having another unique, 
immutable identifier.)

I believe that an ID must be *globally* unique because a single 
requestor could hold IDs from several different providers.  If these ID 
values could overlap, then the requestor would have to prefix each ID 
with an identifier for the provider in order to make the value unique.

I think that the provider must assign the ID value to any PSO that is 
added.  (If pressed, I will agree that it's okay for a requestor to 
*suggest* an ID, but I don't see how an ID can be guaranteed to be 
unique in the namespace of the provider unless the provider has the 
final say.)

This came up again because Jeff Bohren said that moving an object to a 
new container could change its ID.  I said no, that moving an object to 
a new container might change its *name* (or its pathname, or its DN), 
but not its ID.  Otherwise, simply setting a new parent on an object 
could invalidate (cached or persistent) references to that object.  Even 
if requestors and providers have some way to "listen" for renames, there 
is no guarantee that all those maintaining references to the renamed 
object will be available at that time.  The only way I know for 
references to reliably survive renames is to have some kind of a GUID 
instead of (or in addition to) the name.

If we want to have "friendly", mutable and non-unique identifiers, then 
let any PSO have a Name (in addition to its ID).  A name is better for 
most display purposes.  But provider API operations should assume that 
any ID is a globally unique and immutable value they can trust.  
Requestors should know that any cached or persistent reference must 
include the ID.


Gary P Cole wrote:

> 3)  Gary Cole will start an email thread to discuss
>    issues related to the semantics of PSO ID:
>    - scope of uniqueness
>    - mutability
>    In short, are IDs GUIDs or are IDs names?

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]