Re: [Forces-protocol] Feedback: Section 6.4

"Weiming Wang" <wmwang@mail.hzic.edu.cn> Fri, 29 October 2004 03:12 UTC

Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id XAA01155 for <forces-protocol-web-archive@ietf.org>; Thu, 28 Oct 2004 23:12:11 -0400 (EDT)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CNNPg-0002EH-28 for forces-protocol-web-archive@ietf.org; Thu, 28 Oct 2004 23:26:54 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CNMfZ-0004up-CI; Thu, 28 Oct 2004 22:39:13 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CNKhy-0002U7-IJ for forces-protocol@megatron.ietf.org; Thu, 28 Oct 2004 20:33:34 -0400
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA28725 for <forces-protocol@ietf.org>; Thu, 28 Oct 2004 20:33:33 -0400 (EDT)
Received: from [202.96.99.56] (helo=202.96.99.56) by ietf-mx.ietf.org with smtp (Exim 4.33) id 1CNKw0-0000q4-PJ for forces-protocol@ietf.org; Thu, 28 Oct 2004 20:48:13 -0400
Received: from [202.96.99.59] by 202.96.99.56 with StormMail ESMTP id 58110.341813895; Fri, 29 Oct 2004 08:53:47 +0800 (CST)
Received: from wwm1 (unverified [219.82.178.109]) by mail.gsu.cn (Rockliffe SMTPRA 6.0.11) with ESMTP id <B0000094094@mail.gsu.cn>; Fri, 29 Oct 2004 08:28:40 +0800
Message-ID: <001301c4bd4f$63d66ec0$020aa8c0@wwm1>
From: "Weiming Wang" <wmwang@mail.hzic.edu.cn>
To: "Khosravi, Hormuzd M" <hormuzd.m.khosravi@intel.com>, <hadi@znyx.com>
References: <468F3FDA28AA87429AD807992E22D07E03127C40@orsmsx408>
Subject: Re: [Forces-protocol] Feedback: Section 6.4
Date: Fri, 29 Oct 2004 08:36:52 +0800
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Spam-Score: 0.4 (/)
X-Scan-Signature: 6b519fb0ef66258f34533f52ff46aedf
Cc: ram.gopal@nokia.com, forces-protocol@ietf.org, avri@psg.com, "Joel M. Halpern" <jhalpern@megisto.com>, Ligang Dong <donglg@mail.hzic.edu.cn>, Robert Haas <rha@zurich.ibm.com>
X-BeenThere: forces-protocol@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: forces-protocol <forces-protocol.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/forces-protocol>, <mailto:forces-protocol-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/forces-protocol>
List-Post: <mailto:forces-protocol@ietf.org>
List-Help: <mailto:forces-protocol-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/forces-protocol>, <mailto:forces-protocol-request@ietf.org?subject=subscribe>
Sender: forces-protocol-bounces@ietf.org
Errors-To: forces-protocol-bounces@ietf.org
X-Spam-Score: 0.4 (/)
X-Scan-Signature: 79bb66f827e54e9d5c5c7f1f9d645608

Hormuzd,

I'm very busy again during this weekdays. Pls allow me to do it during this
weekend. I'l post something in detail then.

Regards,
Weiming
----- Original Message -----
From: "Khosravi, Hormuzd M" <hormuzd.m.khosravi@intel.com>
To: "Wang,Weiming" <wmwang@mail.hzic.edu.cn>cn>; <hadi@znyx.com>
Cc: "Joel M. Halpern" <jhalpern@megisto.com>om>; <ram.gopal@nokia.com>om>;
<forces-protocol@ietf.org>rg>; <avri@psg.com>om>; "Ligang Dong"
<donglg@mail.hzic.edu.cn>cn>; "Robert Haas" <rha@zurich.ibm.com>
Sent: Friday, October 29, 2004 3:37 AM
Subject: RE: [Forces-protocol] Feedback: Section 6.4


Weiming,

I think it would be good if you summarized both approaches for PATH
(Advantages, Disadvantages, etc) and send out an email to the group to
discuss and decide. I do see my advantages to your approach and this is
definitely a viable option for Config messages. For Query messages, the
path will be more involved with all the IDs, etc (since there will be no
data)

Thanks
Hormuzd

-----Original Message-----
From: Wang,Weiming [mailto:wmwang@mail.hzic.edu.cn]
Sent: Wednesday, October 27, 2004 8:07 AM
To: hadi@znyx.com
Cc: Khosravi, Hormuzd M; Joel M. Halpern; ram.gopal@nokia.com;
forces-protocol@ietf.org; avri@psg.com; Ligang Dong; Robert Haas
Subject: Re: [Forces-protocol] Feedback: Section 6.4


----- Original Message -----
From: "Jamal Hadi Salim" <hadi@znyx.com>
Subject: Re: [Forces-protocol] Feedback: Section 6.4


