Re: [Webpush] Spencer Dawkins' No Objection on draft-ietf-webpush-protocol-11: (with COMMENT)

Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Thu, 13 October 2016 04:13 UTC

Return-Path: <spencerdawkins.ietf@gmail.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 E0CAF129805; Wed, 12 Oct 2016 21:13:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 17J13DjSSGcL; Wed, 12 Oct 2016 21:13:09 -0700 (PDT)
Received: from mail-yb0-x235.google.com (mail-yb0-x235.google.com [IPv6:2607:f8b0:4002:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C850A12983A; Wed, 12 Oct 2016 21:13:08 -0700 (PDT)
Received: by mail-yb0-x235.google.com with SMTP id 184so26667498yby.2; Wed, 12 Oct 2016 21:13:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=r3/QBvrHh4+pioMLNUgQrObrcmSU2YSdb/sRcVX6SOs=; b=Q+QveVvkNFeAG78FNl2L4vyjDJjHLx+rJa5PvsR4tzvdyydPqslTE88Uf25claqz4W 7foJCrG/wgsaanIkB6CDim/Y8DFlYK8JtFXHAdRwZB40i/+bpjex4Prbp70LWRValGHG 7xrkFPns/Z13B4qjL9a24Pwa7oTS2PBz4FPZXc/7+53ll+Kee3Dxhee3kf32va8Bx9Uc 2PABZ074WvBejhTk7kkpRlEVxu5aWjndg+91tXqshnrWdVHP8yd55jOFZFpq2MvjxxmZ 0bVlDuPJ+7J2t4BnvHEXE55DEkvXY/RLstBPxs9ooqKXTWiQKc6WIGTUcsuYxG5rVeY2 skQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=r3/QBvrHh4+pioMLNUgQrObrcmSU2YSdb/sRcVX6SOs=; b=Fo58s/I3F4s+laoVXFBuxLhTAq0WGql8kzwzN+nOc5SVMadbI/GUPTivZ6vOU0Q2mG ktROMIkk0rjNPnet7RkKD3y2oNGdIRGhOEsvjj4q+VPdUAAYv1ztNXo9Nh2Rq4wByQtZ 7dKHYYI9MCfuDfPFP+yyzFahk0XFKswfWfjveIInGo2Rg0wD1MsLyWU2LoqdGiXrYQYL D9eplLIoBLopiIV2WcPEFLrdWsnYBcaSXSlEng1U7+b2m2Nix5WQm1bkAH18/T+DrVwz Ps6R56kTideqIycwQwBypEF4zM8hgHXNCBsn631pONBUI/5Iu+forl9IXj51ILeaFKTY RSZw==
X-Gm-Message-State: AA6/9RmQYTkcUXHt1inimC4ZiVBqsj9CiTOL2040/xEJfdx9VrstC2Mj8CDkEoEUkU5Q8ndrfSPyPWfR2EgklA==
X-Received: by 10.37.171.65 with SMTP id u59mr4040397ybi.12.1476331987975; Wed, 12 Oct 2016 21:13:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.92.67 with HTTP; Wed, 12 Oct 2016 21:13:07 -0700 (PDT)
Received: by 10.37.92.67 with HTTP; Wed, 12 Oct 2016 21:13:07 -0700 (PDT)
In-Reply-To: <CY1PR03MB2380390F94CEC6B64D1CDFC883DC0@CY1PR03MB2380.namprd03.prod.outlook.com>
References: <147630518735.6397.5697353632878943065.idtracker@ietfa.amsl.com> <CY1PR03MB2380390F94CEC6B64D1CDFC883DC0@CY1PR03MB2380.namprd03.prod.outlook.com>
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Wed, 12 Oct 2016 23:13:07 -0500
Message-ID: <CAKKJt-d512JLst8oEADLm-JOtgUBK+CTr71xbAmEVLNAYrwCSA@mail.gmail.com>
To: "Brian Raymor (MS OPEN TECH)" <Brian.Raymor@microsoft.com>
Content-Type: multipart/alternative; boundary="94eb2c19ba6cb6c40b053eb753a3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/FsQdpcwzUPhxqkCPiLbfAcR2EJQ>
Cc: "draft-ietf-webpush-protocol@ietf.org" <draft-ietf-webpush-protocol@ietf.org>, "shida@ntt-at.com" <shida@ntt-at.com>, webpush-chairs@ietf.org, iesg@ietf.org, "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] Spencer Dawkins' No Objection on draft-ietf-webpush-protocol-11: (with COMMENT)
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: Thu, 13 Oct 2016 04:13:12 -0000

Hi, Brian,

Thanks for the helpful explanation, and thanks for considering my comments.

Spencer

On Oct 12, 2016 23:02, "Brian Raymor" <Brian.Raymor@microsoft.com> wrote:
>
>
> Hi Spencer,
>
> > I noticed that
> >
> >  push message subscription:  This resource provides read and delete
> >     access for a message subscription.  A user agent receives push
> >      messages (Section 6) using a push message subscription.  Every
> >     push message subscription has exactly one push resource associated
> >     with it.
>
> > and
>
> >   push message:  The push service creates a push message resource to
> >      identify push messages that have been accepted for delivery
> >      (Section 5).  The push message resource is also deleted by the
> >      user agent to acknowledge receipt (Section 6.2) of a push message.
>
> > don't say "A link relation of type ..." about the resource being
defined,
> > but
>
> >   push message subscription set:  This resource provides read and
> >      delete access for a collection of push message subscriptions.  A
> >     user agent receives push messages (Section 6.1) for all the push
> >      message subscriptions in the set.  A link relation of type
> >      "urn:ietf:params:push:set" identifies a push message subscription
> >      set.
>
> >   push:  An application server requests the delivery (Section 5) of a
> >      push message using a push resource.  A link relation of type
> >      "urn:ietf:params:push" identifies a push resource.
>
> > and
>
> >   receipt subscription:  An application server receives delivery
> >      confirmations (Section 5.1) for push messages using a receipt
> >     subscription.  A link relation of type
> >      "urn:ietf:params:push:receipt" identifies a receipt subscription.
>
> > do. Is that intentional? Or would link relation indentification not be
> > useful for these resources (if you told me that, I'd believe you).
>
> It is intentional. Both the push message subscription and the push message
> resources are returned in the Location: header in the 201 (Created)
response
> and don't require a redundant link relation.
>
> For example:
>
> https://tools.ietf.org/html/draft-ietf-webpush-protocol-11#section-4
>
>    A 201 (Created) response indicates that the push subscription was
>    created.  A URI for the push message subscription resource that was
>    created in response to the request MUST be returned in the Location
>    header field.
>
> > I see that Topic: has no semantics, but I wonder if the example use of
> > Topic in Section 5.4 might be clearer if a different Topic was used -
> > "Topic: upd" looks like "upd" would have semantic meaning, on first
> > reading.
>
> I'm open to suggestions, but I don't know that a change would enhance
> clarity.
>
> > I wondered why the use of subscription sets in
>
> >   There are minor differences between receiving push messages for a
> >   subscription and a subscription set.  If a subscription set is
> >   available, the user agent SHOULD use the subscription set to monitor
> >   for push messages rather than individual push message subscriptions.
>
> > was a SHOULD, and not a MUST. Is this just an efficiency thing, or is it
> > something else? It would be helpful to explain this.
>
> Subscription sets evolved over time as we explored appropriate models
> such as "push service decides" or "user agent decides". In the end, we
needed to
> ensure that the subscription set design was flexible enough to address a
> broad range of scenarios, including a late-breaking one from Canon:
>
> https://www.ietf.org/mail-archive/web/webpush/current/msg00357.html
>
> which resulted in "user agent decides" + "push service encourages".
>
> Subscription sets are included for efficiency as described:
>
>     https://tools.ietf.org/html/draft-ietf-webpush-protocol-11#section-4.1
>
>    Collecting multiple push message subscriptions into a subscription
>    set can represent a significant efficiency improvement for push
>    services and user agents.  The push service MAY provide a URI for a
>    subscription set resource in a link relation of type
>    "urn:ietf:params:push:set".
>
>    When a subscription set is returned in a push message subscription
>    response, the user agent SHOULD include this subscription set in a
>    link relation of type "urn:ietf:params:push:set" in subsequent
>    requests to create new push message subscriptions.
>
> This was added for Herve's scenario:
>
>    A user agent MAY omit the subscription set if it is unable to receive
>    push messages in an aggregated way for the lifetime of the
>    subscription.  This might be necessary if the user agent is
>    monitoring subscriptions on behalf of other push message receivers.
>
> > Is there any guidance you could give about the retry mechanism described
> > in this text? How many times, how often, etc.
>
> >   If the push service does not receive the acknowledgement within a
> >   reasonable amount of time, then the message is considered to be not
> >   yet delivered.  The push service SHOULD continue to retry delivery of
> >   the message until its advertised expiration.
>
> There's no general guidance. The policy would be specific to a push
service.
>
> > I'm guessing that
>
> >   A push service that does not support reliable delivery over
> >   intermittent network connections or failing applications on devices,
> >   forces the device to acknowledge receipt directly to the application
> >   server, incurring additional power drain in order to establish
> >   (usually secure) connections to the individual application servers.
>
> > isn't just about "establish", but "establish and maintain"?
>
> That would be more precise. Updating.
>
>