Re: [Webpush] Early TSV-ART review of draft-ietf-webpush-protocol-09

Brian Raymor <Brian.Raymor@microsoft.com> Mon, 10 October 2016 16:50 UTC

Return-Path: <Brian.Raymor@microsoft.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9ADA112973C; Mon, 10 Oct 2016 09:50:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.022
X-Spam-Level:
X-Spam-Status: No, score=-2.022 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.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 rv3_M6S3aZxw; Mon, 10 Oct 2016 09:49:57 -0700 (PDT)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0129.outbound.protection.outlook.com [104.47.42.129]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C081712973A; Mon, 10 Oct 2016 09:49:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Yi9XF6PVD9L3VFLMBy9sN/+Z5pXSiYjGrYFljg69gSc=; b=iqGsc/Ub39tJ5DzUZOy48kjJnNDCm152P95olhQa73Fk5r3t3SWGaoU1I7l4AlWbWe0oOcWnrTFsyKaN/NWNhcBp5dwD1pLfllAQu55egkn25VkUTxebycJDWb/9AJ4u8CfMUx5XAvP3kW4UUvxEeWbD3QhH9yaHGqm3OYBSW0U=
Received: from CY1PR03MB2380.namprd03.prod.outlook.com (10.167.8.6) by CY1PR03MB2380.namprd03.prod.outlook.com (10.167.8.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Mon, 10 Oct 2016 16:49:56 +0000
Received: from CY1PR03MB2380.namprd03.prod.outlook.com ([10.167.8.6]) by CY1PR03MB2380.namprd03.prod.outlook.com ([10.167.8.6]) with mapi id 15.01.0659.020; Mon, 10 Oct 2016 16:49:56 +0000
From: Brian Raymor <Brian.Raymor@microsoft.com>
To: Alissa Cooper <alissa@cooperw.in>, "draft-ietf-webpush-protocol@ietf.org" <draft-ietf-webpush-protocol@ietf.org>
Thread-Topic: Early TSV-ART review of draft-ietf-webpush-protocol-09
Thread-Index: AQHSGKne4rZHBz7KIU6jZUnx6IKSHaCXcP9wgAHHqeCAAKkcgIAH322AgAA4noA=
Date: Mon, 10 Oct 2016 16:49:55 +0000
Message-ID: <CY1PR03MB238049E5FF056BAA8A334B0F83DB0@CY1PR03MB2380.namprd03.prod.outlook.com>
References: <1f645188-2344-ebf3-1228-3735bcf81338@ericsson.com> <CY1PR03MB23800B9F4C7BEF6137E5EEA483C50@CY1PR03MB2380.namprd03.prod.outlook.com> <CY1PR03MB238084C15B9BEEBE0F8CD8C683C40@CY1PR03MB2380.namprd03.prod.outlook.com> <4baa72c6-cd52-19d5-c070-4a19336c23ed@ericsson.com> <08A740FC-B283-404D-AF3C-E97D574E9642@cooperw.in>
In-Reply-To: <08A740FC-B283-404D-AF3C-E97D574E9642@cooperw.in>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Brian.Raymor@microsoft.com;
x-originating-ip: [174.61.159.182]
x-ms-office365-filtering-correlation-id: cd91b96a-9a5d-46ae-8120-08d3f12d7700
x-microsoft-exchange-diagnostics: 1; CY1PR03MB2380; 7:yeWNvUlw6L7oN1we8geMDUZZCTG8UI5qmbvlXM6Hwhc02Y6Vq9ELivXMfivSGASxIYuFZH2nGYqc51ZDutrG3l+T88pHhO+ZJlluLVFHPrgJharU3oPeOFvQocEdnpRfgqc0xf39rJdKdeRf+t1OLuUjLrxkGvpnh4YPls2idRuEf2EjTx6M+D7q8tagDimKdXF4ccN/Jp5jNp/lPek33Tl7KBCb6trUGQqQtO3yPLA0zaHXmQzsthq1vEr3HY7HNkB0l4Jbv6LNX0EeD0tx3UFQEH5xUpyhlX5Z76RB1DHGsFzO8xx8bE9khTkquMZ3BLOOh250kMYex+XfZJRJ9IVBZlIvOBYxRR5//W+bVvsFyxMb3l2u4hL/MaWbpEcA
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB2380;
x-microsoft-antispam-prvs: <CY1PR03MB2380E8045FFB801530758A8883DB0@CY1PR03MB2380.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(37575265505322)(158342451672863)(72170088055959)(166708455590820);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425038)(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(61426038)(61427038); SRVR:CY1PR03MB2380; BCL:0; PCL:0; RULEID:; SRVR:CY1PR03MB2380;
x-forefront-prvs: 0091C8F1EB
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(377454003)(377424004)(199003)(13464003)(51444003)(24454002)(189002)(51914003)(102836003)(586003)(86612001)(15975445007)(76576001)(3846002)(5005710100001)(5002640100001)(66066001)(10090500001)(5660300001)(9686002)(19580395003)(68736007)(87936001)(2950100002)(3660700001)(3280700002)(81156014)(81166006)(10400500002)(19580405001)(2906002)(7696004)(8676002)(4326007)(77096005)(122556002)(86362001)(8936002)(2501003)(106116001)(106356001)(305945005)(33656002)(7846002)(5001770100001)(54356999)(50986999)(76176999)(74316002)(101416001)(11100500001)(93886004)(7736002)(8990500004)(230783001)(6116002)(10290500002)(189998001)(97736004)(92566002)(2900100001)(105586002)(99286002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR03MB2380; H:CY1PR03MB2380.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2016 16:49:55.9323 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB2380
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/jLEBqDNrIoZavQeiJaY2Winqczk>
Cc: "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] Early TSV-ART review of draft-ietf-webpush-protocol-09
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Oct 2016 16:50:00 -0000

webpush-11 was published. 

At this time, no further clarifications were added for #4.

-----Original Message-----
From: Alissa Cooper [mailto:alissa@cooperw.in] 
Sent: Monday, October 10, 2016 6:22 AM
To: draft-ietf-webpush-protocol@ietf.org
Cc: webpush@ietf.org
Subject: Re: Early TSV-ART review of draft-ietf-webpush-protocol-09

The IESG will be reviewing this draft this week as it is scheduled for the telechat on Thursday, so please post the -11 version as soon as possible (including any text needed to address #4 below).

Thanks,
Alissa

> On Oct 5, 2016, at 9:08 AM, Magnus Westerlund <magnus.westerlund@ericsson.com> wrote:
> 
> Hi,
> 
> I have looked at the pull request which looks good, with one very minor comment that you should check out on github.
> 
> Cheers
> 
> Magnus
> 
> 
> Den 2016-10-05 kl. 05:10, skrev Brian Raymor:
>> I've created an initial pull request for review -
>> https://github.com/webpush-wg/webpush-protocol/pull/131 - while we
>> discuss whether there's additional guidance that can be shared for
>> "4. Dealing with overload situations".
> 
> 
> 
>> 
>> 
>> -----Original Message----- From: Brian Raymor
>> [mailto:Brian.Raymor@microsoft.com] Sent: Monday, October 3, 2016
>> 7:33 PM To: Magnus Westerlund <magnus.westerlund@ericsson.com>om>;
>> tsv-art@ietf.org; draft-ietf-webpush-protocol@ietf.org;
>> webpush@ietf.org; webpush-ads@ietf.org Subject: RE: Early TSV-ART
>> review of draft-ietf-webpush-protocol-09
>> 
>> Magnus - Thanks for the review. I'll have a pull request available
>> tomorrow to address most of your feedback. In the interim, I've
>> shared a few comments and clarifications below.
>> 
>> On September 27, 2016 3:28 AM, Magnus Westerlund
>> <magnus.westerlund@ericsson.com> wrote:
>> 
>> <snip>
>> 
>>> 3. Section 7.2:
>> 
>>> To limit the number of stored push messages, the push service MAY
>>> either expire messages prior to their advertised Time-To-Live or
>>> reduce their advertised Time-To-Live.
>> 
>>> Do I understand this correctly, that theses options are push
>>> service side actions that is not notified at that point to the
>>> application server? Instead it will have to note that the message
>>> was early expired if it subscribes to delivery receipts?
>> 
>> This text should be clarified. There are two cases. First, the push
>> service can only reduce the requested TTL in its response to a
>> request from an application server to deliver a push message:
>> 
>> https://tools.ietf.org/html/draft-ietf-webpush-protocol-10#section-5.2
>> 
>> A push service MAY retain a push message for a shorter duration
>> than requested.  It indicates this by returning a TTL header field in
>> its response with the actual TTL.  This TTL value MUST be less than
>> or equal to the value provided by the application server.
>> 
>> Second, if an application server subscribes to delivery receipts it
>> will receive a 410 if the push service does not then honor that TTL:
>> 
>> https://tools.ietf.org/html/draft-ietf-webpush-protocol-10#section-6.2
>> 
>> The push service MAY cease to retry delivery of the message prior
>> to its advertised expiration due to scenarios such as an
>> unresponsive user agent or operational constraints.  If the
>> application has requested a delivery receipt, then the push service
>> MUST return a 410 (Gone) response to the application server
>> monitoring the receipt subscription.
>> 
>> If the application server does not subscribe to delivery receipts,
>> then it's a fire-and-forget scenario.
>> 
>>> 4. Dealing with overload situations
>> 
>> Could webpush implementers review Magnus's questions below and
>> consider whether there is further general guidance that can be
>> offered based on their early experiences with the protocol?
>> 
>>> Reviewing Section 7.1 and other parts I find the discussion of how
>>> overload situations of various kinds are dealt with missing some
>>> cases. So the general handling of subscriptions are covered in
>>> Section 7.1 and with a mitigation of redirecting to another server
>>> to handle the new subscription.
>> 
>>> What I lack discussion of are how any form of push back are handled
>>> when first the deliver of push service to UA link is overloaded. Is
>>> the assumption here that as the push service can store messages the
>>> delivery will catch up eventually, or the message expires?
>> 
>> Your assumption in this case is basically correct. The push service
>> could also use the acknowledgements from the user agent as an
>> indicator of overload and reduce the rate.
>> 
>>> How does one handle a 0-RTT messages when one has a queue of
>>> messages to deliver, despite having a UA to Push service
>>> connection?
>> 
>>> The second case is how the push service server can push back on
>>> accepting new message when it is overloaded. To me it appears that
>>> the load on a push service can be very dynamic. Thus overload can
>>> really be periods. Thus, what push back to application servers is
>>> intended here? Just, do a 503 response on the request from the
>>> application server?
>> 
>> We decided on a 429. See
>> https://www.ietf.org/mail-archive/web/webpush/current/msg00341.html -
>> although it's also possible for the push service to terminate a
>> subscription.
>> 
>> https://tools.ietf.org/html/draft-ietf-webpush-protocol-10#section-8.4
>> 
>> A push service MAY return a 429 (Too Many Requests) status code
>> [RFC6585] when an application server has exceeded its rate limit for
>> push message delivery to a push resource.  The push service SHOULD
>> also include a Retry-After header [RFC7231] to indicate how long the
>> application server is requested to wait before it makes another
>> request to the push resource.
>> 
>> A push service or user agent MAY also terminate subscriptions
>> (Section 7.3) that receive too many push messages.
>> 
>>> I do note that RFC 7231 does not appear to have any guidance one
>>> how one sets the Retry-After header to spread the load of the
>>> retries. This is a known issue. And in this context with automated
>>> or external event triggered message creations the push back
>>> mechanism needs to be robust and reduce the issues, not make them
>>> worse.
>> 
>>> I would recommend that some recommendations are actually included
>>> here for handling overload from application server message
>>> submissions.
>> 
>>> 5. Life of subscription in relation to transports
>> 
>>> I find myself a bit perplexed of if there are any relation between
>>> the subscription and the relation to an existing transport
>>> connection and outstanding request, i.e. the availability to
>>> receive messages over push. I would guess, that there are no strict
>>> need for terminating the subscription even if there are no receiver
>>> for an extended time.
>> 
>> Especially for mobile and/or battery powered clients, the expectation
>> is that the user agents will be dormant for extended periods of
>> time.
>> 
>>> However, from an application perspective there could exists reason
>>> for why a subscription would not be terminated as long as the UA is
>>> connected, while any longer duration of no connections could
>>> motivate the subscription termination.
>> 
>>> I personally would like a bit more clarification on this, but
>>> seeing how these issues are usually handled around HTTP, I would
>>> guess the answer, it will be implementation specific? Still there
>>> appear to be assumptions around this, why it wouldn't matter that
>>> much, but that is only given that one follows these assumptions.
>> 
>> I think that your assumption is correct. The behavior is specific to
>> the push service. Implementers have requested the ability for a push
>> service to terminate a subscription at will based on its internal
>> policies.
>> 
>> Again, I'd ask that the webpush implementers share any general
>> guidance or observations for this case.
>> 
>> <snip>
>> 
>> 
>> 
> 
> 
> -- 
> 
> Magnus Westerlund
> 
> ----------------------------------------------------------------------
> Services, Media and Network features, Ericsson Research EAB/TXM
> ----------------------------------------------------------------------
> Ericsson AB                 | Phone  +46 10 7148287
> Färögatan 6                 | Mobile +46 73 0949079
> SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
> ----------------------------------------------------------------------
>