Re: [Taps] draft-trammell-post-sockets

Tommy Pauly <tpauly@apple.com> Wed, 16 November 2016 10:07 UTC

Return-Path: <tpauly@apple.com>
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 3BB9A1296D2 for <taps@ietfa.amsl.com>; Wed, 16 Nov 2016 02:07:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.787
X-Spam-Level:
X-Spam-Status: No, score=-5.787 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.497, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
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 VvYUhxGtSPTQ for <taps@ietfa.amsl.com>; Wed, 16 Nov 2016 02:07:17 -0800 (PST)
Received: from mail-in2.asia.apple.com (mail-out.asia.apple.com [17.82.254.64]) (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 87457129664 for <taps@ietf.org>; Wed, 16 Nov 2016 02:07:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1479290786; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=uc+4l9x9HN0XDbYoyiDC91+HaATILF1OypFGbqs4mJU=; b=DEso+SCkI5fO1LPjVmUbotKsmGz+KfLSb9YXtO0mq/eOM35YKloh7xEiWbE52FVy 1wOza31UtUjVieoWasccoIBK6W8S+Jp5ASYA+v7EL7sXWbsXbyGbox3ERkDNnH6j h88UK/fIHHqFLIDvCrKL55oBFbfBP4v9kBL6HrUD8LJPBr2o8z1p+EkkWo7Nht5N fSb36l5eH5UPZ7t77v+PA9H/1Ls7shQJHenCY36TCTAlczPs5eOcm8v9zl2daXUf qF2NCXoGDTbWOrXLDYG58D8sIYmuF/ZAidoC6HNrNtWX+DLFJ5OjFYxav7BHxbt6 q4kRRD34dh0H10GzR/1n2A==;
Received: from relay3.asia.apple.com ( [17.82.200.17]) by mail-in2.asia.apple.com (Apple Singapore Mail Gateway) with SMTP id 84.17.24048.2AF2C285; Wed, 16 Nov 2016 18:06:26 +0800 (MYT)
X-AuditID: 1152fe06-ac30b9a000005df0-19-582c2fa2feb4
Received: from sng-mmpp-sz01.asia.apple.com ( [17.84.80.62]) by relay3.asia.apple.com (Apple Singapore relay) with SMTP id 47.1E.16365.0DF2C285; Wed, 16 Nov 2016 18:07:12 +0800 (MYT)
MIME-version: 1.0
Content-type: multipart/alternative; boundary="Boundary_(ID_IDMDMJrrzXLzc6VxNc9eIA)"
Received: from [17.83.168.3] (unknown [17.83.168.3]) by sng-mmpp-sz01.asia.apple.com (Oracle Communications Messaging Server 8.0.1.1.0 64bit (built Jun 15 2016)) with ESMTPSA id <0OGQ00F8JC3RGE70@sng-mmpp-sz01.asia.apple.com>; Wed, 16 Nov 2016 18:07:09 +0800 (SGT)
Sender: tpauly@apple.com
From: Tommy Pauly <tpauly@apple.com>
Message-id: <EEB7FB0A-A110-402F-91EB-DEA07777E7A6@apple.com>
Date: Wed, 16 Nov 2016 19:07:01 +0900
In-reply-to: <F66408B6-B2F2-412B-B787-5052C8750437@ifi.uio.no>
To: Michael Welzl <michawe@ifi.uio.no>
References: <4985BCB5-45E5-496C-BCDD-6C6DE62C0712@trammell.ch> <FC6F90B4-9655-4A8C-8995-76710B7A0C29@trammell.ch> <A36755F1-04C8-4F9B-AD13-F4BBCB93DEEC@apple.com> <F66408B6-B2F2-412B-B787-5052C8750437@ifi.uio.no>
X-Mailer: Apple Mail (2.3252)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDLMWRmVeSWpSXmKPExsUiGHRCUHeRvk6Ewb0F5hYbW96xWfw4u5PV 4k6MA7PHkiU/mTxWr37I7PFk/0yWAOYoLpuU1JzMstQifbsEroy2VS+YC14uZKzoaOlgamD8 1sbYxcjJISFgIjGv5yVbFyMXh5DAbkaJVxuOwCVuLL3MApHYwSix7M0qFpAEr4CgxI/J98Bs ZoEwiW+LfjJDFE1gktjwZhprFyMHh7CAhMTmPYkgNWwCKhLHv21gBgnzCthInJvkDhIWFtCX WHmmkx3EZhFQlXjcMANsL6eAncSN9R3sIOXMAm4SV1+AhUUE1CROLF8NdectRokv+88zQ9wp K7Hy6UZWkISEwAY2iXeHDzJNYBSaheTUWUhOnQU2V11iypRciLC2xJN3F1ghbDWJhb8XMSGL L2BkW8UonpuYmaObmWekl1icmaiXWFCQk6qXnJ+7iREcJ//YdjAueG14iFGAg1GJh/eBqE6E EGtiWXFl7iFGCQ5mJRFeTj2gEG9KYmVValF+fFFpTmrxIUZpDhYlcV6NrO3hQgLpiSWp2amp BalFMFkmDk6pBkYLLslX+fWskj1Ry925a/LCP00JdcgtqdBYeqP6Qcmjc8uMzqWuyG3daral u+2kq+TLVdfOtu9OriwJZE3YIrWTQbOfiUPER+b+s22BPDbuCqJKiTd0U4OEk5WuCYT78Ty/ +S5ObuP5KeXftQuz31wIFm7UX6wXop1vJ2zTyLs8YZ23vkOdEktxRqKhFnNRcSIA37Z+jY8C AAA=
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRmVeSWpSXmKPExsUiGBJgp3tBXyfCYNkJZYuNLe/YLH6c3clq cSfGgdljyZKfTB6rVz9k9niyfyZLAHMUl01Kak5mWWqRvl0CV0bbqhfMBS8XMlZ0tHQwNTB+ a2PsYuTkkBAwkbix9DJLFyMXh5DADkaJZW9WsYAkeAUEJX5MvgdmMwuESXxb9JMZomgCk8SG N9NYuxg5OIQFJCQ270kEqWETUJE4/m0DM0iYV8BG4twkd5CwsIC+xMoznewgNouAqsTjhhlg ezkF7CRurO9gBylnFnCTuPoCLCwioCZxYvlqNohNtxglvuw/zwxxp6zEyqcbWScw8s9Cct0s JNfNAhulLjFlSi5EWFviybsLrBC2msTC34uYkMUXMLKtYhQtSs1JrDTWSyzOTNRLLCjISdVL zs/dxAgK66ATgjsYP0w1PMQowMGoxMPLL6YTIcSaWFZcmXuIUYKDWUmEl1MPKMSbklhZlVqU H19UmpNafIhRmoNFSZw35/HHcCGB9MSS1OzU1ILUIpgsEwenVAPjUibVuffqQ49GrfCyXn8k t27bwnDeJe6vIgW/NHXEd37vneO6QGk6y54tC9eZnNm4KERq61tF+6IDzGkvEua1+U/cHfbJ /Oo2kfj+OasPnj78aF6n3xvNttWylR2qNvN89KsXHOBK2s937MmB1BrHRXnre+ZeYTO5ZXJy gZ/mxkPGu3O27XhxQImlOCPRUIu5qDgRAHU7lERnAgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/73vNJ-s0OQ--kDUJbyqALmbHHBo>
Cc: Brian Trammell <ietf@trammell.ch>, "taps@ietf.org" <taps@ietf.org>
Subject: Re: [Taps] draft-trammell-post-sockets
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.17
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: <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: Wed, 16 Nov 2016 10:07:19 -0000

Hi Michael,

I definitely agree that the current Post draft is not the fulfillment of the charter item 3. My point was that it is not necessarily out of scope, and the work it is looking into may very well be a necessary part of satisfying the charter.

I had read the second charter item as listing out the pieces of functionality that are required for TAPS to provide, rather than how these pieces should be exposed. Perhaps the API work is somewhere split between 2 and 3? I can certainly see it either way.

Another point is that the Post draft is still in quite early stages. As discussed today, I'd like to write up the approach I presented today as a draft, and that could get folded into Post, since I think it requires a Post-style API in order to be used. I think there is a lot of detail yet to add about how to select and use protocols and paths and options internally to the connection implementation.

Thanks!
Tommy

> On Nov 16, 2016, at 6:25 PM, Michael Welzl <michawe@ifi.uio.no> wrote:
> 
> Hi Tommy,
> 
> Being part of the discussions after the meeting, I completely agree. However, to me, saying X matches charter item Y is rather premature at this stage.
> 
> This draft presents a few services, which, as was discussed during the meeting,
> 1) overlap quite a lot with draft-mcquistin-taps-low-latency-services  (good!).
> 2) match very nicely to the services we already have in e.g. the minset draft  (good!).
> (with some small differences that we also discussed - one being message dependencies).
> 
> 
> I see this draft as very good input but I’d like to do things one by one.
> As you know I also agree with this statement of yours:
> 
> "I am concerned that if we do not aggressively and creatively try to minimize and unify the interfaces applications use for networking, we will end up with still more ossification of the stack”
> 
> so yes, this will definitely happen, but it’s clearly part of charter item 2, and here this (and the other) draft are great input!
> 
> However, while an API can be part of item 3, the relationship to item 3 all in all isn’t so clear: the draft does not really address much of what item 3 says. It doesn't explain much along the lines of selecting and engaging a protocol; it doesn’t explain how incremental deployment will work; it doesn’t explain how to discover which protocols are available for the selected service.
> 
> Again, I’m not saying an API (which is part of what this draft provides) is out of scope of item 3, but then item 3 should probably be approximately 3 drafts (I also have nothing against that  :)  but this is not my decision). It’s just that there’s a LOT still missing here, so let’s not jump the gun and do things step by step, as the charter also prescribes: "Work on this document will begin when the TAPS Transport Services have been specified."
> 
> Let me be clear, with “step by step” I’m by no means saying we should slow things down - and as I said before I see a lot of value in this draft!
> My concern is just about mapping drafts to charter items.
> 
> Very useful input, yes; in scope of charter item 3: maybe, to some degree, but at this point more useful as input to item 2 IMO.
> 
> Cheers,
> Michael
> 
> 
>> On Nov 16, 2016, at 4:12 PM, Tommy Pauly <tpauly@apple.com <mailto:tpauly@apple.com>> wrote:
>> 
>> Based on the discussions we had with several folks after the meeting, the feeling was that the some of the Post Sockets API approach probably was in scope for the third item of the TAPS charter.
>> 
>> Here's that item for reference:
>> 
>> "3) Specify experimental support mechanisms to provide the Transport 
>> Services identified in work item 2. This document will explain 
>> how to select and engage an appropriate protocol and how to 
>> discover which protocols are available for the selected service 
>> between a given pair of end points. Further, it will provide a 
>> basis for incremental deployment. Work on this document will 
>> begin when the TAPS Transport Services have been specified."
>> 
>> Here's my take for why the post-sockets effort is in scope:
>> 
>> 1. I believe that choosing the correct path/protocol stack for a connection, taking into account both client preferences and system policy, requires some API support beyond a socket. We need several things beyond traditional sockets. One is to allow for multipath and fast-open semantics, which can be shimmed onto sockets, but require significant changes that make them incompatible with traditional adopters. Another aspect is the point I brought up in my presentation today: we need support for multiple options that may be attempted and selected (between protocols, interfaces, and endpoints), and this more complex setup is not compatible with a single-five-tuple single-interface socket abstraction. These requirements seem important for "how to select and engage an appropriate protocol", which is in the charter.
>> 
>> 2. The charter mentions that the third phase "will provide a basis for incremental deployment". If I try to imagine how we can allow new protocol development to provide functionality in a non-disruptive manner, it seems most tractable to (a) define an API layer that provides the minimal subset in a way that is compatible both with existing deployments and future goals; (b) move clients to adopt said API layer as a common abstraction; and (c) incrementally add more logic for protocol selection and modifications underneath this stable level. This is the approach we've taken in our deployments, and it has worked well for enabling new features. If Post Sockets is the correct expression of the minimal subset that can lift up the API and allow TAPS to add more smarts to the stack, it would seem we would have addressed the work item.
>> 
>> The work TAPS has done so far to catalog the protocol options we see in existing transports is (while tedious) very important, and I think leads to the conclusion that a carefully considered API is required to go forward. I am concerned that if we do not aggressively and creatively try to minimize and unify the interfaces applications use for networking, we will end up with still more ossification of the stack. Today, things are ossified around TCP when applications use sockets. If we simply add options for the features we think should be added for TAPS, we still end in ossification if it boils down to "all apps that use the API in a certain manner always get protocol A". I hope that with an architecture like Post Sockets, we can distill the essential patterns of communication between endpoints so far that they can indeed grow along with future network protocol innovations.
>> 
>> Thanks,
>> Tommy
>> 
>>> On Nov 16, 2016, at 10:48 AM, Brian Trammell <ietf@trammell.ch <mailto:ietf@trammell.ch>> wrote:
>>> 
>>> Hi, all,
>>> 
>>> Looking at where we are in the agenda, we're not going to get to talk about Post Sockets in the meeting in Seoul today. As most of the properties of the API are already being discussed during Colin's presentation, this isn't that big a deal. However, if anyone who has read draft-trammell-post-sockets would like to talk to us about it here in Seoul, please drop me a line.
>>> 
>>> To answer Zahed's question at the beginning of the meeting: we didn't call this draft-trammell-taps-post-sockets because it's not clear that it's really in scope for TAPS. It presents a radically changed replacement in the abstract for the sockets API. However, if the working group is interested in continuing to discuss it, we're happy to resubmit as draft-trammell-taps-post-sockets if it makes things easier to follow. :)
>>> 
>>> Cheers,
>>> 
>>> Brian
>>> 
>>> _______________________________________________
>>> Taps mailing list
>>> Taps@ietf.org <mailto:Taps@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/taps
>> 
>> _______________________________________________
>> Taps mailing list
>> Taps@ietf.org <mailto:Taps@ietf.org>
>> https://www.ietf.org/mailman/listinfo/taps
>