Re: [AVTCORE] Leap seconds

Kevin Gross <kevin.gross@avanw.com> Mon, 19 September 2011 20:05 UTC

Return-Path: <kevin.gross@avanw.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CF6921F8D43 for <avt@ietfa.amsl.com>; Mon, 19 Sep 2011 13:05:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.283
X-Spam-Level:
X-Spam-Status: No, score=0.283 tagged_above=-999 required=5 tests=[AWL=0.155, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FM_FORGED_GMAIL=0.622, HELO_MISMATCH_COM=0.553, HTML_MESSAGE=0.001, RDNS_NONE=0.1]
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 rqEq1pM3k--s for <avt@ietfa.amsl.com>; Mon, 19 Sep 2011 13:05:13 -0700 (PDT)
Received: from oproxy7-pub.bluehost.com (oproxy7.bluehost.com [IPv6:2605:dc00:100:2::a7]) by ietfa.amsl.com (Postfix) with SMTP id BCC6421F8D36 for <avt@ietf.org>; Mon, 19 Sep 2011 13:05:13 -0700 (PDT)
Received: (qmail 16445 invoked by uid 0); 19 Sep 2011 20:07:37 -0000
Received: from unknown (HELO host291.hostmonster.com) (74.220.215.91) by oproxy7.bluehost.com with SMTP; 19 Sep 2011 20:07:37 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=avanw.com; s=default; h=Content-Type:Cc:To:From:Subject:Message-ID:Date:References:In-Reply-To:MIME-Version; bh=Sk+dVM8lzKcsiEDtX7cdfCEtQFSVpsXSf3COGhxCrwY=; b=UYCVsCn/UTdRHhoC3UZT2ffydtJdHfxnS0uRmEwhoEqetJBs8cnO9T7F7vVnUEz40jfWiNzqn+R+aPQ6/e2pZ2YY8nn6BoLg9kf421sDGgvMoqBZ9OnM5Aj47bTwv7eI;
Received: from mail-fx0-f44.google.com ([209.85.161.44]) by host291.hostmonster.com with esmtpsa (TLSv1:RC4-SHA:128) (Exim 4.76) (envelope-from <kevin.gross@avanw.com>) id 1R5k7t-0001wO-49 for avt@ietf.org; Mon, 19 Sep 2011 14:07:37 -0600
Received: by fxd18 with SMTP id 18so4815691fxd.31 for <avt@ietf.org>; Mon, 19 Sep 2011 13:07:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.50.154 with SMTP id z26mr1415381faf.64.1316462855072; Mon, 19 Sep 2011 13:07:35 -0700 (PDT)
Received: by 10.223.93.202 with HTTP; Mon, 19 Sep 2011 13:07:34 -0700 (PDT)
In-Reply-To: <CAJNg7VJqxQ9QFV7dgBbH8PVQVt88kAsX-xgr9XAf4ZO4-_x2kw@mail.gmail.com>
References: <CALw1_Q0qK1WDc_KjEneOWrqr+jfVsqdwFYpF=ht-tS4SSNp8nQ@mail.gmail.com> <71C9EC0544D1F64D8B7D91EDCC6220200A2D0340@NABSREX027324.NAB.ORG> <alpine.BSF.2.00.1109141110001.25117@hsa.packetdesign.com> <CALw1_Q2L5z1bdVaENm7ky-epWjmxD326FLQ7THrObO_KMfdXfw@mail.gmail.com> <78481CCB-7A70-4BC4-91DC-A707301F22A5@apple.com> <CALw1_Q2VFe3d52ufVp2wSeNCHiwqgnhLh39dQTWYa52jWLaV+g@mail.gmail.com> <8EF3B729-407D-4A6F-9B5C-9E6833F2478B@apple.com> <CALw1_Q05fXDmTFapSaH1NRCsp2eWdemNus40gXsFwsx4HbR34Q@mail.gmail.com> <0F41102E-7F7A-4D69-B22D-6BFC3215D6C0@apple.com> <CALw1_Q0UD563WAES2bauEFa2+zr+qtwCs_=sX8hRED1VgPQTfw@mail.gmail.com> <CAJNg7VJqxQ9QFV7dgBbH8PVQVt88kAsX-xgr9XAf4ZO4-_x2kw@mail.gmail.com>
Date: Mon, 19 Sep 2011 14:07:34 -0600
Message-ID: <CALw1_Q2jGj_pHowfzgxMSBKXdEU99k=ST217PCBYtznRjBsvfA@mail.gmail.com>
From: Kevin Gross <kevin.gross@avanw.com>
To: Marshall Eubanks <marshall.eubanks@gmail.com>
Content-Type: multipart/alternative; boundary="00151747c35cd62c3204ad50e4f4"
X-Identified-User: {1416:host291.hostmonster.com:avanwcom:avanw.com} {sentby:smtp auth 209.85.161.44 authed with kevin.gross@avanw.com}
Cc: avt@ietf.org
Subject: Re: [AVTCORE] Leap seconds
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avt>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Sep 2011 20:05:15 -0000

