[Webpush] [Coalesce] Concern about PUT creating a new push message

Elio Damaggio <elioda@microsoft.com> Fri, 30 October 2015 20:32 UTC

Return-Path: <elioda@microsoft.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DAFFA1A9092 for <webpush@ietfa.amsl.com>; Fri, 30 Oct 2015 13:32:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 4MutnVQr4z4A for <webpush@ietfa.amsl.com>; Fri, 30 Oct 2015 13:32:31 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0732.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::732]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 80DAB1A908B for <webpush@ietf.org>; Fri, 30 Oct 2015 13:32:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=BWFjybeNrFZItCxaEEentz56Z0TtcL+pML06oQhi8t0=; b=OeAAdW2ZNS3UwgXleo4GKth0yRydMn32x488GvK0EOuJdsKIP+TVuQi2jY3Rnec/z+ihyCBxxZABKq9hf7/SboE/94Y5os2+OaJnYSow+NvjK+Fup1leOsCFtHdZuSJaZ6nUUGztshMo0Ekq/S8VJYe5p90MN93X2HQpJmuEwfI=
Received: from BN1PR0301MB0626.namprd03.prod.outlook.com (10.160.171.11) by BN1PR0301MB0643.namprd03.prod.outlook.com (10.160.171.16) with Microsoft SMTP Server (TLS) id 15.1.306.13; Fri, 30 Oct 2015 20:32:26 +0000
Received: from BN1PR0301MB0626.namprd03.prod.outlook.com ([10.160.171.11]) by BN1PR0301MB0626.namprd03.prod.outlook.com ([10.160.171.11]) with mapi id 15.01.0312.014; Fri, 30 Oct 2015 20:32:26 +0000
From: Elio Damaggio <elioda@microsoft.com>
To: "webpush@ietf.org" <webpush@ietf.org>
Thread-Topic: [Coalesce] Concern about PUT creating a new push message
Thread-Index: AdETUDgmcz11BanZQSalBLT5Y90ONw==
Date: Fri, 30 Oct 2015 20:32:26 +0000
Message-ID: <BN1PR0301MB06266C1F50CF432338E98764CB2F0@BN1PR0301MB0626.namprd03.prod.outlook.com>
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=elioda@microsoft.com;
x-originating-ip: [2001:4898:80e8:4::2e9]
x-microsoft-exchange-diagnostics: 1; BN1PR0301MB0643; 5:57vBhZFWLIundng/EYapcCQlMUd2/TCQOjM8wU8vIpgfOr5FykI/wE3xRnoWLssidYRoGXGvr3YPVgZGw/Q3+YP7WEx+xI2xytZo6TjzA7l1gZOjnNmamZh8Wgg8eizKBm9FKdPqmPtSS/fkLH+t9w==; 24:EKEwHhPG2soW9MwGAVin+fmJkylITt2JPEIzWYW/HVHIK5gu0HSybNirHkJuVm99u52wDwaxgyOcH2igbSlO4ueHpD761pJWTY8ufxoaEGI=; 20:lni2zuBdPGCX4keVr9ugm26PNjoHaHtr6ekBI68/GXwCeR5GD0DqbSJZVpiyVC4P1cf610PIPUbr+fs4pE1Pag==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0643;
x-microsoft-antispam-prvs: <BN1PR0301MB06435C9A4973DC83067A648CCB2F0@BN1PR0301MB0643.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(108003899814671);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425024)(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046)(102215026)(61426024)(61427024); SRVR:BN1PR0301MB0643; BCL:0; PCL:0; RULEID:; SRVR:BN1PR0301MB0643;
x-forefront-prvs: 07459438AA
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(189002)(199003)(33656002)(106356001)(5008740100001)(561944003)(105586002)(19625215002)(4001430100002)(10710500006)(76576001)(101416001)(54356999)(74316001)(16236675004)(50986999)(99286002)(15975445007)(19580395003)(110136002)(86612001)(86362001)(97736004)(40100003)(19617315012)(5005710100001)(19300405004)(122556002)(189998001)(107886002)(2351001)(5001920100001)(87936001)(10290500002)(229853001)(2501003)(5004730100002)(7110500001)(10090500001)(2900100001)(2420400006)(8990500004)(5001960100002)(102836002)(5007970100001)(5002640100001)(11100500001)(5003600100002)(450100001)(92566002)(10400500002)(81156007)(77096005)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN1PR0301MB0643; H:BN1PR0301MB0626.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_BN1PR0301MB06266C1F50CF432338E98764CB2F0BN1PR0301MB0626_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2015 20:32:26.5553 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0301MB0643
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/OfRoFlpvEgUOorDzZtxYcCahsZo>
Cc: Brian Raymor <Brian.Raymor@microsoft.com>
Subject: [Webpush] [Coalesce] Concern about PUT creating a new push message
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.15
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, 30 Oct 2015 20:32:37 -0000

Hi,

Reviewing the current proposal for coalescing, I noticed this sentence.

+          However, a push service is encouraged
+          to treat an update for a removed push message as though the message
+          were still present and consequently send the push message to the user
+          agent.  Permitting an update avoids the additional request required to
+          retry and the associated delays.

In my opinion, if the desired behavior is to be able to "update or insert" in a logical "slot" (in the current proposal we are using the push message location), I would prefer to explicitly call it out as something akin to GCM "collapse-key" (https://developers.google.com/cloud-messaging/concept-options?hl=en#collapsible_and_non-collapsible_messages).

The collapse-key is more aligned on what we are planning to implement in Azure.

While I understand the cost of an additional concept, the current approach has two negative consequences:

1)      Application servers have to consider the optional behaviors on the send side.

a.      Note that on the client side (given the raciness of message collapsing), server support for collapsing has little impact on the design of the push handler.

2)      It makes acknowledgement harder to process, as now the same push can be acknowledged multiple times.

a.      This could be solved by returning a different push location in case the PUT results in an insert, but that complicates the concept of a push id, and makes the interface very un-RESTful (?), as we use a PUT on resource /a, to create a resource in /b.

Thoughts?

Elio