Subject: [nmrg] IRSG Review of NMRG document draft-irtf-nmrg-autonomic-network-definitions-04.txt

From: David R Oran <[email-masked]>
Date: Sun, 16 Nov 2014 19:37:32 -0500

This document is overall in good shape and ready for publication. I have a few minor and editorial comment however that may improve the exposition.

P2.
	• you say "policy is by its nature derived from humans”. I think you mean "policy is by its nature derived and specified by humans”
	• your say " "Automatic" refers to a pre-defined, linear process,” What makes an automatic procedure necessarily “linear”? Does that mean no branching? Perhaps just say pre-defined, or just forward reference to the more formal definition below, which is better
P3
	• In the definition of “intent” you say " nodes with a specific role”, but then are silent on what you mean by a “role”. Is if a type of node, like a router versus host, or something more abstract, like whether it is a node with links to other networks, or nodes with particular functions, like a NAT? You may want to either just elucidate this somewhere, or formally define “roles” in the content of autonomic intents.
	• Under “autonomic domain” you say " instantiate the same intent”. Do you actually mean that to be singular (only one intent for a whole domain), is there just a missing plural?
P4
	• You restrict the operation of autonomic networks to work by pari-wise protocols.negotiations. In particular, you say 
		• " peer-to-peer dialogues  between the parties that make up the closed loop.  Such dialogues
require two-way "discussion" or "negotiation" between each pair of  peers involved in the loop, so they cannot readily use typical top-down command-response protocols.between the parties that make up the closed loop.  Such dialogues require two-way "discussion" or "negotiation" between each pair peers involved in the loop, so they cannot readily use typical top down command-response protocols.”
	• While you are quite explicit about this, I don’t see any fundamental reason why the protocols and negotiations could not be multi-party, or exploit consensus protocols like Paxos. It’s probably OK to go ahead and not address this, but since it occurred to me it might also occur to other readers well-versed in distributed algorithms.
P5
	• You say " results in unlimited power of the  human administrator”. A human administrator prima facia can’t have unlimited power. Perhaps instead say “results in the actions of a human administrator always being able to override the actions of other machinery”.
P6
	• Funny character substitution: " respected&#8206;”
P7
	• You say " The administrator should not even be exposed to the version of the IP protocol running in the network.” Either say “For example…” or generalize the statement to not needing to know “the exact configuration of protocols running on the network or their individual versions”.
	• On feedback, the example " provides high-level messages such as "the   link between node X and Y is down” seems a bit peculiar. If it;s a link that is down, you really need to say which link it is, since there may be more than one link between two nodes. Abstraction does have some tradeoffs with ambiguity, but just saying this without admitting the nuances might be problematic. Alternatively, perhaps what you meant to say for the autonomic abstraction isn’t that a link was down, but rather “Node X cannot communicate directly with node Y”
	• Thee’s a similar tension in the example on energy efficiency, where you say " intent "optimize my network for energy efficiency", the network should provide aggregate information about the number of ports that were able to be shut down while validating current service levels are  on aggregate still met.” Unless the administrator knows a lot of detail on the power consumed by a port, the feedback is of limited value. Should an autonomic network have enough introspection and access to fundamental characteristics that it can instead match the abstraction of the intent by reporting “I saved k watts while maintaining…”
P8
	• Where you say " IP is the layer that binds all those elements together; “ you might explicitly use the “Spanning-layer” terminology, i.e. " IP is the spanning layer that binds all those elements together”;