Subject: [Forces-protocol] Summary of path

From: "Weiming Wang" <[email-masked]>
Date: Sun, 31 Oct 2004 21:42:21 +0800

Hi all,

Below is some of the summary on the current debate on the 'path' , its usage
with the individual advantages:

1. Seems agreed that  a 'path' is a list of IDs and Indices (rathan than only
one 32 bit index as some might have thought). Therefore, the conclusion is a
path will be represented by a TLV like format.

2.  Seems agreed that the 'path' is composed of two pieces as:

        path := AttributeID <Index>+
(Jamal suggest to use some flags and count to more precisely represent it.
Because this belongs to the issue of  refinement,  just is skipped currently
here)
Where,
    AttributeID is an ID used to uniquely recognize different attributes in an
LFB, and will be defined during LFB definitions in the XML document (therefore
it's called a static ID by Jamal). Note that in a Query Message, path is also
used to query entities other than attributes,  including capabilities, and even
events, the AttributeID here also has a extensive meaning for IDs that represent
all entities operated, such as Capability ID, and Even Event ID( Weiming).
    An Index is used to index an entry of  a table, a array, and a structured
data type.  Because the data types can be recursively compounded, there is a
need for multiple level of indexing, which is represented as a list of indexes.

3. Two debated schemes to use the 'path' idea as below:

D1: To use a uniform 'path'  field in the Operation TLV in protocol to retrieve
all data (use query as example), as:

                OpTLV(value) := path <data>

Where, the 'path' is a TLV like format that includes AttributeID and Indexes,
and the two pieces are all MUST, even for attributes that are atomic, or tables
with few entires.

D2: To separate the 'path' into two pieces explicitly in the protocol definition
as:

                OpTLV(value) := AttributeID <Index(es)> <data>

The difference of D2 from D1 is, the AttributeID is MUST, while the <Index(es)>
is OPTIONAL in D2.  This means protocol users are allowed not to use Index to
retieve data from FE, but they definitely have to use AttributeID for it.
Because the <Index(es)> part is optional, it can be conceptually included in the
followed data field, which means the protocol will not explicitly define how the
Indexes are formated, leavine the model to do this just like other attribute
data.

Advantages for D1:

1) Can supply a direct and straight forward means for data retieving without
ambiguity.
 (Jamal, pls add more)

Advantages for D2:
1) Be more flexible to all kinds of attributes, where Index is not necessarily
needed, e.g., attributes of  atomic data type, of table or array with few
entries inside, especially for those attributes which do not originally have
indexes, like capabilities, events.
( I reviewed all of our discussions on the 'path' again (especially
Zsolt/Steve's Proposal for ForCES Data Encoding), just have a feeling that to
use Index in some cases, we really have a tradeoff for the complex Index
management. It seems Index will have to be assigned by CE, but capabilites and
events that originally exist in FE makes the assignment a total extra work for
CE to do).

2) Be clear in the architecture for LFB management. I think of the architecture
as below:

                                            LFB class
                                           /      \
                                    LFB Instance  ...
                                    /    \
                   Attribue ID   ...            ---- Above is the protocol layer
cared -----
                         /        \
Path to entry (Optional) ..             ---- Below is the model layer
cared -----
                     /
               Entry

I see the artchitecture for D1 as:

                                        LFB class
                                       /      \
                                LFB Instance  ...
                                /        \
               Path to  entry   ...        ---- Above is the protocol layer
cared -----
                           /
                     Entry                     ---- Below is the model layer
cared -----

Best Regards,
Weiming

Here are today's meeting minutes that I took....

Meeting Notes

1. PATH - Weiming wants to split path in 2 pieces, path/attribute id and
data (one is static, other depends on the data) Attribute ID may be
Table ID.
Weiming to post email with text describing the two schemes - include
Model team in email
(Advantages, disadvantages)

2. MultiLFB Addressing - 3 schemes, Robert to present at the IETF
(TLV of multiple LFB instances, MIID, changing LFB class/instance TLV
again)
Jamal - tradeoff between compute and bandwidth

3. Packet Subscribe - 2 schemes - configure attribute of sink/source
LFBs using Config,
or special operation Packet Subscribe
Resolution - use a Config msg to configure the attribute of some LFBS
(Source/Sink like LFBs)
Do we need to define the Source/Sink LFBs - we need to define the
functionality, these LFBs would probably be defined by the model team
Do we need anything special for the packet mirroring - this is part of
the LFB attributes

