[Webpush] Message expiration (TTL) and Negative Acknowledgements

Brian Raymor <Brian.Raymor@microsoft.com> Tue, 13 October 2015 22:10 UTC

Return-Path: <Brian.Raymor@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 81BBE1A8FD7 for <webpush@ietfa.amsl.com>; Tue, 13 Oct 2015 15:10:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 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, 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 GJMcS0_S2roB for <webpush@ietfa.amsl.com>; Tue, 13 Oct 2015 15:10:33 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0102.outbound.protection.outlook.com [65.55.169.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F8C01A88C7 for <webpush@ietf.org>; Tue, 13 Oct 2015 15:10:33 -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=UXB0VeOtgV6eneBejel32n2jrAPECHB8UsxnGTqGRdY=; b=hOwKyfHh/9MY2TdPQrdHza/hA+TAwi0uyKtkboHdQ9xAU4K8BsjhZopxOIxPL3tBYWjjmTpnrDOz18nMoNKWRBMYTob0rBZqCWUHnn5F47bF1Vz3uVxKRxHnscPw6HhRJlgQw1Iypd7P3RyBwIOrzrH4nsUOf6Q4iy4Xb34+g1A=
Received: from BY2PR0301MB0647.namprd03.prod.outlook.com (10.160.63.14) by BY2PR0301MB0646.namprd03.prod.outlook.com (10.160.63.139) with Microsoft SMTP Server (TLS) id 15.1.293.16; Tue, 13 Oct 2015 22:10:07 +0000
Received: from BY2PR0301MB0647.namprd03.prod.outlook.com ([10.160.63.14]) by BY2PR0301MB0647.namprd03.prod.outlook.com ([10.160.63.14]) with mapi id 15.01.0293.007; Tue, 13 Oct 2015 22:10:07 +0000
From: Brian Raymor <Brian.Raymor@microsoft.com>
To: "webpush@ietf.org" <webpush@ietf.org>
Thread-Topic: Message expiration (TTL) and Negative Acknowledgements
Thread-Index: AdEGA6AApJ25A8bWSta9W/kXIcP8NQ==
Date: Tue, 13 Oct 2015 22:10:07 +0000
Message-ID: <BY2PR0301MB0647111FCF5845E3AA0C244583300@BY2PR0301MB0647.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=Brian.Raymor@microsoft.com;
x-originating-ip: [2001:4898:80e8::676]
x-microsoft-exchange-diagnostics: 1; BY2PR0301MB0646; 5:ZXe8fR2S2XgjaZi27hfX2IAbr0+XZ/CxGoEkfXhMtNz7+Oz1OeZZz0WcLOrkDGdK0KwgMIxdJCtxFe7DeLc7AGWM0pPrIiuEXufne6k9eMGO3sGQLZNt3S8PkgkTky04V+wwZQuaidj2y6z5gEwEqw==; 24:xUrPxk6xP/OXtx0CxAyTqHDQu7LgLk4TG918+hV5FDhJwp6nEOVsyq4RqyIqIANIRGIsyXpjhNmrWXdy/0I5nXJMT3o2+XA6jimyVsYtVho=; 20:G+Dzgl3wf4PFR+/uaYw6gDKrwnMeIUYLXD7z/aTA4LSt/eaB6YFCB5EhVHa5KLHu9f7/0tjt1+jTN6r8RTc0kg==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0646;
x-microsoft-antispam-prvs: <BY2PR0301MB0646EA554B17E0266B5F130783300@BY2PR0301MB0646.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425024)(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(61426024)(61427024); SRVR:BY2PR0301MB0646; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0301MB0646;
x-forefront-prvs: 07283408BE
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(189002)(199003)(86612001)(50986999)(54356999)(106356001)(86362001)(74316001)(46102003)(105586002)(64706001)(33656002)(92566002)(101416001)(2900100001)(77096005)(15975445007)(87936001)(5002640100001)(102836002)(99286002)(5003600100002)(19580395003)(110136002)(5001960100002)(10400500002)(5005710100001)(107886002)(8990500004)(2501003)(122556002)(10290500002)(189998001)(76576001)(40100003)(5008740100001)(229853001)(5004730100002)(5001920100001)(2351001)(81156007)(5007970100001)(450100001)(11100500001)(10090500001)(97736004)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR0301MB0646; H:BY2PR0301MB0647.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: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2015 22:10:07.7572 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0646
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/9a-TMm_ASa9MCMccw3YKFloutqc>
Subject: [Webpush] Message expiration (TTL) and Negative Acknowledgements
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: Tue, 13 Oct 2015 22:10:36 -0000

At IETF 93, we agreed to limit negative acknowledgements to message delivery failures and not message expiration:

https://github.com/webpush-wg/webpush-protocol/issues/17

The thought was that the application server can maintain its own clock for the message expiration based on the TTL exchange where the application server requests a TTL and the push server is allowed to "advertise" a shorter TTL:

Section 6:

   A push service MAY choose to retain a push message for a shorter
   duration than that requested.  It indicates this by including a TTL
   header field in the response that includes the actual TTL.  This TTL
   value MUST be less than or equal to the value provided by the
   application server.

I was finishing up my editorial changes and noticed one potential exception. In Section 7.2, we have some operations guidance:

   Push services might need to limit the size and number of stored push
   messages to avoid overloading.  In addition to using the 413 (Payload
   Too Large) status code for too large push messages, a push service
   MAY expire push messages prior to any advertised expiration time.  A
   push service can reduce the impact [of] push message retention by reducing
   the time-to-live of push messages.

This would be a case where the application server should still receive a negative acknowledgement for expiration because it has no awareness that the push server could not honor its advertised TTL.  It's closer to the failure case where a push server ceases to retry delivery of a message prior to its expiration perhaps due to an unresponsive user agent.

Comments?

...Brian