WO2008103170A1 - Assisted wall-clock - Google Patents

Assisted wall-clock Download PDF

Info

Publication number
WO2008103170A1
WO2008103170A1 PCT/US2007/062452 US2007062452W WO2008103170A1 WO 2008103170 A1 WO2008103170 A1 WO 2008103170A1 US 2007062452 W US2007062452 W US 2007062452W WO 2008103170 A1 WO2008103170 A1 WO 2008103170A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
client
clock
server
packet
Prior art date
Application number
PCT/US2007/062452
Other languages
French (fr)
Inventor
Kishan Shenoi
George P. Zampetti
Original Assignee
Symmetricom, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symmetricom, Inc. filed Critical Symmetricom, Inc.
Priority to PCT/US2007/062452 priority Critical patent/WO2008103170A1/en
Publication of WO2008103170A1 publication Critical patent/WO2008103170A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps

Definitions

  • Embodiments of the present invention generally relate to methods of controlling the clock of an element deployed within a communications network and, more specifically, to an assisted wall-clock.
  • each element in the network has its own clock (referred to herein as a “client wall-clock”) providing frequency as well as absolute time and date information (the latter referred to herein as "time-of-day” information).
  • Quartz oscillators typically serve as local oscillators within client wall- clocks, providing frequency to support local timescale generation. While quartz oscillators offer good frequency stability over short term measurement intervals, their intermediate and long term frequency stability does not meet the telecommunications standards. Therefore, client wall-clocks must be checked and corrected against external sources. Furthermore, given the immense number of elements in the network, the client wall-clock of each element is required to not only provide good frequency stability over all measurement intervals, but also be reproducible throughout the entire network with the lowest cost per element.
  • NGNs Next generation networks
  • PONs Passive Optical Networks
  • DSL Digital Subscriber Line
  • cable modems or wireless networks.
  • packet-switched networks are optimum for delivering non-real-time services (e.g., file transfer, email, etc.), obtaining and maintaining accurate time and frequency information may be challenging since each packet in a flow may experience different delay with a significant random component, a phenomenon referred to as "packet delay variation" (PDV).
  • PDV packet delay variation
  • FIG. 1 illustrates the use of the NTP/SNTP to generate time-of-day information at the client wall-clock 100, according to prior art.
  • the client wall-clock 100 includes, without limitation, a local oscillator 110, a system time clock (STC) 120, and an NTP/SNTP client module 130.
  • the local oscillator 110 e.g., quartz oscillator
  • the local oscillator 110 continuously generates an periodic timing signal, referred to herein as a "local time-base" 115.
  • the local time-base 115 is supplied as one of the two inputs to the STC 120.
  • the other input to the STC 120 is an STC adjustment signal 143 from the NTP/SNTP client module 130 to support adjusting the local time in the STC 120 to the current value determined by the NTP/SNTP methods.
  • the STC 120 in turn, produces an STC output 125, which is an accumulation of elapsed time from some arbitrary epoch, where the accuracy of the elapsed time is governed by the accuracy of the local time- base 115.
  • the accuracy of the local time-base 115 is on the order of 100 parts per million (ppm), which means that the time drift of the STC 120 is 100 ⁇ s every second, resulting in the time drift of about 8.6 s every day.
  • the NTP/SNTP client module 130 uses the algorithms set forth in the NTP and/or SNTP standards to determine a clock correction value, CLK_CORR 145.
  • the client wall-clock 100 adds the CLK_CORR 145 to the STC output 125 and produces a time-of-day 155, which is the best estimate of absolute date and time, typically represented in seconds relative to Oh UTC on 1 January 1900.
  • One embodiment of the present invention sets forth a method for operating a client wall-clock to obtain time-of-day information.
  • the method includes the steps of receiving an incoming signal from at least one server, where the incoming signal contains at least one packet and the packet includes one or more server time stamps, extracting the server time stamps from the received packet, associating a terminating client time stamp with the received packet, extracting a frequency reference carried in a physical layer of the incoming signal, and stabilizing a local oscillator by synchronizing the local oscillator with the frequency reference.
  • the method also includes the steps of determining a clock correction value using an enhanced Jam- Sync method and adding the clock correction value to the STC output to obtain the time-of-day information, where the enhanced Jam-Sync method includes the steps of waiting for a reception of a valid server-to-client packet, initializing a first value of the progression of the client wall-clock over time, initializing a second value of at least one estimate of the constant offset between the true time-of-day and the STC output, calculating the clock correction value, and adjusting the STC.
  • control of the client wall- clock may be achieved by extracting and utilizing the frequency reference contained in the physical layer of the incoming signal, such as Network Timing Reference (NTR) or synchronous Ethernet.
  • NTR Network Timing Reference
  • local time-base with an accuracy of 1x10 '11 may be achieved.
  • An accurate local time-base in turn, enables a method for obtaining the clock correction value that is simpler and more reliable than the prior art methods.
  • the disclosed enhanced Jam-Sync method includes the steps of performing iterations to derive the estimates of the time offset between the true time-of-day and the STC in forward and reverse directions of data transmission and calculating an overall estimate of the clock correction.
  • the time-of-day information at the client wall-clocks can be generated with lower cost, lower power oscillators without adding the burden to the servers, thereby reducing costs for both the servers and the clients.
  • Figure 1 illustrates the use of the NTP/SNTP to generate time-of-day information at the client wall-clock, according to prior art
  • Figure 2 illustrates the use of the enhanced Jam-Sync method to generate time-of-day information at the client wall-clock, according to one embodiment of the present invention
  • Figure 3 illustrates the notions of time stamps used by the client wall-clock of Figure 2, according to one embodiment of the present invention
  • Figure 4 sets forth a flow diagram of enhanced Jam-Sync method steps for operating the enhanced Jam-Sync module of Figure 2, provided the time stamps of Figure 3, according to one embodiment of the present invention.
  • Figure 5 illustrates a computing device configured to implement one or more aspects of the present invention.
  • Figure 2 illustrates the use of the enhanced Jam-Sync method to generate time-of-day information at the client wall-clock 200, according to one embodiment of the present invention.
  • the client wall-clock 200 includes, without limitation, a local oscillator 210, an STC 220, an enhanced Jam-Sync module 230, and a physical layer synchronization module 250. Similar to the system of Figure 1 , the local oscillator 210 continuously generates an AC signal, referred to herein as a "local time-base" 215. The local time-base 215 is supplied as one of the two inputs to the STC 220.
  • the other input to the STC 220 is an STC adjustment signal 243 from the enhanced Jam-Sync module 230 to support adjusting the local time in the STC 220 to the current value determined by the enhanced Jam-Sync method.
  • the STC 220 in turn, produces an STC output 225, which is an accumulation of elapsed time from some arbitrary epoch, where the accuracy of the elapsed time is governed by the accuracy of the local time-base 215.
  • the physical layer synchronization module 250 synchronizes the local time-base 215 to a traceable physical layer provided in a downstream transmission 251 , such as network timing reference (NTR) or synchronous Ethernet, thereby assuring that in normal operation the local oscillator 210 produces the local time-base 215 accurate to 1 part in 10 11 .
  • NTR network timing reference
  • the process of synchronizing the signal produced by the local oscillator 210 to a traceable physical layer is referred to herein as "stabilizing of the local oscillator” because it results in improved frequency stability of the local oscillator 210.
  • Synchronization of the local time-base 215 to the traceable physical layer is enabled by the fact that almost all proposed variations of arrangements for delivering packet-based services are capable of carrying in its downstream transmission 251 a frequency reference with long-term frequency stability better than 1x10 "11 .
  • variations of DSL namely, SHDSL, ADSL, and VDSL (and variants thereof) have the downstream transmission 251 capable of transporting a NTR from the DSL server (not shown) to the client wall-clock 200.
  • This NTR is based on a clock available to the DSL server from the Building Integrated Timing Supply (BITS) that, in normal operation, is traceable to a primary reference source (PRS).
  • BTS Building Integrated Timing Supply
  • the physical layer synchronization module 250 can extract from the downstream transmission 251 (in this case, the incoming electrical signal) a frequency reference with long-term frequency stability better than 1x10 '11 and synchronize the local time- base 215 produced by the local oscillator 210 with this stable frequency reference.
  • the accuracy is determined by the holdover mechanism in the DSL central office as constrained by established clocks specifications such as G.811 , G.812, G.813 and ANSI T1.101.
  • variations of PONs namely, APON, BPON, and GPON have the downstream transmission 251 governed by a clock that, in normal operation, is traceable to a PRS. That is, in normal operation, the physical layer synchronization module 250 can extract from the downstream transmission 251 (in this case, the incoming optical signal) a frequency reference with long-term frequency stability better than 1x10 "11 and synchronize the local time-base 215 produced by the local oscillator 210 with this stable frequency reference. In holdover operation, the accuracy is determined by the holdover mechanism in the PON central office as constrained by established clocks specifications such as G.811 , G.812, G.813 and ANSI T1.101.
  • a local time-base accuracy of 1x10 11 introduces a very small error to the STC 220 that, for all practical purposes, can be ignored. Therefore, the enhanced Jam-Sync module 230 does not have to consider any time drift in the local time-base 215.
  • the enhanced Jam-Sync module 230 may operate in a one-way time transfer (OWTT) mode or a two-way time transfer (TWTT) mode. While the enhanced Jam- Sync module 230 may be based on NTP/SNTP principles, it does not have to implement any frequency correction algorithms.
  • the enhanced Jam-Sync module 230 executes the steps of the enhanced Jam-Sync method, as described in more details in Figure 4, and produces the STC adjustment 243 and a clock correction value, a CLK_CORR 245.
  • the client wall-clock 200 adds the CLK_CORR 245 to the STC output 225 and produces a time-of-day 255, which is the best estimate of absolute date and time, typically represented in seconds relative to Oh UTC on 1 January 1900.
  • Figure 3 illustrates the notions of time stamps used by the client wall-clock 200 of Figure 2, according to one embodiment of the present invention.
  • the two-way time transfer (TWTT) methods and the one-way time transfer (OWTT) subset methods are all based on the notion of time stamping the ingress and egress of designated packets that constitute the flows between the client wall-clock 200 and the server clock (not shown).
  • the enhanced Jam-Sync method executed by the enhanced Jam-Sync module 230 to extract the CLK_CORR 245 also utilizes variants of a time stamping process illustrated in Figure 3 to support a one-way time transfer mode.
  • a time measurement process may involve four time stamps along a timeline 300, which are defined as follows: Ti is an originating client time stamp representing the best estimate of the transmit originating epoch of a packet originating from the client wall-clock 200 of a client 310,
  • T 2 is a server time stamp representing the best estimate of the receive termination epoch of a packet terminating at the clock of a server 320
  • T 3 is a server time stamp representing the best estimate of the transmit origination epoch of a packet originating from the clock of the server 320.
  • T 4 is a terminating client time stamp representing the best estimate of the receive termination epoch of a packet terminating at the client wall-clock 200 of the client 310.
  • Each time stamp represents a critical epoch in a protocol transaction. It is assumed that the server 320 has the correct time-of-day and therefore the server time stamps T 2 and T 3 are indicative of the absolute time-of-day associated with the time-of-arrival, ⁇ 2l and the time-of-departure, 0: 3 , respectively.
  • the originating time stamp Ti and the terminating time stamp T 4 are meant to represent the time-of-departure, ⁇ -i, and the time-of-arrival, ⁇ 4 , respectively but these are estimates based on the client wall-clock 200 that may not be perfectly accurate.
  • T 4 (n) T 3 (n) + A m
  • T 4 (n) - T 4 (n -l) T 3 (n) - T 3 (n -l)
  • the entity AM S is the estimated network delay from the server 320 (commonly referred to in the telecommunications industry as a "master”) to the client 310 (commonly referred to in the telecommunications industry as a "slave") that may be erroneous because T 4 is based on the client wall-clock 200.
  • the network delay is constant, and the local time-base 215 at the client 310 is accurate, then the time interval between the transmit epochs of two successive packets is identical to the measured time interval between the reception of the two successive packets. This can clearly be extended to the time interval of transmission/reception of any pair of identifiable packets.
  • T 2 (H) - T 2 (H - V) T 1 (Ti) - T 1 (Ti - Y)
  • entity ⁇ S M is the estimated network delay from the client 310 to the server 320 that may be somewhat erroneous because Ti is based on the client wall-clock 200.
  • the minimum delay will be constant unless there are changes in the network due to rearrangements, failures, etc. However, the actual delays will be greater than the minimum by a random non-negative amount that quantifies the packet delay variation across the network and is denoted by ⁇ MS ( ⁇ ) and ⁇ SM ( ⁇ ) . Thus, the following relations hold:
  • T 2 (n) [T 1 (n) + ⁇ (n)] + A SM + ⁇ SM (n)
  • the non-constant delay of the network as well as the client wall-clock error has been included.
  • the client 310 has available T 1 , T 2 , T 3 , and T 4 , which are supplied to the enhanced Jam- Sync module 230 to execute the enhanced Jam-Sync method and generate the CLK_CORR 245 and the STC adjustment 243.
  • FIG. 4 sets forth a flow diagram of enhanced Jam-Sync method steps for operating the enhanced Jam-Sync module 230 of Figure 2, provided the time stamps of Figure 3, according to one embodiment of the present invention.
  • the index n means the number of nominally equally spaced time stamp transaction since the start at time index zero
  • Ts(n) represents the progression of the client wall-clock 200 over time
  • TM( ⁇ ) represents the progression of the server wall- clock over time (which is assumed to be accurate)
  • v is a CLK_CORR 245 value, which is an estimate of the constant offset between the true time-of-day and the STC output 225
  • YF and YR are the two estimates based on transmission between the client 310 and the server 320 (referred to herein as "client-to-server” transmission), and the server 320 and the client 310 (referred to herein as "server-to-client” transmission), respectively.
  • the method begins in step 412, where the enhanced Jam-Sync module 230 determines whether the client 310 is operating in a one-way time transfer mode (i.e., server-to-client transmission). If so, then the method proceeds to step 413, where the enhanced Jam-Sync module 230 sets the CLK_CORR 245 to an static compensation value that may be set to zero if there is no external knowledge of the one-way delay between the server 320 and the client 310 or, alternatively, be set to a one-way compensation value supplied externally from this process (e.g. from one-way QOS metrics).
  • a one-way time transfer mode i.e., server-to-client transmission.
  • step 414 the enhanced Jam-Sync module 230 waits for a valid time stamp T 3 from a properly formed, error-free packet from the server 320. After such a time stamp is received, the method proceeds to step 416, where the enhanced Jam-Sync module 230 determines if this is the first valid time stamp packet. If so, the method proceeds to step 418, where, for the purpose of initialization, the enhanced Jam-Sync module 230 sets T 5 (O) to be equal to T 3 . This is implement by the STC adjustment 243, which synchronously adjusts the value of the STC 220 to T 8 (O). As a result, the error is then bounded by (A MS + ⁇ MS (0)) . If, however, the enhanced Jam-Sync module 230 determines that this is not the first valid time stamp packet, the method proceeds to step 420, where the enhanced Jam-Sync module 230 sets T s (n) as follows:
  • T s (n) min ⁇ T s (n-1 ); T 3 (n) ⁇
  • T 3 (n) is the new valid server time stamp just received. This is implement by the STC adjustment 243, which synchronously adjusts the value of the STC 220 to T.(n).
  • step 418 or 420 the method returns to step 414 for iteration.
  • the client wall-clock 200 Given the known behavior of the PDV, the client wall-clock 200 will asymptotically approach the value corresponding to (T M (n) -A MS ) . The convergence will be rapid when the network congestion is low and slow if the network congestion is high.
  • the transit delay is bound by the accuracy of one-way time transfer methods. Nevertheless, the error will always be bound from above by (A MS + ⁇ MS (0)) .
  • step 412 if the enhanced Jam-Sync module 230 determines that the client 310 is operating in a two-way time transfer mode, the method proceeds to step 422, where the enhanced Jam-Sync module 230 waits for the next periodic transaction start time. At the start time, the method proceeds to step 424 where the client 310 launches a packet to the server 320 with the originating time stamp Ti (n) equal to T s (n), where T s (n) is the current value of the STC output 225 without correction. In step 426 the enhanced Jam-Sync module 230 waits for the reception of valid response packet from the server 320 to the client 310.
  • step 428 the enhanced Jam-Sync module 230 determines whether this is the first valid response packet. If so, the method proceeds to step 430, where the enhanced Jam-Sync module 230 sets T 3 (O), YF(O), and ⁇ R (0) as follows:
  • YR(O) - YF(O) where Max_Delay is largest one-way delay expected.
  • This initialization includes a one time adjustment by the STC adjustment 243, which synchronously adjusts the value of the STC 220 to T s (0).
  • the method proceeds to step 432, where the enhanced Jam-Sync module 230 sets ⁇ F (n), YR( ⁇ ), and ⁇ (n) as follows:
  • ⁇ F (n) min ⁇ ⁇ F (n-1 ); [T 2 (n) - T s (n-1 ) ] ⁇
  • ⁇ R (n) max ⁇ ⁇ R (n-1 ); [T 3 (n) - T s (n) ] ⁇
  • step 432 the method returns to step 422 for iteration.
  • the two estimates for the constant offset between the server wall-clock, TM, and the STC output 225 are derived iteratively and improved with additional knowledge gained with each packet exchange.
  • the clock correction, ⁇ (n) is developed as the average of the "forward" and "reverse” estimates, i.e., the estimates obtained from client-to-server and server-to-client transmissions, respectively.
  • the limiting accuracy of the asymptotical estimate is limited only by the asymmetry in transit time between the two directions of transmission. Persons skilled in the art will understand that this asymmetry bounds the accuracy of the two-way time transfer methods.
  • the client 310 may be able to query multiple servers in order to ascertain its client wall-clock 200. Denoting the K possible servers with an index k, the clock correction estimates can be made in both forward and reverse directions utilizing all K servers as follows:
  • FIG. 5 illustrates a computing device 500 configured to implement one or more aspects of the present invention.
  • the computing device 500 includes a processor 510, a memory 515, and an application circuitry 520.
  • the memory 515 and the application circuitry 520 are coupled to the processor 510.
  • the processor 510 includes the client wall-clock 200.
  • the client wall-clock 200 executes the steps described in the present invention and produces the time-of-day synchronized with the precise server wall-clock on the network.
  • the physical layer synchronization module 250 and the local oscillator 210 may be included in the application circuitry 520.
  • the STC 220 and the enhanced Jam-Sync module 230 may operate within the processor 510 or alternatively be supported in the application circuitry 520.
  • the computing device 500 may be any type of computing device that includes application circuitry requiring a client wall-clock to produce a timing signal.
  • Some examples of computing device include, without limitation, a personal computer, a data center server, a router, an IP telephony device, a cellular phone, and a personal digital assistant. The more likely instantiation is in embedded computing devices with built-in timestamp and clock support. These computing devices find general application is telecommunication and industrial applications required client synchronization including DSL aggregators, passive optical network units (ONUs), wireless base stations, and access points.
  • the present invention enables the computing device 500 to
  • control of the client wall- clock may be achieved by extracting and utilizing the frequency reference contained in the physical layer of the incoming signal, such as Network Timing Reference (NTR) and synchronous Ethernet.
  • NTR Network Timing Reference
  • By stabilizing the local oscillator with the extracted frequency reference local time-base with an accuracy of 1x10 "11 may be achieved.
  • An accurate local time-base in turn, enables a method for obtaining the clock correction value that is simpler and more reliable than the prior art methods.
  • the disclosed enhanced Jam-Sync method includes the steps of performing iterations to derive the estimates of the time offset between the true time-of-day and the STC in forward and reverse directions of data transmission and calculating an overall estimate of the clock correction.
  • time-of-day information at the client wall- clocks can be generated with lower cost, lower power oscillators without adding the burden to the servers, thereby reducing costs for both the servers and the clients.
  • the present invention can be implemented in hardware or software, with the software being delivered as a program product for use with a computer system.
  • the program(s) of the program product defines functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media.
  • Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive) on which information is permanently stored; (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive) on which alterable information is stored.
  • Such computer-readable storage media when carrying computer-readable instructions that direct the functions of the present invention, are embodiments of the present invention.

Abstract

One embodiment of the present invention sets forth a method for extracting a frequency reference carried in the physical layer of the incoming signal, using it to stabilize the local oscillator, and generating a suitable estimate of the clock correction to obtain an accurate time-of-day information from the client wall-clock of a computing device. The enhanced Jam-Sync method includes the steps of performing iterations to derive the estimates of the time offset between the true time-of-day and the System Time Clock (STC) in the forward and reverse directions of data transmission and calculating an estimate of the overall clock correction value. With these steps, the negative effects of packet delay variation may be mitigated and a value necessary for correcting the STC within the client wall-clock is determined. Consequently, quality control of the client wall-clock is achieved at significantly reduced cost and decreased level of complexity relative to the prior art approaches.

Description

ASSISTED WALL-CLOCK
BACKGROUND OF THE INVENTION Field of the Invention
[0001] Embodiments of the present invention generally relate to methods of controlling the clock of an element deployed within a communications network and, more specifically, to an assisted wall-clock.
Description of the Related Art
[0002] In many telecommunications applications, each element in the network has its own clock (referred to herein as a "client wall-clock") providing frequency as well as absolute time and date information (the latter referred to herein as "time-of-day" information). Quartz oscillators typically serve as local oscillators within client wall- clocks, providing frequency to support local timescale generation. While quartz oscillators offer good frequency stability over short term measurement intervals, their intermediate and long term frequency stability does not meet the telecommunications standards. Therefore, client wall-clocks must be checked and corrected against external sources. Furthermore, given the immense number of elements in the network, the client wall-clock of each element is required to not only provide good frequency stability over all measurement intervals, but also be reproducible throughout the entire network with the lowest cost per element.
[0003] There are several means of providing timing information to client wall- clocks in network elements. In legacy telecommunications networks, network elements utilized time-division multiplexing (TDM) links, such as T1 and SONET, which are inherently capable of carrying reliable timing information from a server to a client at the physical layer. Next generation networks (NGNs), however, will be based on a packet-switched infrastructure (such networks are referred to herein as "packet networks"). NGN telecommunication services will be delivered to the clients utilizing such arrangements as Passive Optical Networks (PONs), Digital Subscriber Line (DSL), cable modems, or wireless networks. While packet-switched networks are optimum for delivering non-real-time services (e.g., file transfer, email, etc.), obtaining and maintaining accurate time and frequency information may be challenging since each packet in a flow may experience different delay with a significant random component, a phenomenon referred to as "packet delay variation" (PDV). Thus, in order for packet-switched networks to mimic the performance of legacy networks in transporting real-time services, it is essential that synchronization and timing issues be examined and techniques developed to mitigate the impact of PDV.
[0004] One approach to mitigate the impact of PDV and obtain accurate client wall-clocks in packet networks is to use two-way time-transfer methods, such as Network Time Protocol (NTP) and Simple Network Time Protocol (SNTP). Figure 1 illustrates the use of the NTP/SNTP to generate time-of-day information at the client wall-clock 100, according to prior art. The client wall-clock 100 includes, without limitation, a local oscillator 110, a system time clock (STC) 120, and an NTP/SNTP client module 130. The local oscillator 110 (e.g., quartz oscillator) continuously generates an periodic timing signal, referred to herein as a "local time-base" 115. The local time-base 115 is supplied as one of the two inputs to the STC 120. The other input to the STC 120 is an STC adjustment signal 143 from the NTP/SNTP client module 130 to support adjusting the local time in the STC 120 to the current value determined by the NTP/SNTP methods. The STC 120, in turn, produces an STC output 125, which is an accumulation of elapsed time from some arbitrary epoch, where the accuracy of the elapsed time is governed by the accuracy of the local time- base 115. In the client wall-clocks of most devices, such as, for example, personal computers and servers, the accuracy of the local time-base 115 is on the order of 100 parts per million (ppm), which means that the time drift of the STC 120 is 100 μs every second, resulting in the time drift of about 8.6 s every day. To counteract the time drift of the STC 120, the NTP/SNTP client module 130 uses the algorithms set forth in the NTP and/or SNTP standards to determine a clock correction value, CLK_CORR 145. Subsequently, the client wall-clock 100 adds the CLK_CORR 145 to the STC output 125 and produces a time-of-day 155, which is the best estimate of absolute date and time, typically represented in seconds relative to Oh UTC on 1 January 1900.
[0005] However, inaccuracy of the local oscillator creates several problems in achieving accurate client wall-clock using NTP/SNTP clock correction and an STC. First, the clock correction value produced by the NTP and/or SNTP algorithms must be appropriate not only for initialization of the STC, but also for the time drift associated with the inaccuracy of the local oscillator. This means that the algorithms must include determination of the frequency offset in the local time-base, which is often undermined by the PDV effects. As a result, current algorithms for establishing the clock correction value are sophisticated, complex, and provide only a modest improvement in the accuracy of the client wall-clock.
[0006] As the foregoing illustrates, what is needed in the art is a technique and apparatus for determining the clock correction value that is simpler and more reliable than prior art.
SUMMARY OF THE INVENTION
[0007] One embodiment of the present invention sets forth a method for operating a client wall-clock to obtain time-of-day information. The method includes the steps of receiving an incoming signal from at least one server, where the incoming signal contains at least one packet and the packet includes one or more server time stamps, extracting the server time stamps from the received packet, associating a terminating client time stamp with the received packet, extracting a frequency reference carried in a physical layer of the incoming signal, and stabilizing a local oscillator by synchronizing the local oscillator with the frequency reference. The method also includes the steps of determining a clock correction value using an enhanced Jam- Sync method and adding the clock correction value to the STC output to obtain the time-of-day information, where the enhanced Jam-Sync method includes the steps of waiting for a reception of a valid server-to-client packet, initializing a first value of the progression of the client wall-clock over time, initializing a second value of at least one estimate of the constant offset between the true time-of-day and the STC output, calculating the clock correction value, and adjusting the STC.
[0008] One advantage of the disclosed methods is that control of the client wall- clock may be achieved by extracting and utilizing the frequency reference contained in the physical layer of the incoming signal, such as Network Timing Reference (NTR) or synchronous Ethernet. By stabilizing the local oscillator with the extracted frequency reference, local time-base with an accuracy of 1x10'11 may be achieved. An accurate local time-base, in turn, enables a method for obtaining the clock correction value that is simpler and more reliable than the prior art methods. The disclosed enhanced Jam-Sync method includes the steps of performing iterations to derive the estimates of the time offset between the true time-of-day and the STC in forward and reverse directions of data transmission and calculating an overall estimate of the clock correction. As a result, the time-of-day information at the client wall-clocks can be generated with lower cost, lower power oscillators without adding the burden to the servers, thereby reducing costs for both the servers and the clients.
BRIEF DESCRIPTION OF THE DRAWINGS [0009] So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
[0010] Figure 1 illustrates the use of the NTP/SNTP to generate time-of-day information at the client wall-clock, according to prior art;
[0011] Figure 2 illustrates the use of the enhanced Jam-Sync method to generate time-of-day information at the client wall-clock, according to one embodiment of the present invention;
[0012] Figure 3 illustrates the notions of time stamps used by the client wall-clock of Figure 2, according to one embodiment of the present invention;
[0013] Figure 4 sets forth a flow diagram of enhanced Jam-Sync method steps for operating the enhanced Jam-Sync module of Figure 2, provided the time stamps of Figure 3, according to one embodiment of the present invention; and
[0014] Figure 5 illustrates a computing device configured to implement one or more aspects of the present invention.
DETAILED DESCRIPTION [0015] Figure 2 illustrates the use of the enhanced Jam-Sync method to generate time-of-day information at the client wall-clock 200, according to one embodiment of the present invention. The client wall-clock 200 includes, without limitation, a local oscillator 210, an STC 220, an enhanced Jam-Sync module 230, and a physical layer synchronization module 250. Similar to the system of Figure 1 , the local oscillator 210 continuously generates an AC signal, referred to herein as a "local time-base" 215. The local time-base 215 is supplied as one of the two inputs to the STC 220. The other input to the STC 220 is an STC adjustment signal 243 from the enhanced Jam-Sync module 230 to support adjusting the local time in the STC 220 to the current value determined by the enhanced Jam-Sync method. The STC 220, in turn, produces an STC output 225, which is an accumulation of elapsed time from some arbitrary epoch, where the accuracy of the elapsed time is governed by the accuracy of the local time-base 215.
[0016] Importantly, the physical layer synchronization module 250 synchronizes the local time-base 215 to a traceable physical layer provided in a downstream transmission 251 , such as network timing reference (NTR) or synchronous Ethernet, thereby assuring that in normal operation the local oscillator 210 produces the local time-base 215 accurate to 1 part in 1011. The process of synchronizing the signal produced by the local oscillator 210 to a traceable physical layer is referred to herein as "stabilizing of the local oscillator" because it results in improved frequency stability of the local oscillator 210. Synchronization of the local time-base 215 to the traceable physical layer is enabled by the fact that almost all proposed variations of arrangements for delivering packet-based services are capable of carrying in its downstream transmission 251 a frequency reference with long-term frequency stability better than 1x10"11. For example, in one embodiment, variations of DSL, namely, SHDSL, ADSL, and VDSL (and variants thereof) have the downstream transmission 251 capable of transporting a NTR from the DSL server (not shown) to the client wall-clock 200. This NTR is based on a clock available to the DSL server from the Building Integrated Timing Supply (BITS) that, in normal operation, is traceable to a primary reference source (PRS). That is, in normal operation, the physical layer synchronization module 250 can extract from the downstream transmission 251 (in this case, the incoming electrical signal) a frequency reference with long-term frequency stability better than 1x10'11 and synchronize the local time- base 215 produced by the local oscillator 210 with this stable frequency reference. In holdover operation, the accuracy is determined by the holdover mechanism in the DSL central office as constrained by established clocks specifications such as G.811 , G.812, G.813 and ANSI T1.101.
[0017] In another embodiment, variations of PONs, namely, APON, BPON, and GPON have the downstream transmission 251 governed by a clock that, in normal operation, is traceable to a PRS. That is, in normal operation, the physical layer synchronization module 250 can extract from the downstream transmission 251 (in this case, the incoming optical signal) a frequency reference with long-term frequency stability better than 1x10"11 and synchronize the local time-base 215 produced by the local oscillator 210 with this stable frequency reference. In holdover operation, the accuracy is determined by the holdover mechanism in the PON central office as constrained by established clocks specifications such as G.811 , G.812, G.813 and ANSI T1.101.
[0018] A local time-base accuracy of 1x10 11 introduces a very small error to the STC 220 that, for all practical purposes, can be ignored. Therefore, the enhanced Jam-Sync module 230 does not have to consider any time drift in the local time-base 215. The enhanced Jam-Sync module 230 may operate in a one-way time transfer (OWTT) mode or a two-way time transfer (TWTT) mode. While the enhanced Jam- Sync module 230 may be based on NTP/SNTP principles, it does not have to implement any frequency correction algorithms. The enhanced Jam-Sync module 230 executes the steps of the enhanced Jam-Sync method, as described in more details in Figure 4, and produces the STC adjustment 243 and a clock correction value, a CLK_CORR 245. Subsequently, the client wall-clock 200 adds the CLK_CORR 245 to the STC output 225 and produces a time-of-day 255, which is the best estimate of absolute date and time, typically represented in seconds relative to Oh UTC on 1 January 1900.
[0019] Figure 3 illustrates the notions of time stamps used by the client wall-clock 200 of Figure 2, according to one embodiment of the present invention. The two-way time transfer (TWTT) methods and the one-way time transfer (OWTT) subset methods are all based on the notion of time stamping the ingress and egress of designated packets that constitute the flows between the client wall-clock 200 and the server clock (not shown). The enhanced Jam-Sync method executed by the enhanced Jam-Sync module 230 to extract the CLK_CORR 245 also utilizes variants of a time stamping process illustrated in Figure 3 to support a one-way time transfer mode. As shown, a time measurement process may involve four time stamps along a timeline 300, which are defined as follows: Ti is an originating client time stamp representing the best estimate of the transmit originating epoch of a packet originating from the client wall-clock 200 of a client 310,
T2 is a server time stamp representing the best estimate of the receive termination epoch of a packet terminating at the clock of a server 320,
T3 is a server time stamp representing the best estimate of the transmit origination epoch of a packet originating from the clock of the server 320, and
T4 is a terminating client time stamp representing the best estimate of the receive termination epoch of a packet terminating at the client wall-clock 200 of the client 310.
Each time stamp represents a critical epoch in a protocol transaction. It is assumed that the server 320 has the correct time-of-day and therefore the server time stamps T2 and T3 are indicative of the absolute time-of-day associated with the time-of-arrival, α2l and the time-of-departure, 0:3, respectively. The originating time stamp Ti and the terminating time stamp T4 are meant to represent the time-of-departure, α-i, and the time-of-arrival, α4, respectively but these are estimates based on the client wall-clock 200 that may not be perfectly accurate. Once the packet is received at the client wall- clock 200, the time stamps are used in the enhanced Jam-Sync algorithm to generate the clock correction value CLK_CORR 245.
[0020] If the transmission delay across the network between the server 320 and the client 310 is constant, then the following relations hold:
T4(n) = T3(n) + A m
T4(n) - T4(n -l) = T3(n) - T3 (n -l)
where the entity AMS is the estimated network delay from the server 320 (commonly referred to in the telecommunications industry as a "master") to the client 310 (commonly referred to in the telecommunications industry as a "slave") that may be erroneous because T4 is based on the client wall-clock 200. However, if the network delay is constant, and the local time-base 215 at the client 310 is accurate, then the time interval between the transmit epochs of two successive packets is identical to the measured time interval between the reception of the two successive packets. This can clearly be extended to the time interval of transmission/reception of any pair of identifiable packets.
[0021] Likewise, if the transmission delay across the network between the client 310 and the server 320 is constant, then the following relations hold:
T2 (H) = T1 (U) + A^
T2 (H) - T2 (H - V) = T1 (Ti) - T1 (Ti - Y)
where the entity ΔSM is the estimated network delay from the client 310 to the server 320 that may be somewhat erroneous because Ti is based on the client wall-clock 200.
[0022] Consider the situation implied in Figure 3 whereby the client 310 launches a query packet and the server 320 responds. Included in the packet are the originating time stamp and the time stamps associated with past reception. Suppose that the client wall-clock error is δ(ή) just prior to the exchange. Considering that the local time-base 215 is accurate, this error remains constant until the next update of either the CLK_CORR 245 or the STC adjustment 243. Denote by ΔMS and ΔSM the minimum delay between the server 320 and the client 310, and the client 310 and the server 320, respectively. This is often referred to colloquially as the "speed-of-light" delay, representing the transit time of a packet over the network when there is no other traffic whatsoever. The minimum delay will be constant unless there are changes in the network due to rearrangements, failures, etc. However, the actual delays will be greater than the minimum by a random non-negative amount that quantifies the packet delay variation across the network and is denoted by εMS(ή) and εSM (ή) . Thus, the following relations hold:
T2 (n) = [T1 (n) + δ(n)] + ASM + εSM (n)
[T4 (n) + δ(n)] = T3 (n) + AMS + εMS (n)
Importantly, in these equations, the non-constant delay of the network as well as the client wall-clock error has been included. Following each to-and-from exchange, the client 310 has available T1, T2, T3, and T4, which are supplied to the enhanced Jam- Sync module 230 to execute the enhanced Jam-Sync method and generate the CLK_CORR 245 and the STC adjustment 243.
[0023] Figure 4 sets forth a flow diagram of enhanced Jam-Sync method steps for operating the enhanced Jam-Sync module 230 of Figure 2, provided the time stamps of Figure 3, according to one embodiment of the present invention. In the following description, the index n means the number of nominally equally spaced time stamp transaction since the start at time index zero, Ts(n) represents the progression of the client wall-clock 200 over time, TM(Π) represents the progression of the server wall- clock over time (which is assumed to be accurate), v is a CLK_CORR 245 value, which is an estimate of the constant offset between the true time-of-day and the STC output 225, YF and YR are the two estimates based on transmission between the client 310 and the server 320 (referred to herein as "client-to-server" transmission), and the server 320 and the client 310 (referred to herein as "server-to-client" transmission), respectively. Although the method steps are described in conjunction with the system of Figure 2, persons skilled in the art will understand that any system that performs the method steps, in any order, is within the scope of the present invention.
[0024] The method begins in step 412, where the enhanced Jam-Sync module 230 determines whether the client 310 is operating in a one-way time transfer mode (i.e., server-to-client transmission). If so, then the method proceeds to step 413, where the enhanced Jam-Sync module 230 sets the CLK_CORR 245 to an static compensation value that may be set to zero if there is no external knowledge of the one-way delay between the server 320 and the client 310 or, alternatively, be set to a one-way compensation value supplied externally from this process (e.g. from one-way QOS metrics). Then the method proceeds to step 414, where the enhanced Jam- Sync module 230 waits for a valid time stamp T3 from a properly formed, error-free packet from the server 320. After such a time stamp is received, the method proceeds to step 416, where the enhanced Jam-Sync module 230 determines if this is the first valid time stamp packet. If so, the method proceeds to step 418, where, for the purpose of initialization, the enhanced Jam-Sync module 230 sets T5(O) to be equal to T3. This is implement by the STC adjustment 243, which synchronously adjusts the value of the STC 220 to T8(O). As a result, the error is then bounded by (AMS + εMS(0)) . If, however, the enhanced Jam-Sync module 230 determines that this is not the first valid time stamp packet, the method proceeds to step 420, where the enhanced Jam-Sync module 230 sets Ts(n) as follows:
Ts(n)=min{Ts(n-1 ); T3(n)}
where T3(n) is the new valid server time stamp just received. This is implement by the STC adjustment 243, which synchronously adjusts the value of the STC 220 to T.(n).
[0025] Subsequent to either step 418 or 420, the method returns to step 414 for iteration. Given the known behavior of the PDV, the client wall-clock 200 will asymptotically approach the value corresponding to (TM (n) -AMS) . The convergence will be rapid when the network congestion is low and slow if the network congestion is high. Persons skilled in the art will understand that the transit delay is bound by the accuracy of one-way time transfer methods. Nevertheless, the error will always be bound from above by (AMS + εMS(0)) .
[0026] Referring back now to step 412, if the enhanced Jam-Sync module 230 determines that the client 310 is operating in a two-way time transfer mode, the method proceeds to step 422, where the enhanced Jam-Sync module 230 waits for the next periodic transaction start time. At the start time, the method proceeds to step 424 where the client 310 launches a packet to the server 320 with the originating time stamp Ti (n) equal to Ts(n), where Ts(n) is the current value of the STC output 225 without correction. In step 426 the enhanced Jam-Sync module 230 waits for the reception of valid response packet from the server 320 to the client 310. After such a response packet is received, the method proceeds to step 428, where the enhanced Jam-Sync module 230 determines whether this is the first valid response packet. If so, the method proceeds to step 430, where the enhanced Jam-Sync module 230 sets T3(O), YF(O), and γR(0) as follows:
T8(O)=T3(O)
YF(O) = Max_Delay
YR(O) =- YF(O) where Max_Delay is largest one-way delay expected. This initialization includes a one time adjustment by the STC adjustment 243, which synchronously adjusts the value of the STC 220 to Ts(0). After step 430, the method proceeds to step 432, where the enhanced Jam-Sync module 230 sets γF(n), YR(Π), and γ(n) as follows:
γF(n) = min{ γF (n-1 ); [T2(n) - Ts(n-1 ) ]}
γR(n) = max{ γR (n-1 ); [T3(n) - Ts(n) ]}
Y (n) = 0.5(γF(n) + γR(n))
where (Ts(n) - Y (n)) is the best estimate of the correct time-of-day.
[0027] Subsequent to step 432, the method returns to step 422 for iteration. Thus, the two estimates for the constant offset between the server wall-clock, TM, and the STC output 225 are derived iteratively and improved with additional knowledge gained with each packet exchange. Then the clock correction, γ(n), is developed as the average of the "forward" and "reverse" estimates, i.e., the estimates obtained from client-to-server and server-to-client transmissions, respectively. The limiting accuracy of the asymptotical estimate is limited only by the asymmetry in transit time between the two directions of transmission. Persons skilled in the art will understand that this asymmetry bounds the accuracy of the two-way time transfer methods.
[0028] In another embodiment, the client 310 may be able to query multiple servers in order to ascertain its client wall-clock 200. Denoting the K possible servers with an index k, the clock correction estimates can be made in both forward and reverse directions utilizing all K servers as follows:
γF(n) = min{ γF (n;k); k=1 ,2 K} γR(n) = max{ YR (n;k); k=1 ,2 K}
Using multiple servers allows choosing the servers that have the minimum delay for each transfer direction independently.
[0029] Figure 5 illustrates a computing device 500 configured to implement one or more aspects of the present invention. As shown, the computing device 500 includes a processor 510, a memory 515, and an application circuitry 520. The memory 515 and the application circuitry 520 are coupled to the processor 510. The processor 510, in turn, includes the client wall-clock 200. The client wall-clock 200 executes the steps described in the present invention and produces the time-of-day synchronized with the precise server wall-clock on the network. In an alternative embodiment (not shown here), the physical layer synchronization module 250 and the local oscillator 210 may be included in the application circuitry 520. Furthermore, in other alternative embodiments (also not shown) the STC 220 and the enhanced Jam-Sync module 230 may operate within the processor 510 or alternatively be supported in the application circuitry 520. The computing device 500 may be any type of computing device that includes application circuitry requiring a client wall-clock to produce a timing signal. Some examples of computing device include, without limitation, a personal computer, a data center server, a router, an IP telephony device, a cellular phone, and a personal digital assistant. The more likely instantiation is in embedded computing devices with built-in timestamp and clock support. These computing devices find general application is telecommunication and industrial applications required client synchronization including DSL aggregators, passive optical network units (ONUs), wireless base stations, and access points.
[0030] The present invention enables the computing device 500 to
- Receive data through either one of the two operating modes: TWTT mode or the OWTT mode.
- Extract a frequency reference carried in the physical layer of the incoming signal, such as NTR or synchronous Ethernet.
- Stabilize the local oscillator and obtain the local time-base accurate to 1 part in 10'11 by synchronizing the local oscillator with the frequency reference extracted from the physical layer of the incoming signal.
- Assist the enhanced Jam-Sync module operation with a stabilized local oscillator in determining an estimate of the overall clock correction using enhanced Jam-Sync method by performing the steps of
o Launching the client-to-server packet at the start time of the next periodic transaction (in the TWTT mode);
o Waiting for the reception of valid server-to-client response packet ; o Initializing the values of the progression of the client wall-clock over time and of the two estimates of the constant offset between the true time-of- day and the STC output based on the forward and reverse transmissions with the exact initialization process determine by the operating mode;
o In the TWTT mode, performing iterations to derive the two estimates of the constant offset between the true time-of-day and the STC output based on the forward and reverse transmissions;
o In the TWTT mode, calculating an overall estimate of the clock correction as the average of the forward and reverse estimates;
- Adjust the STC depending on the operating mode.
- Add the estimated clock correction value to the STC output to obtain an accurate time-of-day from the client wall-clock.
[0031] One advantage of the disclosed methods is that control of the client wall- clock may be achieved by extracting and utilizing the frequency reference contained in the physical layer of the incoming signal, such as Network Timing Reference (NTR) and synchronous Ethernet. By stabilizing the local oscillator with the extracted frequency reference, local time-base with an accuracy of 1x10"11 may be achieved. An accurate local time-base, in turn, enables a method for obtaining the clock correction value that is simpler and more reliable than the prior art methods. The disclosed enhanced Jam-Sync method includes the steps of performing iterations to derive the estimates of the time offset between the true time-of-day and the STC in forward and reverse directions of data transmission and calculating an overall estimate of the clock correction. As a result, time-of-day information at the client wall- clocks can be generated with lower cost, lower power oscillators without adding the burden to the servers, thereby reducing costs for both the servers and the clients.
[0032] The present invention can be implemented in hardware or software, with the software being delivered as a program product for use with a computer system. The program(s) of the program product defines functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive) on which information is permanently stored; (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive) on which alterable information is stored. Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the present invention, are embodiments of the present invention.
[0033] While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof.

