Getting precision when server side only offers seconds... Ideas? - NTP

This is a discussion on Getting precision when server side only offers seconds... Ideas? - NTP ; Greetings, I didn't know exactly where I could post this, but hovering around I found this group which I think could perhaps throw some ideas into my problem. My issue is that I need to time sync two machines. My ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: Getting precision when server side only offers seconds... Ideas?

  1. Getting precision when server side only offers seconds... Ideas?

    Greetings,

    I didn't know exactly where I could post this, but hovering around I
    found this group
    which I think could perhaps throw some ideas into my problem.

    My issue is that I need to time sync two machines. My first idea was
    to use NTP,
    of course. But the problem is that the hardware I have to implement it
    in (the "server"
    side, so to speak), which has the "right" time, doesn't offer me even
    millisecond
    precision. I only have seconds available.

    Explaining it better, it is a kind of network switch for which I don't
    have total access,
    and can only talk through a protocol, that offers me a date in format
    YYYY-MM-DD hh:mm:ss. Period.

    On the "client", though, I have total hardware access to do what I
    want (normal PC, linux, etc).
    That being said, I immediately thought: I will have a maximum possible
    error of 0.999... seconds:

    Remote time
    09:40:22:0000 (would see as 09:40:22 - Error: 0.0000)
    09:40:22:9999 (would see as 09:40:22 - Error: 0.9999)

    The precision I need is a MAXIMUM of 1.0001 seconds error. Given the
    worst case scenario,
    this leaves me with a remainder of only (1.0001 - 0.9999 = ) 0.0002s
    remainder to "play" with.
    Given the network delay (the switch is over a satellite connection, so
    the difference between the
    several takes for the round trip time would have to be less then
    that), this just seems like
    not possible at all.

    Am I right and is it impossible to get the desired precision or does
    anyone have
    any idea of how could I accomplish this? Is it possible to perhaps
    "guess" the
    millisecond "behind" the seconds I receive? The satellite delay is
    something on
    the order of 700-1200 ms.

    Thank you for any ideas regarding this issue,

    Soleth

  2. Re: Getting precision when server side onlyoffersseconds... Ideas?

    Soleth,

    > Explaining it better, it is a kind of network switch for which I don't
    > have total access,
    > and can only talk through a protocol, that offers me a date in format
    > YYYY-MM-DD hh:mm:ss. Period.


    Does the server auto-output the info "on-time" every second, or only
    dynamically reply when requested by the client? Some hardware that I have
    seen has an option to start an auto-output where each line of time is
    printed within so many ms of the zero mark.

    > Am I right and is it impossible to get the desired precision or does
    > anyone have
    > any idea of how could I accomplish this? Is it possible to perhaps
    > "guess" the
    > millisecond "behind" the seconds I receive? The satellite delay is
    > something on
    > the order of 700-1200 ms.


    With the high latency of a satellite link it might be hard to pound it into
    submission (querying multiple times per second until the second changes).

    You can account for the bulk of the delay just in the round-trip time. If
    you wanted to dig deeper you could figure out the distance to the satellite
    and the delay caused by that, then delay caused by the hardware, etc...

    At the same time you could be querying approx once a second (either more or
    less often depending on latency) and as the second changes you can slowly
    converge on the correct time by adjusting your query time to hover around
    the time-change.

    However, from what people tell me with satellite links, they are expensive
    and usually people end up with less available bandwidth than what they need
    / want (because of the cost), so as a negative side-effect the link is
    constantly saturated. That might make getting any sort of time a major pain
    in the rear.


    Jason

  3. Re: Getting precision when server side only offers seconds... Ideas?

    sgb1010@hotmail.com writes:

    >Greetings,


    >I didn't know exactly where I could post this, but hovering around I
    >found this group
    >which I think could perhaps throw some ideas into my problem.


    >My issue is that I need to time sync two machines. My first idea was
    >to use NTP,


    Do you want to sync the two machines or do you want the two machines to
    also have the "right" time? In the former case just use your most stable
    machine as the server, and the ohter as the client and they wilol sync to
    each other to Usec precision They may not have the right time but they have
    the same time.
    If you really wnat the right time as well, buy yourself a Garmin 18LVC wire
    it up and you will have usec precision as well.
    ($70+1/2 hour time +a DB9 and USB connectors)


    >of course. But the problem is that the hardware I have to implement it
    >in (the "server"
    >side, so to speak), which has the "right" time, doesn't offer me even
    >millisecond
    >precision. I only have seconds available.


    >Explaining it better, it is a kind of network switch for which I don't
    >have total access,
    >and can only talk through a protocol, that offers me a date in format
    >YYYY-MM-DD hh:mm:ss. Period.


    >On the "client", though, I have total hardware access to do what I
    >want (normal PC, linux, etc).
    >That being said, I immediately thought: I will have a maximum possible
    >error of 0.999... seconds:


    >Remote time
    >09:40:22:0000 (would see as 09:40:22 - Error: 0.0000)
    >09:40:22:9999 (would see as 09:40:22 - Error: 0.9999)


    >The precision I need is a MAXIMUM of 1.0001 seconds error. Given the
    >worst case scenario,
    >this leaves me with a remainder of only (1.0001 - 0.9999 = ) 0.0002s
    >remainder to "play" with.
    >Given the network delay (the switch is over a satellite connection, so
    >the difference between the
    >several takes for the round trip time would have to be less then
    >that), this just seems like
    >not possible at all.


    >Am I right and is it impossible to get the desired precision or does
    >anyone have
    >any idea of how could I accomplish this? Is it possible to perhaps
    >"guess" the
    >millisecond "behind" the seconds I receive? The satellite delay is
    >something on
    >the order of 700-1200 ms.


    >Thank you for any ideas regarding this issue,


    >Soleth


  4. Re: Getting precision when server side only offersseconds... Ideas?

    Hi Jason,

    On Feb 25, 12:26 pm, ja...@extremeoverclocking.com (Jason Rabel)
    wrote:
    > Soleth,
    >
    > > Explaining it better, it is a kind of network switch for which I don't
    > > have total access,
    > > and can only talk through a protocol, that offers me a date in format
    > > YYYY-MM-DD hh:mm:ss. Period.

    >
    > Does the server auto-output the info "on-time" every second, or only
    > dynamically reply when requested by the client? Some hardware that I have
    > seen has an option to start an auto-output where each line of time is
    > printed within so many ms of the zero mark.
    >


    Unfortunately no. It replies when requested.

    > > Am I right and is it impossible to get the desired precision or does
    > > anyone have
    > > any idea of how could I accomplish this? Is it possible to perhaps
    > > "guess" the
    > > millisecond "behind" the seconds I receive? The satellite delay is
    > > something on
    > > the order of 700-1200 ms.

    >
    > With the high latency of a satellite link it might be hard to pound it into
    > submission (querying multiple times per second until the second changes).
    >
    > You can account for the bulk of the delay just in the round-trip time. If
    > you wanted to dig deeper you could figure out the distance to the satellite
    > and the delay caused by that, then delay caused by the hardware, etc...
    >
    > At the same time you could be querying approx once a second (either more or
    > less often depending on latency) and as the second changes you can slowly
    > converge on the correct time by adjusting your query time to hover around
    > the time-change.
    >


    Yes, that's what I am working on right now. With the time I sent the
    request and
    the time I received the reply recorded, I know the total time. I can
    then make an
    estimate on the round trip time + hardware delay involved.

    That, of course, if the hardware delay is not too high, in which case
    it will screw
    things up. =)

    With that in hands, I will see if I can try to guess the "milliseconds
    behind the
    seconds" by requesting it several times, and seeing if I can converge
    or at
    least reduce the error. Working on a test to see if this is doable.

    Thanks,
    Soleth

  5. Re: Getting precision when server side only offers seconds... Ideas?

    Hi Unruh,

    On Feb 26, 9:33 am, Unruh wrote:
    > sgb1...@hotmail.com writes:
    > >Greetings,
    > >I didn't know exactly where I could post this, but hovering around I
    > >found this group
    > >which I think could perhaps throw some ideas into my problem.
    > >My issue is that I need to time sync two machines. My first idea was
    > >to use NTP,

    >
    > Do you want to sync the two machines or do you want the two machines to
    > also have the "right" time? In the former case just use your most stable
    > machine as the server, and the ohter as the client and they wilol sync to
    > each other to Usec precision They may not have the right time but they have
    > the same time.
    > If you really wnat the right time as well, buy yourself a Garmin 18LVC wire
    > it up and you will have usec precision as well.
    > ($70+1/2 hour time +a DB9 and USB connectors)


    I believe you haven't read the rest of the OP. I only need to sync
    them, but
    one of the machines is a black box. I can't install an NTP server on
    it. AISB:

    > >Explaining it better, it is a kind of network switch for which I don't
    > >have total access,
    > >and can only talk through a protocol, that offers me a date in format
    > >YYYY-MM-DD hh:mm:ss. Period.
    > >On the "client", though, I have total hardware access to do what I
    > >want (normal PC, linux, etc).


    Soleth

+ Reply to Thread