I do, too - I didn't mean that we should merge the abstract APIs together right 
now, in this first doc! This was just about the thought process - while my 
answer to Michael Tuexen is "yes, I meant the complete abstract API", that was 
just about what we could eventually get from having a complete view of this API.


> On 6. jun. 2015, at 06.37, Marie-Jose Montpetit <mari...@mit.edu> wrote:
> 
> I completely agree.
> 
> Marie-Jose Montpetit, Ph.D.
> mari...@mit.edu
> @SocialTVMIT
> 
>> On Jun 6, 2015, at 12:12 AM, Anna Brunstrom <anna.brunst...@kau.se> wrote:
>> 
>> 
>> On 2015-06-05 22:17, Michael Welzl wrote:
>>>> On 5. jun. 2015, at 19.52, Michael Tuexen 
>>>> <michael.tue...@lurchi.franken.de> wrote:
>>>> 
>>>>> On 05 Jun 2015, at 16:03, Michael Welzl <mich...@ifi.uio.no> wrote:
>>>>> 
>>>>> 
>>>>>> On 05 Jun 2015, at 15:52, Michael Tuexen 
>>>>>> <michael.tue...@lurchi.franken.de> wrote:
>>>>>> 
>>>>>>> On 05 Jun 2015, at 15:39, Michael Welzl <mich...@ifi.uio.no> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>>> On 05 Jun 2015, at 12:35, Michael Tuexen 
>>>>>>>> <michael.tue...@lurchi.franken.de> wrote:
>>>>>>>> 
>>>>>>>>> On 05 Jun 2015, at 11:05, Michael Welzl <mich...@ifi.uio.no> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On 5. jun. 2015, at 10.12, Mirja Kühlewind 
>>>>>>>>>> <mirja.kuehlew...@tik.ee.ethz.ch> wrote:
>>>>>>>>>> 
>>>>>>>>>> Okay, just to quickly clarify. In the charter only the word service 
>>>>>>>>>> is used. We defined later on the words component and feature which 
>>>>>>>>>> are currently not reflected in the charter. The part I've cited 
>>>>>>>>>> below, I think, it should say components. However, it does not 
>>>>>>>>>> really matter because we will in the current document first identify 
>>>>>>>>>> components and then discuss features. In any case this document will 
>>>>>>>>>> not define a new interface.
>>>>>>>>> I got that but I disagree about "it should say components" for the 
>>>>>>>>> part in the charter: from the definition, the component is an 
>>>>>>>>> implementation, not what is exposed to the application. I think the 
>>>>>>>>> more important part is to capture what's exposed to the application. 
>>>>>>>>> For example: SCTP has a component called "strong error detection 
>>>>>>>>> (CRC32C)". TCP has a component called "error detection (checksum)". 
>>>>>>>>> This is probably not exposed to the application as such by any of 
>>>>>>>>> these protocols. I'll explain below why this makes it less important 
>>>>>>>>> in my opinion...
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> I'd also say that this is not the flag ship document (as stated by 
>>>>>>>>>> Joe). The flagship document probably is the third item on the 
>>>>>>>>>> charter which then will probably also talk about the interface in 
>>>>>>>>>> more detail (charter says on the third doc: "This document will 
>>>>>>>>>> explain how to select and engage an appropriate protocol ...").
>>>>>>>>> Well, this first document is no less important, everything hinges on 
>>>>>>>>> it.
>>>>>>>>> 
>>>>>>>>> So let's think of the future system we're envisioning here. Is it 
>>>>>>>>> going to provide "error detection" as a service? Is it going to 
>>>>>>>>> provide "strong error detection"?
>>>>>>>>> 
>>>>>>>>> When making these decisions, I think we'd first need to go through 
>>>>>>>>> the list of things provided to applications by the protocols in what 
>>>>>>>>> Joe calls the abstract API. Probably we won't find it there: it's a 
>>>>>>>>> static property of the protocols AFAIK. So, next, we go through all 
>>>>>>>>> the static properties to figure out what we need to expose. Then, the 
>>>>>>>>> question becomes: should a TAPS system decide for or against SCTP 
>>>>>>>>> based on the level of error protection? Is this a basis for deciding 
>>>>>>>>> for this or the other protocol?
>>>>>>>>> 
>>>>>>>>> These are important decisions but I think they are secondary, whereas 
>>>>>>>>> what the protocols now explicitly offer is primary - because it would 
>>>>>>>>> be very strange not to offer what is being offered today. We can 
>>>>>>>>> decide to not expose "level of error protection" and give the TAPS 
>>>>>>>>> more freedom in choosing the protocol; given that the goal is to stop 
>>>>>>>>> connection applications to specific protocols, we CAN do that.
>>>>>>>> I consider "protecting against bit errors" a service. And I think the 
>>>>>>>> level is important. I agree, TCP and SCTP provide
>>>>>>>> a protocol dependent level of protection, so there is no need to 
>>>>>>>> expose this in the API of the particular protocol,
>>>>>>>> however, I do think someone wants a strong checksum or not, and that 
>>>>>>>> will influence the choice of protocols.
>>>>>>>> So we do have services which are not configurable via the API.
>>>>>>> Just for clarification: this wasn't about whether the level of 
>>>>>>> "protection against bit errors" as such is important or not: I think 
>>>>>>> the level of protection is a less important item to cover in the first 
>>>>>>> document because, given current protocols (what this doc is about), you 
>>>>>>> can't just switch it on or off - it comes with a choice of a whole 
>>>>>>> protocol. So it's just a part of a protocol description - static 
>>>>>>> protocol properties that come as a whole whenever you pick the protocol.
>>>>>> Such as "reliable" for TCP? Or "byte stream" for TCP? These properties 
>>>>>> come with choosing TCP...
>>>>> Exactly.
>>>>> 
>>>>> I meant "important" as "to be discussed first" (hm, maybe simply "listed 
>>>>> first in the doc"). I think it would make things easier and clearer to 
>>>>> first discuss the things that are exposed by the abstract APIs today.
>>>>> SCTP will help, then: it exposes "reliable". So if we'd go with that, the 
>>>>> first item in your list above for TCP would already disappear from the 
>>>>> discussion: it will eventually need to be exposed by a TAPS system 
>>>>> because of SCTP anyway, and thus belongs in the list.
>>>>> 
>>>>> So if the document would, for instance, first list all the things that 
>>>>> the protocol's abstract API now expose, and then follow with static 
>>>>> properties that protocols have (and that a certain combination of chosen 
>>>>> services would entail), then that list of static properties gets shorter 
>>>>> - e.g., for TCP, from the two items above, only "byte stream" would be 
>>>>> left.
>>>> Structuring the things are a good idea. Which do you get "byte stream", 
>>>> not "reliable byte stream"?
>>> Only "byte stream" because you don't need to talk about reliability anymore 
>>> when you have it covered by going through the abstract APIs.
>>> 
>>> Then, of course, things are tied to certain protocols ... after all TCP 
>>> *IS* reliable so when you pick it e.g. for the byte stream (or perhaps 
>>> MPTCP's functions) you always get reliability with it. But then, certain 
>>> mechanisms are semantically compatible in a best effort world - e.g. an 
>>> application asking for unreliable data transfer will not break if it gets 
>>> reliability (it's just slower). This kind of match-making between the 
>>> services and protocols might become easier if we first have a list of what 
>>> protocols provide to upper layers, and then have the static properties per 
>>> protocol MINUS the things in the first list. That's all I'm suggesting.
>> 
>> Even if there will be some overlap, I think it will be more clear to 
>> describe the abstract API and the static properties per protocol. This is 
>> what a protocol provides to upper layers and it will make the description of 
>> each protocol self-contained. The static properties are not that many and we 
>> can still make a clear distinction between the abstract API and the static 
>> properties in the description of each protocol.
>> 
>> For the continued work it will also be useful to have a complete and agreed 
>> upon view of what each protocol provides.
>> 
>> Cheers,
>> Anna
>> 
>>> 
>>> Cheers,
>>> Michael
>>> 
>>> _______________________________________________
>>> Taps mailing list
>>> Taps@ietf.org
>>> https://www.ietf.org/mailman/listinfo/taps
>> 
>> 
>> _______________________________________________
>> Taps mailing list
>> Taps@ietf.org
>> https://www.ietf.org/mailman/listinfo/taps
> 
> _______________________________________________
> Taps mailing list
> Taps@ietf.org
> https://www.ietf.org/mailman/listinfo/taps

_______________________________________________
Taps mailing list
Taps@ietf.org
https://www.ietf.org/mailman/listinfo/taps

Reply via email to