Re: [AVTCORE] Leap seconds

David Singer <singer@apple.com> Wed, 21 September 2011 16:30 UTC

Return-Path: <singer@apple.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 663CF1F0C6C for <avt@ietfa.amsl.com>; Wed, 21 Sep 2011 09:30:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.598
X-Spam-Level:
X-Spam-Status: No, score=-106.598 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, 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 sqJUn0RkVLzA for <avt@ietfa.amsl.com>; Wed, 21 Sep 2011 09:30:37 -0700 (PDT)
Received: from mail-out.apple.com (crispin.apple.com [17.151.62.50]) by ietfa.amsl.com (Postfix) with ESMTP id 2FC4421F8B14 for <avt@ietf.org>; Wed, 21 Sep 2011 09:30:37 -0700 (PDT)
MIME-version: 1.0
Content-type: multipart/alternative; boundary="Boundary_(ID_4u2utQHBHmoZeljF1rR60Q)"
Received: from relay16.apple.com ([17.128.113.55]) by mail-out.apple.com (Oracle Communications Messaging Exchange Server 7u4-20.01 64bit (built Nov 21 2010)) with ESMTP id <0LRV007HDSJ2KA30@mail-out.apple.com> for avt@ietf.org; Wed, 21 Sep 2011 09:32:57 -0700 (PDT)
X-AuditID: 11807137-b7bddae0000031a0-2c-4e7a134c6033
Received: from [17.153.49.169] (Unknown_Domain [17.153.49.169]) by relay16.apple.com (Apple SCV relay) with SMTP id 10.6F.12704.C431A7E4; Wed, 21 Sep 2011 09:39:40 -0700 (PDT)
From: David Singer <singer@apple.com>
In-reply-to: <6A72C4E9-B429-4B97-B4AA-98E420DF4C94@csperkins.org>
Date: Wed, 21 Sep 2011 09:32:56 -0700
Message-id: <0E31FE76-300C-4A54-B15B-C77A7BD57A2C@apple.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> <CALw1_Q2jGj_pHowfzgxMSBKXdEU99k=ST217PCBYtznRjBsvfA@mail.gmail.com> <4E78487D.1030602@ericsson.com> <CALw1_Q0urojdegAdsJ7L7bT=0680RN-0pk1g7J4zhP-aK3M5ew@mail.gmail.com> <6A72C4E9-B429-4B97-B4AA-98E420DF4C94@csperkins.org>
To: Colin Perkins <csp@csperkins.org>
X-Mailer: Apple Mail (2.1084)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsUiONNwpa6PcJWfwbwlohYve1ayWyx/eYLR 4sWhdjaLS+vvMVnc2byW2YHV49/V7cwe0+7fZ/P49fUqm8fOWXfZPZYs+ckUwBrFZZOSmpNZ llqkb5fAlfHhaStjwaZOxopvC58xNjAeL+li5OSQEDCRaG09zAZhi0lcuLceyObiEBLYyChx 4lY7M0hCWEBZ4tama2A2r4ChxNJN7ewgNrOAq0TT9KVgcTYBVYkHc44xgticAo4Sbzv6WUFs FqD4nLb5jCBDmQXWM0pcPrmICWKQjcTk/z2sENums0t8v/sZbJIIUMeO4/+AOjiATpKVaFqW MYGRbxaS3bOQ7IawtSWWLXwNZetJvGx6x44pritxcd0kxgWMbKsYBYtScxIrDc30EgsKclL1 kvNzNzGCwryh0HwH4/a/cocYBTgYlXh4NbZV+AmxJpYVV+YeYpTgYFYS4e2/U+knxJuSWFmV WpQfX1Sak1p8iFGag0VJnPfoI6BqgfTEktTs1NSC1CKYLBMHp1QDo5lX4PojdiG5HlNU8jhd l5X4PPu8+kmbxlbHhLD2NR8DbV+WGwqnmu69X1Ji/37HBxHrkpx7k+sjS/UK98xbmbxH/clD D/U7VibzNx9Zsox1Ks/7RbO1b1SGbuH6MLvc49EFua8BMUW6Zm6hXqcWMp93ZNbgL7yw+5Zr /05La63s8Oy8p8cLlViKMxINtZiLihMBT/Aw428CAAA=
Cc: Magnus Westerlund <magnus.westerlund@ericsson.com>, Marshall Eubanks <marshall.eubanks@gmail.com>, "avt@ietf.org" <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: Wed, 21 Sep 2011 16:30:38 -0000