Claims

The invention claimed is:
1. A method for operating a client wall-clock to obtain time-of-day information, the method comprising: receiving an incoming signal from at least one server, wherein the incoming signal contains at least one packet, the packet including one or more server time stamps; extracting the server time stamps from the received packet; associating a terminating client time stamp with the received packet; extracting a frequency reference carried in a physical layer of the incoming signal; stabilizing a local oscillator by synchronizing the local oscillator with the frequency reference; determining a clock correction value using an enhanced Jam-Sync method, wherein the enhanced Jam-Sync method includes the following: waiting for a reception of a valid server-to-client packet, initializing a first value of the progression of the client wall-clock over time, initializing a second value of at least one estimate of the constant offset between the true time-of-day and a System Time Clock (STC) output, calculating the clock correction value, adjusting the STC; and adding the clock correction value to the STC output to obtain the time-of-day information.
2. The method according to claim 1 , wherein the incoming signal is received through a one-way time transfer (OWTT) mode.
3. The method according to claim 2, wherein the clock correction value is set to an externally provided static compensation value.
4. The method according to claim 1 , wherein the incoming signal is received through a two-way time transfer (TWTT) mode.
5. The method according to claim 4, wherein the enhanced Jam-Sync method also includes following steps: launching a client-to-server packet at a start time of a next periodic transaction, wherein the client-to-server packet includes an originating client time stamp, the originating client time stamp associated with the received packet; performing iterations to derive two estimates of the constant offset between the true time-of-day, wherein the two estimates are based on a forward and a reverse transmissions; and calculating the clock correction value as an average of the estimates of the constant offset based on the forward and the reverse transmissions.
6. The method according to claim 1 , comprising receiving incoming signals from two or more servers and choosing the server that has the minimum delay for each transmission direction.
7. A computing device for operating a client wall-clock to obtain time-of-day information, the computing device comprising: memory; and processor coupled to the memory, that has a client wall-clock configured to: receive an incoming signal from at least one server, wherein the incoming signal contains at least one packet, the packet including one or more server time stamps, extract the server time stamps from the received packet, associate a terminating client time stamp with the received packet, and add a clock correction value to an System Time Clock (STC) output, wherein the client wall-clock includes: a local oscillator, a system time clock (STC), a physical layer synchronization module configured to: extract a frequency reference carried in a physical layer of an incoming signal; and stabilize the local oscillator by synchronizing the local oscillator with the frequency reference, an enhanced Jam-Sync module configured to determine the clock correction value using an enhanced Jam-Sync method by performing the steps of: waiting for a reception of a valid server-to-client packet; initializing a first value of the progression of the client wall-clock over time; initializing a second value of at least one estimate of the constant offset between the true time-of-day and a System Time Clock
(STC) output; calculating the clock correction value; and adjusting the STC.
8. The computing device according to claim 7, wherein the incoming signal is received through a one-way time transfer (OWTT) mode.
9. The computing device according to claim 8, wherein the clock correction value is set to an externally provided static compensation value.
10. The computing device according to claim 7, wherein the incoming signal is received through a two-way time transfer (TWTT) mode.
11. The computing device according to claim 10, wherein the enhanced Jam-Sync method also includes following steps: launching a client-to-server packet at a start time of a next periodic transaction, wherein the client-to-server packet includes an originating client time stamp, the originating client time stamp associated with the received packet; performing iterations to derive two estimates of the constant offset between the true time-of-day, wherein the two estimates are based on a forward and a reverse transmissions; calculating the clock correction value as an average of the estimates of the constant offset based on the forward and the reverse transmissions.
12. The computing device according to claim 7, wherein the client wall-clock is further configured to: receive incoming signals from two or more servers; and choose a server that has the minimum delay for each transmission direction.
13. The computing device according to claim 7, wherein the frequency reference is extracted from the Network Timing Reference (NTR).
14. The computing device according to claim 7, wherein the frequency reference is extracted from the synchronous Ethernet.
15. A computer-readable storage medium containing instructions for controlling a computer system to operate a client wall-clock to obtain time-of-day information, by a method comprising: receiving an incoming signal from at least one server, wherein the incoming signal contains at least one packet, the packet including one or more server time stamps; extracting the server time stamps from the received packet; associating a terminating client time stamp with the received packet; extracting a frequency reference carried in a physical layer of the incoming signal; storing the frequency reference; stabilizing a local oscillator by synchronizing the local oscillator with the frequency reference; determining a clock correction value using an enhanced Jam-Sync method, wherein the enhanced Jam-Sync method includes the following: waiting for a reception of a valid server-to-client packet, initializing a first value of the progression of the client wall-clock over time, initializing a second value of at least one estimate of the constant offset between the true time-of-day and a System Time Clock (STC) output, calculating the clock correction value, adjusting the STC; storing the clock correction value; adding the clock correction value to the STC output to obtain the time-of-day information; and displaying to a user the time-of-day information.
16. The computer-readable storage medium according to claim 15, wherein the incoming signal is received through a one-way time transfer (OWTT) mode and the clock correction value is set to an externally provided static compensation value.
17. The computer-readable storage medium according to claim 15, wherein the incoming signal is received through a two-way time transfer (TWTT) mode and the enhanced Jam-Sync method also includes following steps: launching a client-to-server packet at a start time of a next periodic transaction, wherein the client-to-server packet includes an originating client time stamp, the originating client time stamp associated with the received packet; performing iterations to derive two estimates of the constant offset between the true time-of-day, wherein the two estimates are based on a forward and a reverse transmissions; calculating the clock correction value as an average of the estimates of the constant offset based on the forward and the reverse transmissions.
18. The computer-readable storage medium according to claim 15, wherein the client wall-clock is further configured to: receive incoming signals from two or more servers; and choose a server that has the minimum delay for each transmission direction.
19. The computer-readable storage medium according to claim 15, wherein the frequency reference is extracted from the Network Timing Reference (NTR).
20. The computer-readable storage medium according to claim 15, wherein the frequency reference is extracted from the synchronous Ethernet.
PCT/US2007/062452 2007-02-20 2007-02-20 Assisted wall-clock WO2008103170A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2007/062452 WO2008103170A1 (en) 2007-02-20 2007-02-20 Assisted wall-clock

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2007/062452 WO2008103170A1 (en) 2007-02-20 2007-02-20 Assisted wall-clock

