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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

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


Subject: RE: [xri] Clarity around Ref processing behavior.


A:1
B:3
C:1

I believe that breadth only with no attributes is the simplest to
understand, implement and debug for authority owners.  Breadth is a must
because one may have multiple references to differing authorities for
different service reasons.  This is especially true given that the
synonym semantics have been removed from REF.  

Also if you do not follow a breadth model then the cardinality of REF
becomes 0 or 1 except in the case of a network failure.  This type of
redundancy was never the intention with REFs.

I believe the depth model is where the complexity comes in because as
soon as you start selecting a service from an XRD with more degrees of
separation than that very first level problems begin.  Problems that
becomes hard to track down.

Allowing Breadth and depth is where we get into this so called
backtracking issue which everyone agreed was problematic and complex.

As for new attributes ... please no we have a complex enough spec
without adding additional attributes.  


contact: =les
sip: =les/(+phone)
chat: =les/skype/chat
 
 

> -----Original Message-----
> From: Drummond Reed [mailto:drummond.reed@cordance.net]
> Sent: Monday, September 24, 2007 2:25 AM
> To: 'Victor Grey'; 'Steven Churchill'
> Cc: xri@lists.oasis-open.org; andy.dale@ootao.com; 'Kermit Snelson'
> Subject: RE: [xri] Clarity around Ref processing behavior.
> 
> I just caught up on this thread after arriving this afternoon at
Digital
> ID
> World.
> 
> I agree with Victor that I support what Andy is saying from a
> philosophical
> and logical point of view. Distributed/aggregated identity is one of
the
> fundamental principles that XRI was designed to support.
> 
> So the first point I'd like to make is a metapoint: I believe almost
all
> the
> suggested approaches discussed on this thread about Ref processing can
> achieve this, i.e., support Andy's use cases. The difference is that
they
> all do it by applying different ref processing policies that resolvers
> must
> follow, and therefore that XRDS authors must follow when designing
what
> Refs
> (authority or service) to put in what XRDS documents to achieve their
> desired results.
> 
> What we as a TC must decide is which ref processing policies to set in
> stone
> in XRI Resolution 2.0 Committee Draft 02 so that resolver implementers
and
> XRDS authors know what to do.
> 
> Les summarized the key policy choices in his email earlier today, but
he
> didn't include the option of using service refs, which is what Victor
> explains in his email below.
> 
> So here's an attempt to enumerate the full spectrum of potential
policy
> choices for Ref processing, including both and service refs.
> 
> First, definitions of the six key terms:
> 
> * Authority ref: using the XRD:XRD/xrd:Ref element (section 12.1 of
ED05).
> * Service ref: using the XRD:XRD/xrd:Service/xrd:Ref element (section
12.2
> of ED05).
> * Breadth: how many Refs may be successfully resolved (not including
> errors)
> from the SAME XRDS.
> * Depth: how many Refs may be resolved in a chain of multiple Refs
where
> each Ref successfully resolves to a new XRDS document.
> * Breadth Limit Attribute: an attribute on the Ref element that would
> limit
> the Breadth, i.e., how many Refs could be resolved from the same
source
> XRDS.
> * Depth Limit Attribute: an attribute on the Ref element that would
limit
> the Depth, i.e., how many Refs could be resolved in a Ref chain.
> 
> Now, here's how I'd classify the policy choices we have. They fall
into
> three dimensions:
> 
> DIMENSION A:
> 1) Same policy applies to both authority refs and service refs.
> 2) Different policies apply to authority refs vs. service refs.
> 
> DIMENSION B:
> 1) Limited breadth (zero-or-one); limited depth (zero-or-one).
> 2) Limited breadth (zero-or-one); unlimited depth (zero-or-more).
> 3) Unlimited breadth (zero-or-more); limited depth (zero-or-one).
> 4) Unlimited breadth (zero-or-more); unlimited depth (zero-or-more).
> 
> DIMENSION C:
> 1) No breadth or depth limit attributes.
> 2) Breadth limit attribute; no depth limit attribute.
> 3) No breadth limit attribute; depth limit attribute.
> 4) Both breadth and depth limit attributes.
> 
> My suggestion is that we start by everyone just voting for their
choice
> along each dimension, and adding your rationale if you wish. (Andy,
Kermit
> -
> just send your votes/rationale to one of us and we'll forward it to
the
> list.)
> 
> I'll start. My votes are:
> 
> A: 1 (same policies for authority refs and service refs)
> B: 2 (limited breadth, unlimited depth)
> C: 3 (depth limit attribute only)
> 
> My rationales:
> 
> A) I believe we'd be unwise to apply different policies to authority
refs
> and service refs. The logical model will be much easier to understand
and
> implement if the same resolution policies apply at both levels.
> 
> B)
> 
> 1) It doesn't make any sense to limit both breadth and depth. I think
you
> either need to limit one, or the other, but not both.
> 
> 2) By limiting breadth but not depth for both authority refs and
service
> refs, you can support all delegation models. I don't believe the
opposite
> is
> true. See below for deeper explanation.
> 
> 3) By limiting depth but not breadth, you can't support two-level
> delegation
> models.
> 
> 4) By limiting neither breadth nor depth, resolution complexity and
> potential latency becomes too high. (In earlier conversations this
would
> have been called the "full backtracking model".)
> 
> C) Since I voted for limited breadth, unlimited depth, I think it
makes
> sense to have a depth limit attribute, so an XFDS author can control
how
> deep the delegation chain is (if they care). If this attribute is
absent
> the
> default would be no limit.
> 
> *******
> 
> WHY LIMITED BREADTH AND UNLIMITED DEPTH?
> 
> My main reason for suggesting the limited breadth/unlimited depth
model is
> the explanation Victor gives below for the use of service refs. In a
> nutshell, even if an authority can only delegate an authority ref to
one
> other authority (at a time; depth can be unlimited), that doesn't mean
the
> authority can't delegate multiple separate service refs to multiple
> authorities -- one service per authority. As Victor explains, this
means
> Andy's use cases can not only be implemented but actually with greater
> efficiency than the resolver having to traverse multiple authority
refs to
> find the service it is looking for.
> 
> So limited breadth and unlimited depth favors a "rifle shot" model
where,
> if
> you want to delegate a specific service, you use a service ref to
delegate
> directly to the authority responsible for that service. However, at
the
> saem
> time it doesn't prevent a "shotgun" model, where if you want to
delegate
> your entire XRDS, you can do still do that, by choosing one authority
to
> delegate the whole thing to.
> 
> ********
> 
> So there's a first set of votes cast. Anyone on the list (or those
cc'd),
> please do cast your vote as soon as you can. I'd love to see Les
proved
> correct that we can settle this via email. If not, let's agree to
close it
> no later than this Thursday's telecon (9/27), so please do set aside
> 10-to-noon Pacific Time on that day.
> 
> Thanks,
> 
> =Drummond
> 
> 
> > -----Original Message-----
> > From: Victor Grey [mailto:victor@idcommons.org]
> > Sent: Sunday, September 23, 2007 4:18 PM
> > To: Steven Churchill
> > Cc: xri@lists.oasis-open.org; andy.dale@ootao.com; 'Kermit Snelson'
> > Subject: Re: [xri] Clarity around Ref processing behavior.
> >
> > Steven Churchill wrote:
> > > Les has repeatedly called for other people's view on this issue,
> > > and Andy
> > > has prepared an excellent article that I have attached. (Andy is
not
> > > registered to send to the mailing list.)
> >
> > I find Andy's argument compelling from a philosophical point of
view.
> >
> > But what worries me is that in his example, a proxy resolver would
> > have to make calls to at least 8 different network endpoints to
> > ascertain that a SEP was not available, or find all the SEPs of a
> > particular type:
> > 1. resolve andy at =
> > 2. resolve ooTao at @
> > 3. resolve andy at @ooTao
> > 4. resolve mfkd at =
> > 5. resolve yahoo at @
> > 6. resolve mfkd at @yahoo
> > 7. resolve wow at @
> > 8. resolve mfkd at @wow
> >
> > Given indeterminate network latency, the proxy resolver could be
> > spinning its wheels for an unacceptable length of time.
> >
> > Pardon me if I'm just not getting it, but wouldn't Refs at the
> > Service level provide the same capabilities that Andy's use case
> > requires, but in a more efficient way? So that if =andy wants to
> > assert a freetime svc, it would include a Service element with that
> > type, but no URI, only a Ref to @ooTao*andy.
> >
> > It does make provisioning more complex, because the service would
> > have to be provisioned both at @ooTao*andy and at =andy.
> > But provisioning doesn't need to happen in real time, resolution
> > does. Besides, that could be a feature, providing even more
> > flexibility about what can be discovered from where.
> >
> > =vg



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