>
> Weiming,
>
> Yes, the two are different in the sense that one is defined at static
> xml definition time and the other created at runtime. However,
> if you give me a series of 32 bits defining a path which includes
table
> Ids and rows and cells, i can tell you 100% of the time where that
path
> will lead. There is _zero_ ambiguity.
We can just let the first fields of the data being IDs for table index,
which is
really identical with the one whole path, but leaving more flexibiligy
for every
different LFBs to define the IDs. This means:
Op TLV = AttributeID <Data> (or you may call it as : Path <Data>, but
the path
here is only an Attribute type ID).
Data := <IDs for indexing> <...>

In this way, if the LFB needs the indexing IDs, it will be there, if
not, there
will be none.

Thanks.
Weiming
>
> Note there are circumstances where it may make sense like in the case
> of block operations (eg operate on table indices 100-200) - this is
> probably your main point (as mentioned in your point #3). This does
not
> make the block operation part of the "data" like you said. All it says
> is "this is how you get to the data".
>
>
> cheers,
> jamal
>
> On Wed, 2004-10-27 at 10:22, Wang,Weiming wrote:
> > Jamal,Hormuzd as well,
> >
> > ----- Original Message -----
> > From: "Jamal Hadi Salim" <hadi@znyx.com>
> > Subject: RE: [Forces-protocol] Feedback: Section 6.4
> >
> >
> > > Folks,
> > >
> > > The PATH is needed for _everything_ thats interfacing to any LFB
> > > attributes.
> > [Weiming] I agree you say that path is needed for every attributes
in LFB.
> >  My opinion is the path is composed of at least two parts:
> >  The ID to describe which attribte it is --- this I call it
"Attribute ID",
(and
> > Hormuzd called "Table ID"?)
> >  The Index ID to describe which entry inside the attribute IF THE
ATTRIBUTE
IS A
> > TABLE --- this we usualy called "table Index".
> >
> > Then, my opinion is (I think Hormuzd also think so) the 'Attribute
ID' part
> > should appear in our protocol layer, but the Index ID will not
appear in the
> > protocol layer. Instead, it should appear in the data field. Why?
because,
> >
> > 1) Not every attribute is a table, therefore not every attribute
need such
table
> > index. But 'Attribute ID' is always needed.
> >
> > 2) Even in the table case, to put the table index in the data field
means to
let
> > the LFB definer to have much flexibility to define the index - the
length of
the
> > index, the format, etc,  rathan than to be uniformly defined for all
LFBs by
our
> > protocol.
> >
> > 3) In this way, we can also easily implement all the operations as
you
mentioned
> > below.
> >
> > 4) Also note that the 'Attribute ID'is explicitly defined in XML
definition
of
> > LFBs(e.g. ID=6 in your noop.xml), while the table index will not
appear in
the
> > xml, that means the table index is a kind of data while the
attribute ID is
a
> > specific field, from the protocol viewpoint.
> >
> >
> > > Think of it as an SNMP OID - you need that _everytime_
> > > To get to where the table etc fits in, please read the two docs i
posted
> > > to speed up the discussion;
> > >
> > > Heres a cutnpaste from one of those docs:
> > >
> > > path-data
> > > ----------
> > > The layout is still under discussion and so is left out from this
text.
> > >
> > > Each accessible attribute within an LFB is expected to have a 32
bit
> > > identifier.
> > Yes.
> > >
> > > The path-data will have a map derived from the static class
attribute
> > > IDs as well as those derived from variable content such table
indices
> > > (derived at runtime).
> > Exactly.
> >
> > >
> > > Below is an illustration of a complex example and how the
different
> > > attributes could be accessed.
> > >
> > > Assume LFB Class A.
> > > It contains two Arrays, B, and C (assigned identifiers 1 and 2)
> > > A also contains a structure of type Stoo with a human name F.
> > > F is assigned ID 3.
> > > A also contains two attributes, D and E assigned identifiers 4 and
5.
> > > Array B is an array, indexed as a table, whose contents are
int32s.
> > > Array C is an array, indexed as a table, whose contents are a
structure
> > > named Star.
> > > Stoo type structures contain elements X and Y, each characters,
> > > assigned identifiers 1 and 2.
> > > Star contains An element N (a sting), assigned identifier 1, and
an
> > > array
> > > Arr, assigned identifier 2, indexed as a table, containing int32s.
> > >
> > > To reference entities within an LFB instance of Class A, selectors
> > > are as follows:
> > >
> > > 1, meaning the full array B
> > Agreed. Note here 1 is as I mean 'Attribute ID'
> >
> > > 3, meaning the full structure named F.
> > Agreed. 3 is another attribute ID.
> >
> > > 2, 7 meaning the full structure in the seventh entry of the array
C.
> > The protocol only pay attention to the 2 ID, while leaving the 7
being
inluded
> > in the data field.
> >
> > > 4 means the attribute D
> > > 2, 8, 2, 9 meaning the 9th number in the array in the structure in
the
> > The protocol layer only pay attention to the 2 ID, leaving the 8,2,9
in the
data
> > field. Whatever format the LFB model may use to define the path.
> >
> > Cheers,
> > Weiming
> >
> > > eigth slot of the array C.
> > > Interpreting the string 2, 8, 2, 9 clearly requires knowing the
correct
> > > type definition.
> > > Since the model team has asserted that class definitions can
> > > only change (version) in ways that leave existing references
intact
> > > and usable it means backward compatibility is supported.
> > >
> > > ----------------------
> > >
> > >
> > > cheers,
> > > jamal
> > >
> > > On Wed, 2004-10-27 at 03:20, Khosravi, Hormuzd M wrote:
> > > > Jamal, Weiming,
> > > >
> > > > I finally got the chance to read some of these emails...sorry
for not
> > > > responding earlier. In general, we will need the concept of PATH
atleast
> > > > for Query messages (GET), but I don't believe from any of the
emails
> > > > that I have read so far that there was any concensus on what
this would
> > > > look like. Jamal has a reasonable proposal which needs more
discussion
> > > > and refinement.
> > > >
> > > > Some specific comments on Jamal's proposal so far...
> > > >
> > > > Where is the Table ID ? Is this part of the path IDs?
> > > > I don't believe we need any Flags in the path, this is similar
to the
> > > > comment that Joel had as well.
> > > > Also, for Config msgs, I think the path can be part of the data
itself,
> > > > but lets discuss this further...cause I am not sure if you guys
agree
> > > > with this,
> > > >
> > > > Talk to you soon,
> > > >
> > > > regards
> > > > Hormuzd
> > > >
> > > > -----Original Message-----
> > > > From: Jamal Hadi Salim [mailto:hadi@znyx.com]
> > > > Sent: Tuesday, October 26, 2004 3:59 AM
> > > > To: Wang,Weiming
> > > > Cc: Joel M. Halpern; Khosravi, Hormuzd M; ram.gopal@nokia.com;
> > > > forces-protocol@ietf.org; avri@psg.com; Ligang Dong; Robert Haas
> > > > Subject: Re: [Forces-protocol] Feedback: Section 6.4
> > > >
> > > > On Tue, 2004-10-26 at 00:01, Wang,Weiming wrote:
> > > >
> > > >
> > > > > I have no doubt to agree with this. Just need to calrify that
a path
> > > > is more
> > > > > than 32 bits long, or there will be not enough bits.
> > > > >
> > > >
> > > > Aha! I think i see where the misunderstanding is;->
> > > > Weiming sees either a path like 6 or 1,2,3,4 as represented by
_one_
> > > > _fixed_ sized element. In which case you have to find a way to
pack both
> > > > representations into that fixed size element.
> > > >
> > > > The suggested "path" representation is in fact _variable_.
> > > > >From the notes i sent earlier to you, the suggestion is:
> > > >
> > > > ----
> > > >  A possible path-data layout.
> > > > ----------------------------
> > > >
> > > > OPER_TLV : = <PATH-DATA>
> > > > PATH-DATA := flags IDcount <IDs> [BLOCK_OR_KEY_NOTATION] [DATA]
> > > > The operational TLV contains an opcode in the T part. Its V
> > > > contains the PATH-DATA.
> > > > Opcodes discussed so far:
> > > > * SET (create, modify or both depending on PATH-DATA flags}
> > > > * DEL (remove an existing entity specified by PATH-DATA }
> > > > * GET (Access a entity specified in PATH-DATA }
> > > > * EV_S (subscribe to an event defined in PATH-DATA }
> > > > * EV_U (unsubscribe to an event defined in PATH-DATA }
> > > > -> IDs := a series of 32bit IDs (whose size is given by IDcount)
> > > > defining the path.
> > > > -> flags are used to further refine the operation to be applied
> > > > on the ID_TLV.
> > > > -> BLOCK_OR_KEY_NOTATION := optional different BLOCK or KEY
extension
> > > > defined in section 4.2 and 4.3 of [1]
> > > > -> DATA : = Optional variable sized data dependent on PATH
> > > > and applied operations (eg GET will not have DATA).
> > > >
> > > > -------
> > > >
> > > > Well read the rest of the doc; and for completion the notes
posted by
> > > > Steve/Zsolt.
> > > >
> > > > cheers,
> > > > jamal
> > > >
> > > >
> > >
> >
> >
>





_______________________________________________
Forces-protocol mailing list
Forces-protocol@ietf.org
https://www1.ietf.org/mailman/listinfo/forces-protocol