[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Difference between global and local subsegments (was RE: [xri] Increased complexity in resolver.)
Steve, Marty, Bill, et al: It’s Sunday night, and after thinking
about Steve’s observation over the last few days, I’ve come to a
greater appreciation of the difference between global and local subsegments in
an XRI authority segment. (Note that by “global subsegment” I mean
the global-literal and global-xref rules on http://wiki.oasis-open.org/xri/XriCd02/XriAbnf2dot1,
and by “local subsegment” I mean the local-literal and local-xref
rules on that page.) First, in XRI 2.0, an XRI authority
segment consisted of only one global subsegment. It could contain any number of
local subsegments inside it (and those could be either local-literals or local-xrefs),
but it could not contain another global subsegment. In the proposed XRI 2.1 syntax, an XRI authority
segment can contain more than one global subsegment. So what Steve noticed is that while the XRI
resolution rules are the same for both 2.0 and 2.1, i.e., that a resolver just “walks
the tree” of top-level subsegments in an XRI authority segment to resolve
it, that tree of subsegments has one important structural difference: once you
hit the first global-xref, every other top-level subsegment must be a global-xref. In other words, think of the pattern this
way: 1) XRI authority segments in XRI 2.0 (with
the exception of cross-reference root authorities): GCS-char local local local … / 2) XRI authority segments in XRI 2.1: GCS-char local local local … global global global … / I think this makes it easier to see that
when you “switch over” from resolving local subsegments to
resolving global subsegments, each global subsegment is relative to the
previous one just like each local subsegment is relative to the previous one. Secondly, when you apply that to Steve’s
example – of resolving @ootao*west*steve and @ootao+west*steve, it’s
true that the first one parses into four top-level subsegments… @ ootao *west *steve …and the second one into three… @ ootao +west*steve However, if the policy of @ootao is that *west
and +west are synonyms, then @ootao*west can delegate to *steve and the same
delegation can be recognized for @ootao+west*steve. Here’s the flow: @ootao*west*steve 1) Resolver queries @ for ootao 2) @ responds for ootao 3) Resolver queries @ootao for *west 4) @ootao responds for @ootao*west 5) Resolver queries @ootao*west for *steve 6) @ootao*west responds for @ootao*west*steve @ootao+west*steve 1) Resolver queries @ for ootao 2) @ responds for ootao 3) Resolver queries @ootao for +west*steve 4) @ootao queries @ootao+west for *steve 5) @ootao+west responds for @ootao+west*steve 6) @ootao responds @ootao+west*steve Notice that it takes the same number of
steps, for the same number of delegations, however @ootao is responsible for
answering the +west*steve response, vs. the original client resolver being
responsible for resolving it. This ability to control who will provide
the resolution response is, I believe, one of those key guidelines Marty is
looking for (and which I am indeed tasked to elucidate) as to whether an XRI author
should use local subsegments or global subsegments. =Drummond (Note: I’m headed off
early tomorrow morning for the Higgins f2f meeting in Austin, so I’ll be
offline until mid-afternoon tomorrow.) From: Steven Churchill
[mailto:steven.churchill@xdi.org] > I know that Steve and I lost the
"direct concatenization" vs. "compact syntax" vote, but I'd
just > like to point out that under compact
syntax "@ootao+west" normalizes to
"@ootao*(+west)". > And if "@ootao*west"
and "@ootao+west" are declared as synonyms, then you could logically > deduce that
"@ootao*west*steve" and "@ootao*(+west)*steve" are
synonyms. I agree. I’d just like to point out
that the way that the two would be “declared as synonyms” is that
“*(+west)” would be added as a local synonym to
“*west”. ~ Steve From: Schleiff, Marty
[mailto:marty.schleiff@boeing.com] Hi Bill & Steve (& All), I think Steve meant that EVEN IF
"@ootao*west" and "@ootao+west" are declared as synonyms,
then "@ootao*west*steve" and "@ootao+west*steve" are not
synonyms (unless they are explicitly declared as synonyms). I know that Steve and I lost the
"direct concatenization" vs. "compact syntax" vote, but I'd
just like to point out that under compact syntax
"@ootao+west" normalizes to
"@ootao*(+west)". And if "@ootao*west" and
"@ootao+west" are declared as synonyms, then you could logically
deduce that "@ootao*west*steve" and "@ootao*(+west)*steve"
are synonyms. Marty.Schleiff@boeing.com; CISSP
From: Barnhill,
William [mailto:barnhill_william@bah.com] Hi all, |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]