Re: [calsify] Timezone Service Protocol not quite complete

Cyrus Daboo <cyrus@daboo.name> Thu, 07 November 2013 15:55 UTC

Return-Path: <cyrus@daboo.name>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C02D611E8168 for <calsify@ietfa.amsl.com>; Thu, 7 Nov 2013 07:55:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.801
X-Spam-Level:
X-Spam-Status: No, score=-101.801 tagged_above=-999 required=5 tests=[AWL=-0.598, BAYES_00=-2.599, MIME_QP_LONG_LINE=1.396, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cas27UL2Pd2y for <calsify@ietfa.amsl.com>; Thu, 7 Nov 2013 07:55:27 -0800 (PST)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id C378C11E810F for <calsify@ietf.org>; Thu, 7 Nov 2013 07:55:26 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 4E4D151A708C; Thu, 7 Nov 2013 10:55:26 -0500 (EST)
X-Virus-Scanned: amavisd-new at example.com
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GxOEWmzRj0I4; Thu, 7 Nov 2013 10:55:25 -0500 (EST)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id F366551A707B; Thu, 7 Nov 2013 10:55:23 -0500 (EST)
Date: Thu, 07 Nov 2013 10:55:18 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Steve Crocker <Steve@shinkuro.com>, Julian Cable <julian.cable@bbc.co.uk>, IETF-Calsify <calsify@ietf.org>
Message-ID: <D76161D2F0AB5B12873F8022@caldav.corp.apple.com>
In-Reply-To: <1C6AEFE0-27D4-4A5C-A357-E469D229510D@shinkuro.com>
References: <87879E7D-A55B-4A88-80B8-B503C89E52CB@iab.org> <20131030081355.GA23990@nic.fr> <7F135C08-A550-450F-82B4-1F239E115BC3@tzi.org> <20131030083611.GA27804@nic.fr> <01P06PWP9XG4004X76@mauve.mrochek.com> <527119E9.5050407@cisco.com> <01P06RD9XM60004X76@mauve.mrochek.com> <4FBA1270FC906838EB82345F@cc0102a-dhcp145.apple.com> <B52A13E8-A2E3-43F1-B036-EE3A64FE8C8A@shinkuro.com> <16E881F1666FAC4BA0C9DED580D711EC51290824@BGB01XUD1011.national.core.bbc.co.uk> <971E6773-B1FB-414A-96C3-5775BC21C089@shinkuro.com> <16E881F1666FAC4BA0C9DED580D711EC5129122D@BGB01XUD1011.national.core.bbc.co.uk> <1C6AEFE0-27D4-4A5C-A357-E469D229510D@shinkuro.com>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline; size="3080"
Subject: Re: [calsify] Timezone Service Protocol not quite complete
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Nov 2013 15:55:35 -0000

Hi Steve,
Thanks for your review and comments on the draft.

--On November 7, 2013 at 10:25:42 AM -0500 Steve Crocker 
<Steve@shinkuro.com> wrote:

>> I would be comfortable with a global propagation time of 48 hours.
>
> Hmm… Well, one way to deal with this is to use 48 hours and say any
> data more than 48 hours old is stale.  The main downside is very little
> actually changes that fast.  But at least that would set a definite bound.

Having chatted with co-authors, we agree with you that we need to tighten 
up the language regarding clients and servers updating data. Our proposal 
is as follows:

- Servers that sync their data from other servers (aka local providers - 
those identified as (d) in our Section 3 diagram) SHOULD check for updates 
once per hour.

- Clients (those identified as (e) in our diagram) SHOULD check for updates 
once per day. If clients detect that their cached timezone data is out of 
date (through some other out-of-band mechanism - e.g. by receiving a 
VTIMEZONE component over email/iMIP - RFC6047) then they SHOULD immediately 
attempt to resync their timezone cache.

I will also add an example of the actual "refresh" HTTP request in Section 
6.2.

> Let me push a bit on the other thing I mentioned, the possibility of
> publishing this data via DNS.  Why not use DNS?  Or, at the very least,
> publish via DNS in addition to this protocol and see what happens.

We certainly did consider DNS early on for this. However, there are a 
number of reasons why we chose HTTP, including:

- Many of today's existing calendaring and scheduling clients already do 
HTTP via the CalDAV protocol (RFC4791) and HTTP apis are much easier to use 
across multiple platforms than DNS apis.

- Deployability - it is much faster to get widespread deployment of a web 
service than it is of new DNS RR's etc.

- Security - HTTPS is much more widely deployed and used than DNSSEC.

- We want this to be an extensible "service" - i.e. we are doing more than 
delivering "static" data. For example, the "expand" action is designed to 
support lightweight clients doing calendaring - primarily webapps that 
should not have to implement the full logic of recurrence rule expansion. 
Also, we have plans for an extension whereby a client can ask the server to 
tell it what range of dates are effected by a timezone change - this is 
important in determining what events on a user's calendar might have to be 
re-evaluated for scheduling conflicts. Another feature we want is 
geo-location to timezone id mapping. Since we want to be able to deploy new 
extensions quickly, HTTP beats DNS. Plus I really don't think we need to 
overburden DNS with all the extra "apis" this would involve.

That said, one piece we have (deliberately) not defined in our diagram in 
Section 2 is how timezone data gets from "publishers" (e.g., IANA) to the 
top-level providers (right now most people ftp/http download the data 
package from IANA). That data is "static" and could quite easily be a put 
into the DNS after some appropriate re-packaging.

-- 
Cyrus Daboo