Re: [art] Predictable Internet Time

Nico Williams <nico@cryptonector.com> Tue, 28 March 2017 19:01 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 357981297ED for <art@ietfa.amsl.com>; Tue, 28 Mar 2017 12:01:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.796
X-Spam-Level:
X-Spam-Status: No, score=-4.796 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, RCVD_IN_MSPIKE_H2=-2.796] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cryptonector.com
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 wjHeLjIsSydK for <art@ietfa.amsl.com>; Tue, 28 Mar 2017 12:01:04 -0700 (PDT)
Received: from homiemail-a31.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D8466129A74 for <art@ietf.org>; Tue, 28 Mar 2017 12:00:49 -0700 (PDT)
Received: from homiemail-a31.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a31.g.dreamhost.com (Postfix) with ESMTP id 498791406B20; Tue, 28 Mar 2017 12:00:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=aXvWkEWmUrFpGy MXs3jW5IBm9+g=; b=Uuj+eSm/dxf3OXHH0+ALMWqdrQEu2x/0hpq03G7TXGySod IAowjECQCUSQsItlPZPydEEE+TGTu+ixnEvN1QDrknSL9sjZO10JTn3PCTlJQyUs 5BSe1umx4ExF/wLnfs0rBGz2FKtyH6fcnhGjdamSn26Rhj0eYF07Pz1EqF3Eo=
Received: from localhost (cpe-70-123-158-140.austin.res.rr.com [70.123.158.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a31.g.dreamhost.com (Postfix) with ESMTPSA id A6BFE1406B1A; Tue, 28 Mar 2017 12:00:48 -0700 (PDT)
Date: Tue, 28 Mar 2017 14:00:46 -0500
From: Nico Williams <nico@cryptonector.com>
To: Joe Touch <touch@isi.edu>
Cc: Tony Finch <dot@dotat.at>, Philip Homburg <pch-ietf-art@u-1.phicoh.com>, art@ietf.org
Message-ID: <20170328190045.GG7490@localhost>
References: <m1csrkh-0000GYC@stereo.hq.phicoh.net> <alpine.DEB.2.11.1703281603500.13590@grey.csi.cam.ac.uk> <809d2f85-0421-026b-f81d-6725e0548b6a@isi.edu> <20170328184301.GF7490@localhost> <8df1b619-d2c4-9830-a02f-372afa0077b3@isi.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8df1b619-d2c4-9830-a02f-372afa0077b3@isi.edu>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/J05JP2h3__9P-ZLegHBvFBKKeE0>
Subject: Re: [art] Predictable Internet Time
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Mar 2017 19:01:06 -0000

On Tue, Mar 28, 2017 at 11:47:20AM -0700, Joe Touch wrote:
> On 3/28/2017 11:43 AM, Nico Williams wrote:
> > On Tue, Mar 28, 2017 at 11:21:02AM -0700, Joe Touch wrote:
> >> On 3/28/2017 8:13 AM, Tony Finch wrote:
> >>>> - One thing I'd like to add is 'uptime' or more general, monotonic time.
> >>> An interesting discussion re. compatible APIs for elapsed time:
> >>> https://github.com/golang/proposal/blob/master/design/12914-monotonic.md
> >> This is another example of the confusion that results when the time
> >> scale is not clearly indicated or defined. Having Go read the "system
> >> wall clock" is the source of the problem, and this doc explains a
> >> variety of solutions.
> > Better data types -and strong typing- are needed:
>
> Unix defines only POSIX time right now, FWIW.

POSIX defines POSIX time.  Unix and Unix-like systems use it.

(Nothing stops any Unix-like OS from including extensions.)

> AFAICT, wouldn't specing Unix interfaces to the different times below be
> out of scope for the IETF?

Yes and no.

First, the IETF has and does specify some APIs.  (BSD sockets bindings
for IPv6, GSS-API, and various others.)

Second, the IETF could define abstract APIs but refrain from specifying
C bindings for APIs and recommend to the Open Group and others that they
standardize those based on the abstract APIs.  (GSS-API, for example,
defines both, abstract and programming-language-specific bindings.)

Regardless, how could we address our time issues without specifying what
amounts to.. type conversions?  That's an API by whatever name you wish
to call it.  Best call it an API, define "types" and "type conversions"
or "functions" that do the same.

Obviously, for leap second smearing, besides an API there is also
behavior (smearing).

There's some difficulty with typing smeared time in that a smeared time
would be closer to UTC than POSIX time, but *pretending to be POSIX
time*.  Which makes it difficult to have strong typing (which you get
becomes a run-time matter!), but makes it easy to inject the new type in
existing object code.

But it may still be necessary to convert smeared time (when you know
that's what it is) to other time forms, and there has to be a canonical,
reproduceable, non-host-dependent way to do it, else you end up with a
synchronization problem.

Nico
--