Re: [Tzdist] tzdist examples

Cyrus Daboo <cyrus@daboo.name> Mon, 12 January 2015 13:44 UTC

Return-Path: <cyrus@daboo.name>
X-Original-To: tzdist@ietfa.amsl.com
Delivered-To: tzdist@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AA9621A90DA for <tzdist@ietfa.amsl.com>; Mon, 12 Jan 2015 05:44:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.912
X-Spam-Level:
X-Spam-Status: No, score=-1.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 QJQdIy6I8u9y for <tzdist@ietfa.amsl.com>; Mon, 12 Jan 2015 05:44:37 -0800 (PST)
Received: from daboo.name (daboo.name [173.13.55.49]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 091D01A90D0 for <tzdist@ietf.org>; Mon, 12 Jan 2015 05:44:37 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 3AE318B671E; Mon, 12 Jan 2015 08:44:36 -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 erdwydShuzOn; Mon, 12 Jan 2015 08:44:36 -0500 (EST)
Received: from [10.0.1.25] (unknown [173.13.55.49]) by daboo.name (Postfix) with ESMTPSA id 635D98B6712; Mon, 12 Jan 2015 08:44:35 -0500 (EST)
Date: Mon, 12 Jan 2015 08:44:32 -0500
From: Cyrus Daboo <cyrus@daboo.name>
To: Lester Caine <lester@lsces.co.uk>, tzdist@ietf.org
Message-ID: <33FD0F34595FE967A6D38EBF@cyrus.local>
In-Reply-To: <54B2F454.408@lsces.co.uk>
References: <9E54BBDC7F272E0E5799E1FE@cyrus.local> <CACzrW9D2UGZPPqEjrUdSZ28AXTc=RCfUzq5HBLPMSUMPg1ijgA@mail.gmail.com> <C3F1BA4B3DCB5656A683870D@cyrus.local> <5499D3B4.1000507@cs.ucla.edu> <B95F454529942901A2C436A7@cyrus.local> <54AAB197.5040102@cs.ucla.edu> <CAFpi07wYYyPc3T7bRPEyrQD9EGSY=U9FakeL0VYJeN0Q1J3-8w@mail.gmail.com> <54B262AB.6070408@lsces.co.uk> <54B2E134.2020408@cs.ucla.edu> <54B2F454.408@lsces.co.uk>
X-Mailer: Mulberry/4.1.0b1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size=1263
Archived-At: <http://mailarchive.ietf.org/arch/msg/tzdist/8EQOxVWSM3ITFfZ7RS_k1C-OQSY>
Subject: Re: [Tzdist] tzdist examples
X-BeenThere: tzdist@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <tzdist.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tzdist>, <mailto:tzdist-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tzdist/>
List-Post: <mailto:tzdist@ietf.org>
List-Help: <mailto:tzdist-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tzdist>, <mailto:tzdist-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Jan 2015 13:44:40 -0000

Hi Lester,

--On January 11, 2015 at 10:08:20 PM +0000 Lester Caine 
<lester@lsces.co.uk> wrote:

> I don't see any problem - as far as I am aware as long as the hash
> returned via ETag for the same data package is the same for each server
> then there is no problem

That may not happen. Remember that each server takes the raw publisher data 
and generates a representation in the media formats it servers up. For 
iCalendar, the generated data is not guaranteed to be byte-for-byte the 
same across all servers because different iCalendar libraries may generate 
data in slightly different ways, or generate different values for required 
properties like the product id.

We need to separate ETags (which represent a byte-for-byte state token for 
an HTTP resource) from the "semantic" state token - which in the case of 
tzdist is the tuple (publisher, version).

The (publisher, version) tuple is what clients use to sync across different 
servers - the ETag is what clients use to update from a server it already 
has data for. That is covered in the examples I sent out - in particular #3 
which shows a client with existing data from one server, trying to sync 
with a different server. I believe that covers exactly what you are after.

-- 
Cyrus Daboo