Publications (1)

Publication Number Publication Date
WO2008103170A1 true WO2008103170A1 (en) 2008-08-28

Family

ID=38570289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/062452 WO2008103170A1 (en) 2007-02-20 2007-02-20 Assisted wall-clock

Country Status (1)

Country Link
WO (1) WO2008103170A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2352250A1 (en) * 2008-11-29 2011-08-03 ZTE Corporation Time synchronization method and apparatus
EP2416519A1 (en) * 2009-04-02 2012-02-08 Huawei Technologies Co., Ltd. Time synchronization device, method and system
US9277256B2 (en) 2010-06-11 2016-03-01 Net Insight Intellectual Property Ab Node and system for a synchronous network
EP2991261A1 (en) * 2011-05-31 2016-03-02 NEC Corporation Synchronization device and synchronization method
CN107147462A (en) * 2017-04-18 2017-09-08 福建天泉教育科技有限公司 A kind of clock correcting method and system
CN112968748A (en) * 2021-04-14 2021-06-15 中国人民解放军海军航空大学岸防兵学院 Software synchronization error compensation method, system, medium, and apparatus
CN115981130A (en) * 2023-01-09 2023-04-18 哈尔滨工程大学 Underwater target time service method based on Doppler compensation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054661A1 (en) * 2000-12-28 2002-07-11 Abb Research Ltd. Method for synchronization in a local area network including a store-and-forward device
US20020116361A1 (en) * 2000-08-15 2002-08-22 Sullivan Gary J. Methods, systems and data structures for timecoding media samples
US6532274B1 (en) * 1999-01-12 2003-03-11 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization method and arrangement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532274B1 (en) * 1999-01-12 2003-03-11 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization method and arrangement
US20020116361A1 (en) * 2000-08-15 2002-08-22 Sullivan Gary J. Methods, systems and data structures for timecoding media samples
WO2002054661A1 (en) * 2000-12-28 2002-07-11 Abb Research Ltd. Method for synchronization in a local area network including a store-and-forward device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MILLS D L: "INTERNET TIME SYNCHRONIZATION: THE NETWORK TIME PROTOCOL", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 39, no. 10, 1 October 1991 (1991-10-01), pages 1482 - 1493, XP000275311, ISSN: 0090-6778 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2352250A1 (en) * 2008-11-29 2011-08-03 ZTE Corporation Time synchronization method and apparatus
EP2352250A4 (en) * 2008-11-29 2012-11-14 Zte Corp Time synchronization method and apparatus
EP2416519A1 (en) * 2009-04-02 2012-02-08 Huawei Technologies Co., Ltd. Time synchronization device, method and system
EP2416519A4 (en) * 2009-04-02 2012-05-23 Huawei Tech Co Ltd Time synchronization device, method and system
US8625641B2 (en) 2009-04-02 2014-01-07 Huawei Technologies Co., Ltd. Apparatus, method, and system for synchronizing time
US9277256B2 (en) 2010-06-11 2016-03-01 Net Insight Intellectual Property Ab Node and system for a synchronous network
EP2991261A1 (en) * 2011-05-31 2016-03-02 NEC Corporation Synchronization device and synchronization method
US9763207B2 (en) 2011-05-31 2017-09-12 Nec Corporation Timing synchronization device and timing synchronization control method
CN107147462A (en) * 2017-04-18 2017-09-08 福建天泉教育科技有限公司 A kind of clock correcting method and system
CN107147462B (en) * 2017-04-18 2019-01-15 福建天泉教育科技有限公司 A kind of clock correcting method and system
CN112968748A (en) * 2021-04-14 2021-06-15 中国人民解放军海军航空大学岸防兵学院 Software synchronization error compensation method, system, medium, and apparatus
CN115981130A (en) * 2023-01-09 2023-04-18 哈尔滨工程大学 Underwater target time service method based on Doppler compensation
CN115981130B (en) * 2023-01-09 2024-01-26 哈尔滨工程大学 Doppler compensation-based underwater target time service method

