Re: [Webpush] Early TSV-ART review of draft-ietf-webpush-protocol-09
Magnus Westerlund <magnus.westerlund@ericsson.com> Wed, 05 October 2016 13:08 UTC
Return-Path: <magnus.westerlund@ericsson.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 84FC21296F3;
Wed, 5 Oct 2016 06:08:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01,
RCVD_IN_MSPIKE_WL=-0.01, 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 IySXUeH31mb7; Wed, 5 Oct 2016 06:08:27 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45])
(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 0A73B1296EA;
Wed, 5 Oct 2016 06:08:26 -0700 (PDT)
X-AuditID: c1b4fb2d-5b107980000009f7-aa-57f4fb491bb8
Received: from ESESSHC022.ericsson.se (Unknown_Domain [153.88.183.84])
by (Symantec Mail Security) with SMTP id 45.E1.02551.94BF4F75;
Wed, 5 Oct 2016 15:08:25 +0200 (CEST)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com
(153.88.183.86) with Microsoft SMTP Server id 14.3.301.0; Wed, 5 Oct 2016
15:08:23 +0200
To: Brian Raymor <Brian.Raymor@microsoft.com>, "tsv-art@ietf.org"
<tsv-art@ietf.org>, "draft-ietf-webpush-protocol@ietf.org"
<draft-ietf-webpush-protocol@ietf.org>, "webpush@ietf.org"
<webpush@ietf.org>, "webpush-ads@ietf.org" <webpush-ads@ietf.org>
References: <1f645188-2344-ebf3-1228-3735bcf81338@ericsson.com>
<CY1PR03MB23800B9F4C7BEF6137E5EEA483C50@CY1PR03MB2380.namprd03.prod.outlook.com>
<CY1PR03MB238084C15B9BEEBE0F8CD8C683C40@CY1PR03MB2380.namprd03.prod.outlook.com>
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
Message-ID: <4baa72c6-cd52-19d5-c070-4a19336c23ed@ericsson.com>
Date: Wed, 5 Oct 2016 15:08:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101
Thunderbird/45.4.0
MIME-Version: 1.0
In-Reply-To: <CY1PR03MB238084C15B9BEEBE0F8CD8C683C40@CY1PR03MB2380.namprd03.prod.outlook.com>
Content-Type: text/plain; charset="windows-1252"; format=flowed
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKLMWRmVeSWpSXmKPExsUyM2J7iK7n7y/hBq/fSFncn/eIyWLx9wY2
i1l7FrFYtF86w25x5fRfdgdWjyVLfjJ5tO74yx7AFMVlk5Kak1mWWqRvl8CVsfrWEraCaTYV
c+b+ZmpgfG7QxcjJISFgInHgzAX2LkYuDiGB9YwS3S2bGEESQgLLGCXenrQCsYUFnCVWXjnL
DFIkIvCfUeL8/80sEEVPGSWunuYCsdkELCRu/mhkA7F5BewlOjq2soPYLAIqElO23WYCsUUF
YiSuP3sEVSMocXLmE6A5HBycArESjZsiQUxmoNYHW8tAKpgF5CWat85mhtikLdHQ1ME6gZF/
FpLmWQgds5B0LGBkXsUoWpxaXJybbmSsl1qUmVxcnJ+nl5dasokRGJgHt/zW3cG4+rXjIUYB
DkYlHt4HWz+HC7EmlhVX5h5ilOBgVhLh1fz1JVyINyWxsiq1KD++qDQntfgQozQHi5I4r9nK
++FCAumJJanZqakFqUUwWSYOTqkGRgV/lRfJrRHXtj6+81lfpyZyQsjNmiebljSetrL+4xxz
9/56G+MNpvF1Ocfd7vmvm1KvZ6G+6YXU3MwPXELm5w/YvvuoJXH/jsekAqPC8HClXVnWRurf
avwTF/A4dE/Nqvm37c73LS1W7Ud0trHou2oLJE1akvRzpUZ+jLGMG//v0gSR9a1BSizFGYmG
WsxFxYkAAh7BnUgCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/eksyXzX_sbfPKyaeVz2HV2lrvvU>
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: Wed, 05 Oct 2016 13:08:32 -0000
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 ----------------------------------------------------------------------
- [Webpush] Early TSV-ART review of draft-ietf-webp… Magnus Westerlund
- Re: [Webpush] Early TSV-ART review of draft-ietf-… Brian Raymor
- Re: [Webpush] Early TSV-ART review of draft-ietf-… Costin Manolache
- Re: [Webpush] Early TSV-ART review of draft-ietf-… Brian Raymor
- Re: [Webpush] Early TSV-ART review of draft-ietf-… Magnus Westerlund
- Re: [Webpush] Early TSV-ART review of draft-ietf-… Alissa Cooper
- Re: [Webpush] Early TSV-ART review of draft-ietf-… Brian Raymor