4. Jamal/Robert/Hormuzd had more discussion later on about Jamal's
comments on 6.1, 6.2. One resolution was to change the name of operation
"SHOW" to "ADVERTISE". Jamal will send out an email to summarize the
other topic regarding Events being addressed to LFBs rather than CE,
FEs.

Let me know if there are any comments,

Thanks all for attending,
Hormuzd

_______________________________________________
Forces-protocol mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/forces-protocol

_______________________________________________
Forces-protocol mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/forces-protocol

---

From: "Khosravi, Hormuzd M" <[email-masked]>
Date: Mon, 1 Nov 2004 10:53:23 -0800

Weiming,

Pls submit this as an issue to the ForCES mailing list. See Jamal's
emails for examples.

Thanks
Hormuzd

-----Original Message-----
From: Weiming Wang [mailto:[email-masked]] 
Sent: Sunday, October 31, 2004 5:42 AM
To: Khosravi, Hormuzd M; [email-masked]; [email-masked];
[email-masked]; Wang Weiming
Cc: Putzolu, David; Joel M. Halpern; [email-masked]; Steven
Blake (petri-meat); Alan DeKok; Deleganes, Ellen M; Yang, Lily L; Zsolt
Haraszti; Robert Haas; [email-masked]; [email-masked]
Subject: Summary of path

Hi all,

Below is some of the summary on the current debate on the 'path' , its
usage
with the individual advantages:

1. Seems agreed that  a 'path' is a list of IDs and Indices (rathan than
only
one 32 bit index as some might have thought). Therefore, the conclusion
is a
path will be represented by a TLV like format.

        path := AttributeID <Index>+
(Jamal suggest to use some flags and count to more precisely represent
it.
Because this belongs to the issue of  refinement,  just is skipped
currently
here)
Where,
    AttributeID is an ID used to uniquely recognize different attributes
in an
LFB, and will be defined during LFB definitions in the XML document
(therefore
it's called a static ID by Jamal). Note that in a Query Message, path is
also
used to query entities other than attributes,  including capabilities,
and even
events, the AttributeID here also has a extensive meaning for IDs that
represent
all entities operated, such as Capability ID, and Even Event ID(
Weiming).
    An Index is used to index an entry of  a table, a array, and a
structured
data type.  Because the data types can be recursively compounded, there
is a
need for multiple level of indexing, which is represented as a list of
indexes.

D1: To use a uniform 'path'  field in the Operation TLV in protocol to
retrieve
all data (use query as example), as:

Where, the 'path' is a TLV like format that includes AttributeID and
Indexes,
and the two pieces are all MUST, even for attributes that are atomic, or
tables
with few entires.

D2: To separate the 'path' into two pieces explicitly in the protocol
definition
as:

The difference of D2 from D1 is, the AttributeID is MUST, while the
<Index(es)>
is OPTIONAL in D2.  This means protocol users are allowed not to use
Index to
retieve data from FE, but they definitely have to use AttributeID for
it.
Because the <Index(es)> part is optional, it can be conceptually
included in the
followed data field, which means the protocol will not explicitly define
how the
Indexes are formated, leavine the model to do this just like other
attribute
data.

Advantages for D1:

1) Can supply a direct and straight forward means for data retieving
without
ambiguity.
 (Jamal, pls add more)

Advantages for D2:
1) Be more flexible to all kinds of attributes, where Index is not
necessarily
needed, e.g., attributes of  atomic data type, of table or array with
few
entries inside, especially for those attributes which do not originally
have
indexes, like capabilities, events.
( I reviewed all of our discussions on the 'path' again (especially
Zsolt/Steve's Proposal for ForCES Data Encoding), just have a feeling
that to
use Index in some cases, we really have a tradeoff for the complex Index
management. It seems Index will have to be assigned by CE, but
capabilites and
events that originally exist in FE makes the assignment a total extra
work for
CE to do).

2) Be clear in the architecture for LFB management. I think of the
architecture
as below:

                                            LFB class
                                           /      \
                                    LFB Instance  ...
                                    /    \
                   Attribue ID   ...            ---- Above is the
protocol layer
cared -----
                         /        \
Path to entry (Optional) ..             ---- Below is the model layer
cared -----
                     /
               Entry

                                        LFB class
                                       /      \
                                LFB Instance  ...
                                /        \
               Path to  entry   ...        ---- Above is the protocol
layer
cared -----
                           /
                     Entry                     ---- Below is the model
layer
cared -----

Best Regards,
Weiming

Meeting Notes