Similar Documents

Publication Publication Date Title
US8064484B2 (en) Enhanced clock control in packet networks
US8446896B2 (en) Time synchronization using packet-layer and physical-layer protocols
EP2410672B1 (en) Method and system for transmitting time in passive optical network
US8976778B2 (en) Time synchronization using packet-layer and physical-layer protocols
US9178637B2 (en) Method and devices for synchronization using linear programming
US8416812B2 (en) Network timing synchronization systems
WO2008103170A1 (en) Assisted wall-clock
US20150358700A1 (en) Apparatus and method for enabling a passive optical network on supporting time synchronization
US8819161B1 (en) Auto-syntonization and time-of-day synchronization for master-slave physical layer devices
Magee Synchronization in next-generation mobile backhaul networks
US20170063481A1 (en) Method and device for forwarding a clock synchronization message
CA2749427A1 (en) Method of synchronisation within a base station system
CN102231907A (en) Clock synchronization method and apparatus in transmission system
Ferrant et al. Evolution of the standards for packet network synchronization
AU757626B2 (en) Frame phase synchronous system and a method thereof
EP3080933B1 (en) Method and devices for synchronization using linear programming
WO2013161110A1 (en) Communication system, communication device and time information correction method
Peng et al. On the clock offset estimation in an improved IEEE 1588 synchronization scheme
Chin et al. IEEE 1588 clock synchronization using dual slave clocks in a slave
CN116566529A (en) Time adjustment method, network equipment and system
KR20160024782A (en) network synchronization apparatus and method on passive optical access network
Kordnooria et al. Time synchronization and IEEE 1588v2 solutions
Pravda et al. Precise time protocol in ethernet over SDH network
Busarovs et al. The research of frequency synchronization in carrier ethernet backhaul with synce technology
CN110492966A (en) A kind of method for synchronizing time of distribution protective relaying device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07757234

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07757234

Country of ref document: EP

Kind code of ref document: A1