Please find below comments from my latest review of the doc 
draft-ietf-alto-oam-yang. No major blockers from my side, mainly some comments 
on definitions, semantics, and nits. Many thanks.

Jordi


* Definitions:
-------------

(1) In Section 4.4., the following terms are introduced for the first time:

{'server manager', 'information resource', 'performance monitor', 'logging and 
fault manager', 'algorithm', 'algorithm plugin', 'data source'}

Some of these terms might be intuitive, but I think it would be important to 
provide an explicit definition. For instance, the term 'algorithm' is quite 
generic, but it does have a specific meaning in the context of this 
specification that would be beneficial to state. Providing an example would 
also be very useful. Can I suggest that we add a subsection of definitions, 
providing a definition for each of these terms and a simple example?

(2) In Section 5.2 we explain 'server-discovery-channel' but we don't explain 
'client-id'. Shall we also add a sentence describing 'client-id' for 
completeness?

(3) In this sentence "By default, 'syslog' is the only", shall we include a 
reference to the syslog RFC? (E.g., RFC 5425)

* Semantics:
--------------

(1) In the sentence "an ALTO server implementation should contain", should the 
'should' be capitalized? (SHOULD)

(2) The following sentence is a bit confusing in a couple of ways: "the 
top-level container 'alto' in the "ietf-alto" module contains a single 
'alto-server' and a list of 'alto-client' that are uniquely identified"

'alto-client' is the list itself, so instead of "a list of 'alto-client'", I 
think it should be "a list 'alto-client'" without "of". Also, it is not clear 
what this part refers to: "that are uniquely identified". I think it refers to 
the fact that the ALTO clients are uniquely identified (via 'client-id'). But 
the subject in this sentence is the list 'alto-client', not the clients 
themselves. So I might suggest using "the top-level container 'alto' in the 
"ietf-alto" module contains a single 'alto-server' and a list 'alto-client'". 
(Without "of" and without the qualifier "that are uniquely identified".)

(3) The doc states that "If 'feed-interval' is zero, the data source is 
expected to work in the 'on-change' mode". But wouldn't in this case 
'on-change' be present and 'feed-interval' not be present? It seems redundant 
to have 'feed-interval' be zero and 'on-change' be present at the same time. 
Also in some parser implementations, it could be prone to error or add 
complexity If both are present. So maybe requiring that 'feed-interval' be 
larger than zero and delegating the case of zero to 'on-change' would keep it 
simpler.

(4) The doc states that "If poll-interval is zero, the ALTO server will not 
fetch the data source". In this case (corresponding to proactive updates), how 
is data fetched? A clarification would likely help.

(5) This paragraph is repeated twice: "A malicious client could attempt to set 
a very low/ large value to this node. Setting a very low value could attack the 
data source. And setting a very large value would lead to maintaining stale 
data in the ALTO server."

May I suggest:
"In particular, for both 'feed-interval' and 'poll-interval', a malicious 
client could attempt to set a very low/large value to this node. Setting a very 
low value could attack the data source, while setting a very large value would 
lead to maintaining stale data in the ALTO server."

* Nits:
--------

s/The detailed design of the data model is illustrated by Section 5 and Section 
6/The detailed design of the data model is illustrated in Section 5 and Section 
6/

s/And some examples of how to extend this data model/Some examples of how to 
extend this data model

s/the following interactions with each others/the following interactions with 
each other/

s/Both the server manager and information resource manager will report 
statistics data to performance monitor and logging and fault manager/Both the 
server manager and the information resource manager will report statistics data 
to the performance monitor and the logging and fault manager/

Instead of "The algorithm plugins will register callbacks to the corresponding 
ALTO information resources upon the configuration", I would suggest "upon 
configuration" (without 'the') or, alternatively, you can probably say "The 
algorithm plugins will register callbacks to the corresponding ALTO information 
resources at initialization time"

s/A data source listener will update the preprocessed data to an optional data 
broker/A data source listener will send the preprocessed data to an optional 
data broker/
(Note: In this case, I would also omit the word 'optional', since otherwise it 
does not make sense to send something to a destination that does not exist.)

s/Data Model for Server-level Operation and Management/Data Model for ALTO 
Server Operation and Management/ (note: this is to follow the same style as in 
heading 5.2 and 5.4)

s/The 'listen' contains/'listen' contains (without 'The')

s/But it does not contain/However, it does not contain

s/which is sugested by/as suggested by

s/the ALTO server reactively waits the data source for pushing updates. For the 
proactive update, the ALTO server has to proactively fetch the data source 
periodically/the ALTO server reactively waits for the data source to push 
updates. For the proactive update, the ALTO server proactively fetches the data 
source periodically

s/To use the reactive update, two publish modes are supported/Two publish modes 
are available to support reactive updates

s/will trigger notifications to be generated/will trigger notifications (note: 
could you also clarify to who are these notifications sent?)

s/This basic model only includes authentication approach directly provided by 
the HTTP server/This basic model only includes the authentication approach 
provided by an HTTP server

s/statistics that indicates/statistics that indicate

s/More specifically, num-total-* and num-total-last-* provides 
server-level/More specifically, num-total-* and num-total-last-* provide 
server-level

s/num-map-entry and num-base-obj provides measurement for number 
of/num-map-entry and num-base-obj provide the measurement for the number of

s/num-upd-stream and num-upd-msg-* provides statistics/num-upd-stream and 
num-upd-msg-* provide statistics

s/that can be directly measured at the ALTO server/that can be directly 
measured by the ALTO server (Note: I am not fully sure here, but since ALTO is 
not in the data plane, that 'by' is a bit more appropriate, since 'at' tens to 
mean "in situ")

s/subset of all available protocol/subset of available protocol

s/in network environments/in the network environments that they are expected to 
operate in (note: there are 3 occurences of this sentence in Section 8)

s/their vulnerable:/their vulnerability:

s/when such mode is enabled/when such a mode is enabled (note: or perhaps even 
better to say "when this mode is enabled"

s/case in Appendix A.3 is such an example/case in Appendix A.3 provides an 
example

s/provided by the HTTP server/provided by an HTTP server

s/how a implementation-specific/how an implementation-specific

s/for an IETF layer 3 unicast/for the IETF layer 3 unicast

s/if the depth sets to 1, the algorithm will generate PID for every l3-node/if 
the depth is set to 1, the algorithm will generate a PID for every l3-node
_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto

Reply via email to