Re: [Webpush] Non-blocking comments on -05

Costin Manolache <costin@gmail.com> Fri, 10 June 2016 17:17 UTC

Return-Path: <costin@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 612A112D7E3 for <webpush@ietfa.amsl.com>; Fri, 10 Jun 2016 10:17:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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_LOW=-0.7, 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 wtXnQY45Nm3E for <webpush@ietfa.amsl.com>; Fri, 10 Jun 2016 10:17:44 -0700 (PDT)
Received: from mail-pf0-x22f.google.com (mail-pf0-x22f.google.com [IPv6:2607:f8b0:400e:c00::22f]) (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 E1E0A12D5FB for <webpush@ietf.org>; Fri, 10 Jun 2016 10:17:43 -0700 (PDT)
Received: by mail-pf0-x22f.google.com with SMTP id t190so25345868pfb.3 for <webpush@ietf.org>; Fri, 10 Jun 2016 10:17:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZepsuThc1fGVJbBdv8Ty0UnP/KMN9c4a7RRIGHa3y1Q=; b=T/VQuE4M1u3XvEkzZ5WCtsPsspdTn15aWab9kdS08ZiXEOQ/Phb7Z55T2C6DOaoobr 3nNpLJcM8g1SmvnmaXGB7X4+801uR+EDP2o/iF+Rnod8QL7id2bYzowhSN3K6wJayoRR hWOjXWno/H4UqBoAtTvE/B4+A6/WW/OUxsrMvT50xVKbZ5Cad4SwIKr3CSdbJGn0pknY Xr+RE2GtJVyPCtQVyn0o2fsxxZRj4MJkw9qSOZtnN/wrtl+FHm+NOS5aPheaK3XYEKEc rLju9Mj+JCWCSPTd0t77fhSgy6She5OyoPNbfEsWW7prI6jVQauBQEfZbYWv+YSmvCZ9 GW9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZepsuThc1fGVJbBdv8Ty0UnP/KMN9c4a7RRIGHa3y1Q=; b=FQKcySqALEUC5nC1ROct76dEXsPOq1iNIu+4luEx/saeEu1u14ziWbr8H47lI1G+aw ZBAp1sQYVRGaMr4Uc9ELKSYqitMng1uo0k36dclj5II5TUYfd0Y8uEJi+/iIQlBMrpNY kT/licoBj0Tx5Kwnypi3evoxofRKaUwjK1YT/gunGKioATUkR+BQlavLXXvs8NWqj9nA Ui7ZwHLFvIayjvHJBTJ5DijtmJMtgC0FXTAZE6YXTT4cbHFU3443GX4W6T4fXQeA481n UYTixD2xkMVFsp/h7jRY48syiZM7had7o323bC25V/IGKddd4wbIaKpUXcmyRO/HzKxA nsPg==
X-Gm-Message-State: ALyK8tLyIon+7B5lYsP2JM6KhZUadZffFTz685hho4aT6NeBh1ooAsLAksvvpgzjAegwQmNmRhevK/SB67XqmA==
X-Received: by 10.98.105.138 with SMTP id e132mr3382598pfc.59.1465579063291; Fri, 10 Jun 2016 10:17:43 -0700 (PDT)
MIME-Version: 1.0
References: <CALt3x6=_yc9TegOut_g+6W5fvhP7sfW+_gwRZnEVFA5PNgER6Q@mail.gmail.com> <6af49c2baf1b4e4f884b812d573b947e@Antiope.crf.canon.fr> <CABkgnnWebfxnPOLMXK+n+2G=c8DOG4Eb4AWMsWXJmmdnE4pUwg@mail.gmail.com> <989D9268-BE9A-47F7-9181-C0F323D1DA1F@mozilla.com> <1464858574.5342.12.camel@crf.canon.fr> <CO2PR03MB2407918AF75578E3AE378FC3835E0@CO2PR03MB2407.namprd03.prod.outlook.com> <2953D35A-1FC9-4765-BBE0-83DBCA8CAC10@mozilla.com> <CABkgnnV__pKEScT2eD8G5SpEQdth5CcijX9kwNM42u8TGr8=AA@mail.gmail.com> <1465553821.3039.13.camel@crf.canon.fr>
In-Reply-To: <1465553821.3039.13.camel@crf.canon.fr>
From: Costin Manolache <costin@gmail.com>
Date: Fri, 10 Jun 2016 17:17:33 +0000
Message-ID: <CAP8-FqmQ2D_h2rqAn=rUNkuW0fqBtE8+joeKDVKKPEFmFNYh=Q@mail.gmail.com>
To: RUELLAN Herve <Herve.Ruellan@crf.canon.fr>, "martin.thomson@gmail.com" <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary=001a113a1dcc7538310534efb799
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/3NH0MpJFd4VIwRMyWeYPG1TdgqA>
Cc: "kcambridge@mozilla.com" <kcambridge@mozilla.com>, "Brian.Raymor@microsoft.com" <Brian.Raymor@microsoft.com>, "webpush@ietf.org" <webpush@ietf.org>, "beverloo@google.com" <beverloo@google.com>
Subject: Re: [Webpush] Non-blocking comments on -05
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: Fri, 10 Jun 2016 17:17:46 -0000

Most use cases mentioned - with the exception of 'moving subscription' -
can be implemented
efficiently by storing the messages keyed by some 'primary' ID. For large
numbers, it
is desirable to optimize the number of DB queries done at connect - i.e. do
a single read that
hits a single shard.  Most of the time the read will return empty, but the
locality of the
messages for a single device is pretty important.

Moving subscriptions pretty much requires a different design - and I don't
have any experience
with how it can scale.

Costin



On Fri, Jun 10, 2016 at 3:17 AM RUELLAN Herve <Herve.Ruellan@crf.canon.fr>
wrote:

> On Fri, 2016-06-10 at 07:33 +1000, Martin Thomson wrote:
> > On 10 June 2016 at 05:01, Kit Cambridge <kcambridge@mozilla.com> wrote:
> > > Does moving a subscription set mean another UA would be able to
> receive messages sent to subscriptions in that set? (That is, without
> requiring the old UA to drop all its subscriptions and the new UA to
> reregister).
> >
> > I think that you have it. If you have 2 subscriptions that are in the
> > same set, they have to be monitored together.  If they are in separate
> > sets, then they can be monitored separately.  The separation enables
> > intermediation.
> >
> > I don't think that this is a use case that is particularly important
> > for the web case; I confess that it isn't that interesting to me.
> > However, I think that it is an entirely valid use case, and it costs
> > little.  It does however enable things on the web side that *are* very
> > interesting to me.
> >
> > Say you have a UA that wants to go into a deep sleep to save power.
> > In that mode, it still wants to receive push messages from several
> > high priority sites.  But it doesn't want to get the deal-of-the-day
> > and all that junk from other sites.
> >
> > Now, the UA knows that the push service is unable to discriminate
> > between important and unimportant properly and it doesn't want to risk
> > getting things like text message notifications from unimportant sites.
> > Even if these are normally sent with moderately high urgency,
> > legitimately.
> >
> > If it can split the important sites and the unimportant sites into two
> > subscription sets, then it can monitor the important sites only.
> > That's not possible if you don't allow the UA to control which
> > subscriptions get grouped together.
> >
> > If you want a concrete example, think pagerduty.com vs. skype.com.  A
> > call might be entirely undesirable at 3am, but if a production site is
> > on fire, it's wake up time.
>
> As there seems to be several use cases here (your use case for the web,
> Costin's multi-user case in android, and my UA proxying use case), I
> think more of them could be listed in the spec.
>
> How about:
>
> Each subscription set can then be managed independently, which might
> include monitoring only a set of very important subscriptions, handling
> subscription for different users separately, or moving a subscription
> set between user agents.
>
>
> For moving subscription sets between UA, I agree that it's too early to
> solve it in this Webpush draft. My concern here is to leave open the
> possibility of building it in the future.
>
> Hervé
>