Re: [Taps] TCP components

Michael Welzl <michawe@ifi.uio.no> Fri, 19 June 2015 13:41 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 50CF51A011B for <taps@ietfa.amsl.com>; Fri, 19 Jun 2015 06:41:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LyS7eN3dbQ_M for <taps@ietfa.amsl.com>; Fri, 19 Jun 2015 06:41:06 -0700 (PDT)
Received: from mail-out4.uio.no (mail-out4.uio.no [IPv6:2001:700:100:10::15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 098761A0113 for <taps@ietf.org>; Fri, 19 Jun 2015 06:41:06 -0700 (PDT)
Received: from mail-mx1.uio.no ([129.240.10.29]) by mail-out4.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1Z5wXX-0007xW-V4; Fri, 19 Jun 2015 15:41:03 +0200
Received: from boomerang.ifi.uio.no ([129.240.68.135]) by mail-mx1.uio.no with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1Z5wXX-0000v4-61; Fri, 19 Jun 2015 15:41:03 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <5995ACCC-6074-4E5B-8E21-BC65EE80571B@trammell.ch>
Date: Fri, 19 Jun 2015 15:41:02 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <45CE5D07-F7C9-4698-98D6-2C8D8927C6E9@ifi.uio.no>
References: <5579768E.5060402@tik.ee.ethz.ch> <A3EF3A19-0E37-42E6-8D17-94164EBA7FDD@ifi.uio.no> <154FD7B7-9A01-43EC-927D-B9D71F1BC38D@tik.ee.ethz.ch> <57DC7DAB-7054-41BE-8515-626353782BBC@ifi.uio.no> <5581B81B.4090500@isi.edu> <725D4141-40AB-4E30-9409-96813C80905B@tik.ee.ethz.ch> <33CA72C2-D0EC-43A1-B766-D34F3636961B@ifi.uio.no> <23AACB56-2044-4E89-930B-C7D501AD7184@tik.ee.ethz.ch> <E788A309-869F-49E0-832D-429E0DA0E2F9@ifi.uio.no> <5995ACCC-6074-4E5B-8E21-BC65EE80571B@trammell.ch>
To: Brian Trammell <ietf@trammell.ch>
X-Mailer: Apple Mail (2.2098)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 9 msgs/h 3 sum rcpts/h 11 sum msgs/h 3 total rcpts 30281 max rcpts/h 54 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-6.1, required=5.0, autolearn=disabled, RP_MATCHES_RCVD=-1.052, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 2918D837161EE1AB4E99DB4964F15A2F0A725F0A
X-UiO-SPAM-Test: remote_host: 129.240.68.135 spam_score: -60 maxlevel 80 minaction 2 bait 0 mail/h: 3 total 7352 max/h 17 blacklist 0 greylist 0 ratelimit 0
Archived-At: <http://mailarchive.ietf.org/arch/msg/taps/Xe3K1sq-VWMofKts4P5wuWDAy2k>
Cc: "taps@ietf.org" <taps@ietf.org>, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, Joe Touch <touch@isi.edu>
Subject: Re: [Taps] TCP components
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussions on Transport Services <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Jun 2015 13:41:08 -0000

> On 19 Jun 2015, at 14:32, Brian Trammell <ietf@trammell.ch> wrote:
> 
> hi Michael,
> 
> continued, inline.
> 
>> On 18 Jun 2015, at 18:44, Michael Welzl <michawe@ifi.uio.no> wrote:
>> 
>> 
>>> On 18. jun. 2015, at 15.56, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> wrote:
>>> 
>>> Hi Michael,
>>> 
>>>> Am 18.06.2015 um 15:43 schrieb Michael Welzl <michawe@ifi.uio.no>:
>>>> 
>>>> 
>>>>> On 18 Jun 2015, at 10:48, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> wrote:
>>>>> 
>>>>> Hi Joe,
>>>>> 
>>>>> I believe the approach Michael is proposing is to look at existing APIs as a starting point; not only abstract APIs.
>>>> 
>>>> No, wrong. Only abstract ones from RFCs, I said this before. These things would typically have preceding IETF debate, whereas trying to cover implementations is a huge and probably meaningless endeavour (the bar may be high for adding function calls to an API on system X and low for an API on system Y).
>>> 
>>> Okay, but then I don’t really understand your approach fully. Yes we should document and look at what’s already specified in RFC, however isn’t the goal of taps to actually figure out how to change/extend/improve these APIs? How can we figure out what’s missing/wrong if we only look at what’s already there?
>> 
>> *My* goal is, and has always been, to provide a simpler, general API that is protocol independent.
> 
> +1, though I would at this point say "better" as opposed to "simpler" and "general", with the caveat that i'm not yet sure what better looks like. This gets back to my point about interaction patterns in the previous message, though: if the simpler API provides only stream interaction, or packet sequence interaction, or if it only allows receivers to get data through asynchronous notifications, it will make it hard to support . So maybe we want a better common API for defining the *requirements* of an association, and better TX/RX *APIs* plural, one for each interaction pattern we want to support.

I agree.


>> Note that this is not only for simplicity for ease of use BUT also for the sake of being able to automatize. After all the major goal is to remove the strict binding between applications and a specific protocol choice.
> 
> We share this higher level goal in any case.
> 
>> To be able to do this (documents 2 and 3), we first need a list of the existing services - our toolbox, if you wish (document 1). Figuring out what's missing / wrong about today's APIs (except that they are bound to a specific protocol) has never been *my* major intention, and I certainly don't see that as the goal of this document. I'd be surprised if that's what the charter suggests?! But of course my opinion is only what it is, the charter reflects the consensus...
> 
> I don't think that's in scope for this document, either. The component (and decomposition) work is aimed at figuring out what the available features are, and what (in a "TAPS as glue layer over existing transports" design) the implications of using protocol X for feature Y are. The API work is a bit of a non-sequitur (but also important to note...)
> 
>> All this being said, it can be a nice side-effect of the document (and note that noone knows what a TAPS system will really look like, and how these RFCs will actually end up being used).
> 
> In general, if there's any content in this document that is useful but doesn't fit but we still find useful, we can certainly put it something else.
> 
>> So I'm not strongly opposing the approach you're now following in that I don't see a big issue with there being a list of components - I just think it's not particularly useful for the goal of the document and doesn't really help the group progress towards its goals. I thought that proposing something more systematic with less arbitrariness could make it easier to put everyone in the same boat (in a way: "look, the boat HAS to be like that, there wasn't much choice, sit down please" rather than "sorry I painted it green, I like that color; I can understand you would have preferred a blue boat...").
> 
> I agree. Given, though, that the protocols we're looking at, that they weren't designed from components, it is really not clear to me how to systematically decompose existing protocols without making arbitrary choices as to where to make the cut.

but why decompose?


> (and I wouldn't read too much into the approach we're following -- we're trying to incorporate the input we've taken from discussion on the list into the structure of the document, and as Mirja says, we're completely open to trying other approaches to do that).
> 
> We could take an opposite approach here: jump forward to section 4, define the features we think we want -- this we can do more systematically, because we're only limited by the intersection of the features we want and the features we think we can realistically deploy, as opposed to the history represented by the protocol components -- and then use the components as a check on the feasibility of those features.

Interesting idea - it sounds good to me!

Cheers,
Michael