Alia, Tom, Dave,

Have few comments on chapter 5 in the draft

The following requirement is fine, but some consideration have to be put in. 
Example, creating a filter construct or routing table has to be finished, 
before the next operation like add term to the filter or add route to the 
routing table is possible.

Multiple Simultaneous Asynchronous Operations:   A single application
      should be able to send multiple operations via I2RS without being
      required to wait for each to complete before sending the next.

So would suggest changing from multiple operations to multiple independent 
operations

High-throughput is always nice to have, but the quantification is a bit wishy 
washy.

 High-Throughput:   At a minimum, the I2RS Agent and associated router
      should be able to handle a considerable number of operations per
      second above what basic Netconf or a propretiary CLI can.

What does mean basic NETCONF? Today I can do couple hundred RPCs/sec over 
NETCONF. Question: what is RPC doing? Is it simple operational get or large 
config push? Or some other complex RPC?
There is also difference in creating logical interfaces and adding term to a 
filter or adding route to a routing table. Creating interface is most taxing 
one and adding term is fastest create operation. IMO, NETCONF has no problem 
with throughput, it is the instrumentation and that is something we should 
focus in I2RS.
What constructs do we want to control via I2RS and depending on that, make sure 
that the protocol can sustain max throughput.

In the next chapter you are mentioning

Responsive:   It should be possible to complete simple operations
      within a sub-second time-scale.

Here you are stating simple operation, so why not define few simple operations 
and put some quantification with it (in the below examples I'm pulling the 
numbers out of my hat)

example:

read routes - single prefix per transaction < 0.5sec
- multiple prefixes per transaction < time on the wire + 0.5sec
add route - single prefix per transaction < 0.5 sec
- multiple prefixes per transaction 1000 routes/sec

get filter info - single filter per transaction < 0.5sec
- multiple filters and terms per transaction  < time on the wire + 0.5sec
create filter - single filter per transaction < 0.5 sec
- multiple filters per transaction  2000/sec
add term to filter - single term per transaction < 0.5sec
- multiple terms per transaction  3000/sec

get interface info  - single interface per transaction < 0.5 sec
- multiple interfaces per transaction < time on the wire + 0.5 sec
create interface - single interface per transaction < 0.5 sec
- multiple interfaces per transaction 100/sec

I'm thinking how can you do assurance for i2rs. It looks as it is covered in 
following paragraph


  Scalable, Filterable Information Access:  To extract information in a
      scalable fashion that is more easily used by applications, the
      ability to specify filtering constructs in an operation requesting
      data or requesting an asynchronous notification is very valuable.

but it is not spelled out.

Dean



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

Reply via email to