Yes, well, there it is in all the gory detail.

The point I'm try to get to is that any behavior that doesn't move the
timestamp forward at a constant rate will be a problem for RTP. You appear
to be reading it as I have. NTP time is UTC time and so there's non-uniform
behavior around leap seconds.

On Mon, Sep 19, 2011 at 11:10 AM, Marshall Eubanks <
marshall.eubanks@gmail.com> wrote:

> If the David Mills' documents are taken as normative...
>
> On Mon, Sep 19, 2011 at 12:01 PM, Kevin Gross <kevin.gross@avanw.com>wrote:
>
>> David Singer and I spent some time last week working through this offline.
>> We're using the same sources and coming to different conclusions. We need
>> some help resolving this open question.
>>
>> David's position is that the NTP timestamp continues to increment, with
>> the system oscillator, through a leap second. The leap second is not visible
>> in the NTP timestamp but in a higher layer process that converts NTP
>> timestamps to UTC.
>>
>> My reading is that the NTP timestamp *is* UTC time and that the clock is
>> paused for 1 second and a new timeline established at the leap second. This
>> behavior will either upset or complicate media systems attempting to
>> reference their playback to the NTP timestamps delivered in RTCP sender
>> reports.
>>
>
> Neither or both is true, depending on your taste. (See below.) I would not
> regard a NTP time interval including a leap second as an UTC time interval.
>
> "Thus, determination of UTC time intervals spanning leap seconds will be
> in error, unless the exact times of insertion are known from the NIST table
> and its successors."
>
>
>>
>> RFC 3550 (RTP) does not discuss leap seconds.
>>
>> RFC 5905 (NTP) describes the mechanism used to convey
>> an upcoming leap second but does not appear to discuss timestamp behavior
>> associated with the leap second.
>>
>> The following two references from David Mills (RFC 5905 author) directly
>> discuss leap second behavior:
>>
>>    1. http://www.eecis.udel.edu/~mills/leap.html Section 5
>>    2. Last section of http://doc.ntp.org/4.1.2/leap.htm
>>
>>
> "In this design time stands still during the leap second, but is correct
> commencing with the next second. Since clock readings must be positive
> monotonic, the apparent time will increase by one nanosecond for each
> reading. At the end of the second the apparent time may be ahead of the
> actual time depending on how many times the clocks was read during the
> second. Eventually, the actual time will catch up with the apparent time and
> operation continues normally."
>
> So, the time is frozen EXCEPT that it keeps incrementing by 1 nanosecond
> per read. In older software, that was 1 microsecond / read. If you are
> reading the clock at 90 KHz, that's
>
> - 90 microseconds for a  clock with 1 nanosecond time units, or 8 clock
> cycles
> - 90 milliseconds for a  clock with 1 microsecond time units, or 8100 clock
> cycles
>
> The near frozen polling would continue for that many additional clock
> cycles (plus ~ 800 more for clocks with 1 microsecond time units, to catch
> up with the delay caused by the polling in the catch up interval.
>
> Regards
> Marshall
>
>
>>
>> --
>> Kevin Gross
>> +1-303-447-0517
>> Media Network Consultant
>> AVA Networks - www.AVAnw.com <http://www.avanw.com/>, www.X192.org
>>
>>
>>
>> _______________________________________________
>> Audio/Video Transport Core Maintenance
>> avt@ietf.org
>> https://www.ietf.org/mailman/listinfo/avt
>>
>>
>


-- 
Kevin Gross
+1-303-447-0517
Media Network Consultant
AVA Networks - www.AVAnw.com <http://www.avanw.com/>, www.X192.org