Thanks for putting this draft together.  I have a few comments below.

Section 2:

Along with Joel, I find the terminology a bit strange given the existing content of I2RS. Is "Server" in this context an I2RS Agent? Or is the Server a bigger thing that can implement, among other things, an I2RS Agent? Or is this more of an abstract thing? I think perhaps in the context of I2RS, existing terminology should be used.

Nit: In the definition of Service you have, "...together with the policies that control it's usage." This should be "its usage."

Section 3:

One HLO for me is serviceability (or traceability). That is, I2RS should be designed in a way so that one can understand what Clients affected what Agent state and when. It would be good to see some of the requirements from draft-clarke-i2rs-traceability folded in on that front (yes, shameless plug).

Section 4.1:

Here is where Agent should be used over Server to be consistent with existing I2RS terminology.

In your GEN requirements, you call out that the client initiates a connection to the server. Okay. However, what about notifications? They should be covered as part of the general protocol requirements. This would reverse the flow of the "connection" (if there is a connection for notifications).

I agree with Joel that GEN-3 and TR-4 seem to contradict each other. But I think that the server/Agent can initiate a transport session for notifications.

I'm not sure I see where TR-11 fits into I2RS exactly. I don't recall seeing where I2RS needs to deal with dataplane manipulation.

Concerning TR-12, there was a lengthy discussion over using a persistent connection. There are other ways to determine if an Agent has failed (which is what was concluded from the thread). However, if you're saying that a participant only needs to be aware if the current, transient connection fails, I agree. A reliable protocol should give you that.

ID-8 sounds weird to me. I would imagine this would just happen if the state is associated to a particular client. I'm not sure it needs to be stated.

Nit: In ME-6, I think IDL should be defined.

In MEP-3, why wouldn't a Server acknowledge a Client request? Are you saying the Server may die or timeout?

Nit: In PS-2, "applications responsibility" should be "application's responsibility."

PS-4 seems to interfere with ME-9. They don't contradict per se, but it seems like if there SHOULD be a binary protocol, why have a human readable one? I guess what I'm saying is taken with ME-7, maybe a binary protocol isn't needed if a human-readble one can be made to adhere to the spirit of ME-7.

PS-11 points to not needing persistent connections. However, how will notifications be done to these clients? This has been the cause of some debate on the list. Perhaps the requirements should spell something out. Maybe the clients register a callback with the agent to receive the fire-and-forget notifications.

Joe

--
Joe Marcus Clarke, CCIE #5384,         |          |
SCJP, SCSA, SCNA, SCSECA, VCP        |||||      |||||
Distinguished Services Engineer ..:|||||||||::|||||||||:..
Phone: +1 (919) 392-2867         c i s c o  S y s t e m s
Email: [email protected]

----------------------------------------------------------------------------
_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs

Reply via email to