Re: [calsify] Timezone Service Protocol not quite complete

Steve Crocker <Steve@shinkuro.com> Thu, 07 November 2013 16:04 UTC

Return-Path: <Steve@shinkuro.com>
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 6176521E81AA for <calsify@ietfa.amsl.com>; Thu, 7 Nov 2013 08:04:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.011
X-Spam-Level:
X-Spam-Status: No, score=-1.011 tagged_above=-999 required=5 tests=[AWL=0.458, BAYES_00=-2.599, HELO_EQ_DSL=1.129, UNPARSEABLE_RELAY=0.001]
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 lMVUv3Tmuo3U for <calsify@ietfa.amsl.com>; Thu, 7 Nov 2013 08:04:10 -0800 (PST)
Received: from execdsl.com (remote.shinkuro.com [50.56.68.178]) by ietfa.amsl.com (Postfix) with ESMTP id EF1D711E8168 for <calsify@ietf.org>; Thu, 7 Nov 2013 08:03:53 -0800 (PST)
Received: from dummy.name; Thu, 07 Nov 2013 16:03:53 +0000
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
From: Steve Crocker <Steve@shinkuro.com>
In-Reply-To: <D76161D2F0AB5B12873F8022@caldav.corp.apple.com>
Date: Thu, 07 Nov 2013 11:03:53 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <3B13C12D-2F5B-446E-B439-028D6377DCD3@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> <D76161D2F0AB5B12873F8022@caldav.corp.apple.com>
To: Cyrus Daboo <cyrus@daboo.name>
X-Mailer: Apple Mail (2.1499)
Cc: IETF-Calsify <calsify@ietf.org>
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 16:04:15 -0000

Cyrus,

Thanks.  A few comments in line.

Steve

On Nov 7, 2013, at 9:55 AM, Cyrus Daboo <cyrus@daboo.name> wrote:

> 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.

The experience in creating new RRs is indeed problematic.  I can't speak for the folks who feel protective of DNS, but my inclination would be to use TXT records and write a clear, simple and precise specification about the structure of those TXT records.

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

Getting the records signed shouldn't be a problem since that only requires a single place to do it.  Checking the signatures depends on the implementations at each resolver.  This will improve over time and can be taken care via local initiative for anyone who feels it's important.  DNSSEC really is here.

> - 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.

I don't know enough to speak to this yet.  If I understand the intent, it's a question of how the information is packaged inside of DNS whether this is easy or hard to implement.

> 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
>