On Sep 20, 2011, at 15:21 , Colin Perkins wrote:

> I guess I'm confused. RTP was intended to use NTP *format* timestamps, but intentionally said nothing about synchronisation to any particular time source. I don't think it's valid to assume that the NTP format timestamps conveyed in RTP are synchronised to UTC, TAI, or anything else, *unless you have some explicit signalling to state that*.
> 
> Colin

Yes, what RTP needs for its operation is correct measurement of interval durations.

Indeed, I think that for RTP purposes it's important that taking two sender reports -- RTP/'NTP' timestamp pairs -- we can form the difference between the two RTP values, and the two NTP values, and determine, for example, if the source's RTP clock is running slightly fast or slow.  If the NTP interval incorrectly counts seconds, this could be ... confusing.

> 
> On 20 Sep 2011, at 15:45, Kevin Gross wrote:
>> Magnus,
>> 
>> Thanks for thinking this through. The situation is worse if one of the system clocks has a bad leap-second implementation. In that case, it could be until the next NTP clock update before things get back to normal. On the other hand I think if senders and receivers are all aware where the leap second lives, and we make appropriate recommendations, a system can glide through it without disruption. On the third hand, I'm not convinced leap-second awareness for media applications is a reasonable requirement.
>> 
>> Things certainly are easier on a TAI timebase. I started picking into this because I want to use IEEE 1588 time instead of NTP for some work I'm doing. I figured it would be best for interoperability if I recommended translating the 1588 timebase to the NTP epoch. When I realized that NTP timestamps were UTC, it scuttled that idea but also opened this can of worms.
>> 
>> Kevin Gross
>> 
>> 
>> On Tue, Sep 20, 2011 at 2:02 AM, Magnus Westerlund <magnus.westerlund@ericsson.com> wrote:
>> On 2011-09-19 22:07, Kevin Gross wrote:
>> > 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.
>> 
>> Assuming that the NTP clock freezes or semi freezes during the leap
>> seconds I see two effect happening.
>> 
>> One issue is that an system reading it's clock during the leap second
>> itself will get different values depending on if the system uses true
>> NTP time or POSIX time. Thus potentially creating up to a second of
>> mismatch due to this.
>> 
>> The second issue appears to be that if the two systems are not precisely
>> aligned the leap second will appear to occur at different time from a
>> outside observer. That will result that the system that first implements
>> the leap second will appear to be out of sync with 1 second until the
>> second system also performs the leap second. Thus you suddenly see a 1
>> second sync correction that the receiver system might start correct for,
>> then that difference disappears when the other system also have had its
>> leap second event. Thus resulting in adjusting back again.
>> 
>> The above can cause different media streams to be out of sync at the
>> receiver for the time when only one of the media stream's SR has been
>> delivered.
>> 
>> I would note that leap seconds are rare. They have occurred 24 times
>> since 1970. And there has been only 2 during the 2000 decade.
>> 
>> From my perspective, unless you have a really high performance
>> application, the leap second event will at most cause some sync
>> adjustments with potentially media out of sync that will be corrected as
>> soon as both sender and receiver has passed the leap second event and
>> SRs has been delivered in both cases.
>> 
>> I think the reasonable thing to do is simply to ignore SRs that indicate
>> an approximately 1 second adjustment on a media stream when in close
>> proximity to a leap second event. This would works fine as long as the
>> two involved nodes would not be more out of sync than the guard period
>> where this algorithm is active.
>> 
>> Cheers
>> 
>> Magnus Westerlund
>> 
>> ----------------------------------------------------------------------
>> Multimedia Technologies, Ericsson Research EAB/TVM
>> ----------------------------------------------------------------------
>> Ericsson AB                | Phone  +46 10 7148287
>> Färögatan 6                | Mobile +46 73 0949079
>> SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com
>> ----------------------------------------------------------------------
>> 
>> 
>> 
>> 
>> -- 
>> Kevin Gross
>> +1-303-447-0517
>> Media Network Consultant
>> AVA Networks - www.AVAnw.com, www.X192.org
> 
> 
> -- 
> Colin Perkins
> http://csperkins.org/
> 
> 
> 
> _______________________________________________
> Audio/Video Transport Core Maintenance
> avt@ietf.org
> https://www.ietf.org/mailman/listinfo/avt

David Singer
Multimedia and Software Standards, Apple Inc.