Re: [Taps] IETF100 meeting agenda uploaded

Michael Welzl <michawe@ifi.uio.no> Sun, 05 November 2017 22:42 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5E00113FD0C for <taps@ietfa.amsl.com>; Sun, 5 Nov 2017 14:42:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 wHJKjTrH8HJh for <taps@ietfa.amsl.com>; Sun, 5 Nov 2017 14:42:26 -0800 (PST)
Received: from mail-out02.uio.no (mail-out02.uio.no [IPv6:2001:700:100:8210::71]) (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 AC2C713FD0B for <taps@ietf.org>; Sun, 5 Nov 2017 14:42:26 -0800 (PST)
Received: from mail-mx02.uio.no ([129.240.10.43]) by mail-out02.uio.no with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <michawe@ifi.uio.no>) id 1eBTcW-0002rl-Oo; Sun, 05 Nov 2017 23:42:24 +0100
Received: from 93-58-133-64.ip158.fastwebnet.it ([93.58.133.64] helo=[10.0.0.6]) by mail-mx02.uio.no with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) user michawe (Exim 4.82_1-5b7a7c0-XX) (envelope-from <michawe@ifi.uio.no>) id 1eBTcV-0000Av-SA; Sun, 05 Nov 2017 23:42:24 +0100
From: Michael Welzl <michawe@ifi.uio.no>
Message-Id: <8CF3A491-7F7C-4D18-AB21-EDB43BB5C409@ifi.uio.no>
Content-Type: multipart/alternative; boundary="Apple-Mail=_4FA5F515-D628-4404-B4A6-D52ECBB276D3"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Sun, 05 Nov 2017 23:42:24 +0100
In-Reply-To: <E8C5DEB2-AD11-45D4-A942-6B810CB2B3E4@apple.com>
Cc: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>, "taps@ietf.org" <taps@ietf.org>
To: Tommy Pauly <tpauly@apple.com>
References: <HE1PR07MB3260CD10D0BE39FC9763A4409F520@HE1PR07MB3260.eurprd07.prod.outlook.com> <C73B0F5A-E3DC-453B-A7DD-5A9A52B8CF61@ifi.uio.no> <D0A8B647-28DF-4413-946F-0CF820F89927@apple.com> <2AC996D2-9F68-4229-827D-AAB5950E86BB@ifi.uio.no> <E8C5DEB2-AD11-45D4-A942-6B810CB2B3E4@apple.com>
X-Mailer: Apple Mail (2.3273)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx02.uio.no: 93.58.133.64 is neither permitted nor denied by domain of ifi.uio.no) client-ip=93.58.133.64; envelope-from=michawe@ifi.uio.no; helo=[10.0.0.6];
X-UiO-Spam-info: not spam, SpamAssassin (score=-4.9, required=5.0, autolearn=disabled, AWL=0.076, HTML_MESSAGE=0.001, TVD_RCVD_IP=0.001, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: FD3FB401B02DB1844F0C0FEB8FC42D46560EA17F
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/TjUIcI7gxJ8lqMBDAVQd2uFzwOM>
Subject: Re: [Taps] IETF100 meeting agenda uploaded
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Sun, 05 Nov 2017 22:42:29 -0000

Hi,

 
> On Nov 5, 2017, at 10:21 PM, Tommy Pauly <tpauly@apple.com> wrote:
> 
> Indeed! But, as far as I can tell, drafts like draft-tiesel-taps-socketintents-01 are not trying to propose a top-level API, but rather an aspect of the API.

I agree with everything you say here. About draft-tiesel-taps-socketintents-01, okay - I wasn’t so sure where this is heading … but both draft-trammell-taps-post-sockets-03 and draft-fairhurst-taps-neat-00.txt describe an abstract API.


> Even when we discuss the draft for what I'm referring to as the "top-level API", I think we need to (in the spirit of the charter) not be specifying a specific set of language-specific API calls, or a specific framework, but the shape that instances of an API should take. My goal coming out of TAPS would be to change the approach implementers take when designing transport APIs, to make sure that the resulting APIs not only support the flexibility TAPS was designed for, but also can be standard and cross-compatible across all operating systems. Thus, we want the documents to encompass API principles and concepts, but leave the semantics flexible and as an exercise to the reader. Perhaps in the examples, even give several options in different language styles, and show how code can be easily translated between the approaches.

Yes - and these principles (also in the spirit of the charter) should be based on the analysis of existing transports and the definition of a minimal set of services that TAPS systems should support. I made an effort to be reasonable in the minimum set that we’ve derived:
- avoid getting stuck in a corner (being tied to only one protocol)
- allow for one-sided deployment, with a fall-back to TCP or UDP ( (D)TLS TBD - I think that was a very reasonable request)
- not miss out on functionality that can never be offered unless it’s put in the API


> To be specific, I would imagine that whatever API examples we have in the various documents we write will not necessarily be part of any specific implementation. Rather, various implementations will conform to the principles and patterns of the API description. Apple's transport APIs would match it, NEAT's APIs would match it, Android APIs would match it, Windows APIs would match it, etc, etc.

I agree with all that.

To be clear, this is not me arguing for or against one specific API. I’m only keen on ensuring that the result matches the principles I used for the minset, as listed above (or, if folks disagree with them, we should discuss them).  I only want TAPS to be implementable, useful and deployable (where I think that allowing one-sided deployment is a big deal).

Cheers,
Michael