KR20120116842A - System and method to overcome wander accumulation to achieve precision clock distribution over large networks - Google Patents
System and method to overcome wander accumulation to achieve precision clock distribution over large networks Download PDFInfo
- Publication number
- KR20120116842A KR20120116842A KR1020110089030A KR20110089030A KR20120116842A KR 20120116842 A KR20120116842 A KR 20120116842A KR 1020110089030 A KR1020110089030 A KR 1020110089030A KR 20110089030 A KR20110089030 A KR 20110089030A KR 20120116842 A KR20120116842 A KR 20120116842A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- master
- error
- slave
- regenerator
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000009825 accumulation Methods 0.000 title abstract description 8
- 230000004044 response Effects 0.000 claims description 24
- 238000012856 packing Methods 0.000 claims 1
- 108700009949 PTP protocol Proteins 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/027—Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
패킷 스위칭 네트워크에 걸쳐 클록을 동기화하기 위한 시스템 및 방법은 원더 누적(wander accumulation)을 제거하여 대형 네트워크에 걸친 정밀한 클록 분배를 가능하게 한다. 표준 정밀 시간 프로토콜(PTP) 동기화 메시지 또는 유사한 시간 동기화 메시지 이외에도, 각각의 클록 재생성기 스테이지는 이전의 스테이지로부터 총괄 클록 오차 메시지를 수신하고, 이러한 오차 메시지를 자기 자신의 스테이지 클록 오차로 갱신하며, 갱신된 총괄 클록 오차를 다음 스테이지로 송신한다. 이는 이전 스테이지의 오차를 보상하기 위한 동기화 알고리즘을 가능하게 하여, 효과적으로 각각의 클록 재생성기가 직접 총괄 마스터 클록에 고정되도록 한다.Systems and methods for synchronizing clocks across a packet switching network eliminate the need for accumulation and enable precise clock distribution across large networks. In addition to the standard precision time protocol (PTP) synchronization message or similar time synchronization message, each clock regenerator stage receives a generic clock error message from a previous stage, updates this error message with its own stage clock error, and updates it. The aggregated clock error to be transmitted to the next stage. This enables a synchronization algorithm to compensate for the error of the previous stage, effectively allowing each clock regenerator to lock directly to the overall master clock.
Description
[우선권][preference]
본 출원은 2011년 4월 13일에 출원된 미국 임시 특허 출원 제61/475,080호에 대한 우선권을 35 U.S.C. §119(e)에 따라 주장하며, 상기 출원의 주제는 본 명세서에 그 전체가 참조로서 포함된다.This application claims priority to US Provisional Patent Application No. 61 / 475,080, filed April 13, 2011, entitled 35 U.S.C. Claimed under § 119 (e), the subject matter of which is incorporated herein by reference in its entirety.
본 발명은 일반적으로 패킷 스위칭(packet-switched) 네트워크 상에서의 클록 분배 분야와 관련된다. 보다 구체적으로, 본 발명은 높은 정밀도로 대형 네트워크에 걸쳐 클록 신호가 분배될 수 있도록 원더 누적(wander accumulation)을 극복하기 위한 시스템 및 방법과 관련된다.The present invention generally relates to the field of clock distribution on packet-switched networks. More specifically, the present invention relates to systems and methods for overcoming wonder accumulation such that clock signals can be distributed over large networks with high precision.
네트워크를 구성하는 요소들을 동기화하는 것은 양호한 네트워크 성능을 달성하기 위해 근본적으로 중요하다. 이는 모든 노드와 사용자가 서로 양호한 동기화를 유지할 것을 필요로 하는 원격 통신 시스템 및 제어 시스템의 경우 특히 그러하다. 더 많은 시스템이 인터넷 프로토콜(IP) 기반이 될수록, 고정밀 시간 분배에 대한 필요가 증가할 뿐이다.Synchronizing the elements that make up a network is fundamentally important to achieve good network performance. This is especially true for telecommunication systems and control systems where all nodes and users need to maintain good synchronization with each other. As more systems become Internet Protocol (IP) based, the need for high precision time distribution only increases.
일반적으로, 네트워크 상에서 클록을 동기화하는 것은 네트워크 전체에 걸쳐 마스터 클록(master clock)으로부터 다수의 슬레이브 클록(slave clock)으로 타이밍 정보를 분배할 것을 필요로 한다. 그러나, 가변적인 레이턴시(latency) 및 트래픽 의존적인 지연은 패킷 기반 네트워크의 맥락에서 이러한 분배 방안을 도전적으로 만든다. 따라서, 네트워크 요소의 패킷 기반 시간 동기화와 연관된 문제 중 다수에 대처하기 위한 하나의 방법으로서 정밀 시간 프로토콜(Precision Time Protocol) IEEE-1588 표준이 등장했다. PTP는 시간 패킷 및 데이터 패킷 트래픽이 허브(hub), 스위치, 케이블 및 네트워크를 이루는 다른 하드웨어를 통해 이동함에 따라 발생하는 시간 전송 레이턴시에 대처한다.In general, synchronizing clocks over a network requires distributing timing information from the master clock to multiple slave clocks throughout the network. However, variable latency and traffic dependent delay make this distribution scheme challenging in the context of packet-based networks. Accordingly, the Precision Time Protocol IEEE-1588 standard has emerged as one way to address many of the problems associated with packet-based time synchronization of network elements. PTP copes with time transfer latency that occurs as time packet and data packet traffic travels through hubs, switches, cables, and other hardware that forms a network.
PTP는 마스터-슬레이브 개념을 사용하여 동작한다. 마스터에는 원자 시계와 같은 고정밀 클록이 장비된다. 마스터 및 슬레이브 장치는 슬레이브 장치가 마스터 클록 기준(master clock reference)에 고정(lock)될 수 있게 하는 데이터 패킷을 교환한다. 예컨대, 도 1은 타이밍 정보를 전송하기 위한 기본 PTP 패킷 교환 프로세스를 기술한다. 마스터 유닛(102)은 규칙적인 간격으로 동기화 메시지(106)를 발송한다. 슬레이브 장치(104)는 타임 스탬프(time stamp)가 있는 동기화 메시지(106)를 수신하고, 즉각적으로 지연 요청 패킷(108)을 마스터(102)에 다시 발송한다. 이에 마스터는 지연 응답 패킷(110)으로 응답한다. 동기화 메시지의 수신은 슬레이브가 자신의 지역 시간축(timebase)을 마스터 클록의 주파수에 정렬할 수 있게 하고, 추가적인 지연 요청 및 지연 응답 패킷은 동기화를 완료하도록 슬레이브가 자신의 지역 클록 위상을 마스터 클록에 더 정렬할 수 있게 한다. 네트워크 시간 프로토콜(Network Time Protocol; NTP) 4판과 같은 다른 동기화 방법이 또한 본 기술 분야에서 사용된다. 구현 세부 사항은 PTP와 상이하지만, NTP 또한 동기화를 달성하기 위해 마스터로부터 슬레이브로의, 그리고 슬레이브로부터 마스터로의 타이밍 메시지 교환에 의존한다.PTP operates using the master-slave concept. The master is equipped with a high precision clock such as an atomic clock. The master and slave devices exchange data packets that allow the slave device to lock to a master clock reference. For example, Figure 1 describes a basic PTP packet exchange process for transmitting timing information. The master unit 102 sends a synchronization message 106 at regular intervals. The slave device 104 receives the synchronization message 106 with a time stamp and immediately sends a delay request packet 108 back to the master 102. In response, the master responds with a delay response packet 110. Receiving a synchronization message allows the slave to align its local timebase with the frequency of the master clock, and additional delay request and delay response packets add the slave's local clock phase to the master clock to complete the synchronization. Enable sorting. Other synchronization methods, such as the Network Time Protocol (NTP) 4th Edition, are also used in the art. Implementation details differ from PTP, but NTP also relies on timing message exchanges from master to slave and from slave to master to achieve synchronization.
위에서 기술된 바처럼 마스터 클록에 고정된 슬레이브 클록은 보통 클록(ordinary clock)이라고 알려져 있다. PTP 프로토콜은 또한 경계 클록(boundary clock)을 정의한다. 경계 클록은 보통 클록으로서 기능하지만, 이밖에도 또한 다른 다운스트림(downstream) 보통 또는 경계 클록에 대해 마스터 클록으로서의 역할을 한다. 따라서, 이러한 경계 클록의 연쇄는 매우 큰 네트워크에 걸쳐 총괄 마스터 클록 기준(grand master clock reference)을 분배하기 위한 방법을 제공한다. 예컨대, 도 2는 4개의 경계 클록(204, 206, 208 및 210)으로 네트워킹된 총괄 마스터 클록(202)을 도시한다. 총괄 마스터 클록(202) 및 제1 경계 클록(204)은 제1 경계 클록(204)을 마스터 클록(202)에 위상 고정시키기 위해 PTP 패킷들(212)을 교환한다. 경계 클록(206)은 동일한 방식으로 PTP 패킷 교환(214)을 통해 경계 클록(204)에 고정된다. 제3 및 제4 경계 클록(208 및 210)은 동일한 방식으로 PTP 패킷들(216 및 218)의 교환에 의해 선행하는 경계 클록에 고정된다. 마지막 경계 클록(210)은 따라서 모든 중간 경계 클록들을 통해 총괄 마스터 클록(202)에 고정된다.As described above, the slave clock fixed to the master clock is known as an ordinary clock. The PTP protocol also defines a boundary clock. The boundary clock normally functions as a clock, but in addition it also serves as a master clock for other downstream normal or boundary clocks. Thus, such a chain of boundary clocks provides a method for distributing grand master clock references across very large networks. For example, FIG. 2 shows the collective master clock 202 networked with four boundary clocks 204, 206, 208 and 210. The overall master clock 202 and the first boundary clock 204 exchange PTP packets 212 to phase lock the first boundary clock 204 to the master clock 202. The boundary clock 206 is fixed to the boundary clock 204 via the PTP packet exchange 214 in the same manner. The third and fourth boundary clocks 208 and 210 are fixed to the preceding boundary clock by the exchange of PTP packets 216 and 218 in the same manner. The last boundary clock 210 is thus fixed to the overall master clock 202 through all intermediate boundary clocks.
이러한 방법은 연쇄 내의 경계 클록의 개수가 매우 적은 일부 응용예에 대해 잘 작용하지만, 많은 다른 응용예에 대해서는 충분한 정밀도를 달성하지 못한다. 이러한 아키텍처의 문제는 각각의 경계 클록이 소정의 양의 클록 오차를 도입한다는 것이다. 각각의 경계 클록에 의해 도입된 오차는 연쇄 내의 다음 경계 클록을 따라 전달되어 전체 오차가 계속 늘어나게 한다. 분배 연쇄 내의 뒤쪽 클록들의 경우 오차가 수용 불가능한 크기로 늘어날 수 있다. 이러한 문제는 많은 경계 클록 스테이지(stage)를 포함할 수 있는 매우 큰 네트워크의 경우에 특히 심각하다. 따라서, 경계 클록 오차의 누적을 제거하여 대형 네트워크 상에서 정밀한 클록 분배를 가능하기 하기 위한 시스템 및 방법을 제공하는 것이 유리할 것이다.This method works well for some applications where the number of boundary clocks in the chain is very small, but does not achieve sufficient precision for many other applications. The problem with this architecture is that each boundary clock introduces a certain amount of clock error. The error introduced by each boundary clock is propagated along the next boundary clock in the chain so that the overall error continues to increase. For the back clocks in the distribution chain, the error can increase to an unacceptable size. This problem is particularly acute in the case of very large networks that may involve many boundary clock stages. Thus, it would be advantageous to provide a system and method for eliminating the accumulation of boundary clock errors to enable precise clock distribution over large networks.
본 발명은 원더 누적을 극복하기 위해 클록 재생성기를 동기화하기 위한 시스템 및 방법과 관련된다. 클록 재생성기의 예는 패킷 스위칭 인터넷 프로토콜 네트워크에서의 경계 클록이다. 그러나, 본 시스템 및 방법은 원격 통신 네트워크 및 정밀한 시간 분배를 필요로 하는 임의의 다른 유형의 네트워크에 동등하게 적용될 수 있다.The present invention relates to a system and method for synchronizing clock regenerators to overcome wonder accumulation. An example of a clock regenerator is a boundary clock in a packet switched internet protocol network. However, the present systems and methods may equally be applied to telecommunication networks and any other type of network that requires precise time distribution.
본 발명에 따른 네트워크에서 사용하기 위한 클록 동기화 시스템의 실시예는 정밀 타이밍 소스(source)를 갖는 총괄 마스터 클록 및 적어도 제1 및 제2 클록 재생성기를 포함한다. 제1 클록 재생성기는 총괄 마스터 클록에 결합되고, 제1 지역 클록 및 제1 지역 클록을 총괄 마스터 클록에 동기화하기 위한 제1 동기화 처리 유닛을 포함한다. 제1 동기화 처리 유닛은 총괄 마스터 클록으로부터 마스터 대 슬레이브 메시지를 수신하고 슬레이브 대 마스터 메시지를 다시 마스터 클록에 발송하도록 구성된다. 동기화 처리 유닛은 이러한 메시지들을 사용하여 제1 마스터 대 슬레이브 경로 지연 및 제1 슬레이브 대 마스터 경로 지연을 계산한다. 제1 동기화 처리 유닛은 제1 슬레이브 대 마스터 경로 지연과 제1 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 제1 스테이지 클록 오차를 계산하도록 더 구성된다. 제1 동기화 처리 유닛은 제1 스테이지 클록 오차와 총괄 클록 기선(baseline) 오차의 합인 제1 총괄 클록 오차를 계산하도록 더 구성된다. 총괄 클록 기선 오차는 0으로 정의된다. 일부 실시예에서, 총괄 마스터 클록은 총괄 클록 기선 오차를 제1 클록 재생성기에 발송하도록 구성된다. 그러나 다른 실시예에서는 총괄 클록 기선 오차가 제1 클록 재생성기 자체에 의해 생성된다. 제1 동기화 처리 유닛은 제1 스테이지 클록 오차 및 총괄 클록 기선 오차를 사용하여 제1 지역 클록을 총괄 마스터 클록에 동기화하도록 더 구성된다.Embodiments of a clock synchronization system for use in a network according to the present invention include a general master clock with a precision timing source and at least first and second clock regenerators. The first clock regenerator is coupled to the overall master clock and includes a first synchronization processing unit for synchronizing the first local clock and the first local clock to the overall master clock. The first synchronization processing unit is configured to receive a master to slave message from the collective master clock and send the slave to master message back to the master clock. The synchronization processing unit uses these messages to calculate the first master to slave path delay and the first slave to master path delay. The first synchronization processing unit is further configured to calculate a first stage clock error that is one half of the difference between the first slave to master path delay and the first master to slave path delay. The first synchronization processing unit is further configured to calculate a first global clock error that is the sum of the first stage clock error and the global clock baseline error. The global clock baseline error is defined as zero. In some embodiments, the overall master clock is configured to send an overall clock baseline error to the first clock regenerator. However, in other embodiments, the global clock baseline error is generated by the first clock regenerator itself. The first synchronization processing unit is further configured to synchronize the first local clock to the overall master clock using the first stage clock error and the overall clock baseline error.
동기화 메시지 및 지연 응답 메시지가 PTP 프로토콜을 참조하여 논의되지만, 본 발명은 이러한 표준을 구현하는 시스템으로 한정되지 않음을 이해해야 한다. 본 명세서에서 논의되는 동기화 및 지연 응답 메시지는 유사한 방식으로 동기화를 달성하는 다른 메시지 형식 및 프로토콜을 포괄하도록 의도된다. 예컨대, 본 명세서에서 기술되는 시스템 및 방법은 "네트워크 시간 프로토콜"(NTP) 4판 및 다른 유사한 방법과 같은 시간 동기화를 위한 유사한 프로토콜 및 메커니즘에 동등하게 적용된다.While synchronization messages and delayed response messages are discussed with reference to the PTP protocol, it should be understood that the present invention is not limited to systems implementing such standards. Synchronization and delay response messages discussed herein are intended to encompass other message formats and protocols for achieving synchronization in a similar manner. For example, the systems and methods described herein apply equally to similar protocols and mechanisms for time synchronization, such as the "Network Time Protocol" (NTP) 4th Edition and other similar methods.
본 실시예는 제1 클록 재생성기에 동작가능하게 결합되고 제2 지역 클록 및 제2 동기화 처리 유닛을 포함하는 제2 클록 재생성기를 더 포함한다. 제2 동기화 처리 유닛은 제1 클록 재생성기로부터 동기화 메시지 및 지연 응답 메시지를 수신하도록 구성된다. 이는 제1 클록 재생성기로부터 제1 총괄 클록 오차를 수신하도록 더 구성된다. 제2 동기화 처리 유닛은 동기화 및 지연 응답 메시지로부터의 정보에 기초하여 제2 스테이지 클록 오차를 계산하도록 더 구성된다. 이는 제2 스테이지 클록 오차 및 제1 총괄 클록 오차에 적어도 부분적으로 기초하여 제2 지역 클록을 총괄 마스터 클록에 동기화하도록 구성된다.The embodiment further includes a second clock regenerator operatively coupled to the first clock regenerator and including a second local clock and a second synchronization processing unit. The second synchronization processing unit is configured to receive the synchronization message and the delay response message from the first clock regenerator. It is further configured to receive a first global clock error from the first clock regenerator. The second synchronization processing unit is further configured to calculate a second stage clock error based on the information from the synchronization and delay response message. It is configured to synchronize the second local clock to the overall master clock based at least in part on the second stage clock error and the first overall clock error.
일부 실시예에서, 총괄 클록 오차는 클록 재생성기 내의 저장 및 상이한 클록 재생성기들 사이에서의 전달을 위해 양자화될 필요가 있다. 총괄 클록 오차는 소정의 수준으로 그 정밀도를 유지하면서 시스템 자원을 절약하기 위해 64 비트로, 32 비트로, 또는 더 적게 양자화될 수 있다. 다른 실시예에서, 각각의 총괄 클록 오차는 PTP 표준에서 정의되는 TLV 확장의 범위 내의 지연 응답 메시지와 같은 기존의 PTP 메시지들 중 하나와 함께 패키징(package)될 수 있고, 이들이 단일 메시지의 일부로서 함께 발송되도록 다음 클록 재생성기 스테이지에 발송될 수 있다.In some embodiments, the overall clock error needs to be quantized for storage in the clock regenerator and transfer between different clock regenerators. The aggregate clock error can be quantized to 64 bits, 32 bits, or less to save system resources while maintaining their precision at a predetermined level. In another embodiment, each global clock error may be packaged together with one of the existing PTP messages, such as a delay response message within the scope of the TLV extension defined in the PTP standard, which are together as part of a single message. Can be sent to the next clock regenerator stage to be sent.
일부 실시예에서, 클록 재생성기 스테이지 내의 처리 요소는 속도 제어 유닛을 포함한다. 속도 제어 유닛은 클록 재생성기 스테이지에서 계산되는 총괄 클록 오차가 다음 클록 재생성기에 송신되는 빈도를 선택적으로 제어한다. 총괄 클록 오차가 송신되는 속도는 고정 속도 또는 가변 속도일 수 있다.In some embodiments, the processing element in the clock regenerator stage includes a speed control unit. The speed control unit selectively controls the frequency at which the overall clock error calculated at the clock regenerator stage is transmitted to the next clock regenerator. The rate at which the aggregate clock error is transmitted may be a fixed rate or a variable rate.
다른 실시예에서, 클록 재생성기 스테이지 내의 처리 요소는 타임아웃(time-out) 유닛을 더 포함한다. 타임아웃 유닛은 이전의 스테이지로부터 수신된 총괄 클록 오차를 저장하기 위한 메모리 및 타임아웃 카운터(counter)를 포함하도록 구성된다. 타임아웃 카운터는 총괄 클록 오차가 이전의 스테이지로부터 수신될 때마다 초기값으로 리셋된다. 이후 타임아웃 카운터는 고정 속도로 초기값으로부터 카운트다운한다. 메모리에 저장된 총괄 클록 오차는 타임아웃 카운터가 0에 도달하지 않는 한 그 클록 재생성기 스테이지를 동기화하는 데 사용될 것이다. 달리 말해, 타임아웃 유닛은 클록 재생성기가 특정한 구성 가능 시간보다 오래되지 않은 총괄 클록 오차 신호를 사용하고 있음을 보장한다.In another embodiment, the processing element in the clock regenerator stage further includes a time-out unit. The timeout unit is configured to include a memory and a timeout counter for storing the aggregate clock error received from the previous stage. The timeout counter is reset to its initial value whenever a global clock error is received from the previous stage. The timeout counter then counts down from the initial value at a fixed rate. The total clock error stored in memory will be used to synchronize the clock regenerator stage unless the timeout counter reaches zero. In other words, the timeout unit ensures that the clock regenerator is using the aggregate clock error signal no later than a certain configurable time.
본 발명에 따른 네트워크에서 총괄 마스터 클록과 N개(N은 1보다 큰 정수)의 클록 재생성기를 동기화하기 위한 방법의 실시예는 아래에서 기술되는 단계들을 포함한다. 본 방법은 총괄 마스터 클록으로부터 제1 클록 재생성기로 동기화 메시지를 발송하고 총괄 마스터 클록으로부터 제1 클록 재생성기로 지연 응답 메시지를 발송하는 단계를 포함한다. 제1 클록 재생성기에서, 본 방법은 동기화 메시지에 적어도 부분적으로 기초하여 제1 마스터 대 슬레이브 경로 지연을 계산하는 단계; 지연 응답 메시지에 적어도 부분적으로 기초하여 제1 슬레이브 대 마스터 경로 지연을 계산하는 단계; 제1 슬레이브 대 마스터 경로 지연과 제1 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 제1 스테이지 클록 오차를 계산하는 단계; 제1 스테이지 클록 오차와 총괄 클록 기선 오차의 합인 제1 총괄 클록 오차를 생성하는 단계(총괄 클록 기선 오차는 0으로 설정됨); 및 제1 스테이지 클록 오차 및 총괄 클록 기선 오차에 적어도 부분적으로 기초하여 제1 클록 재생성기를 총괄 마스터 클록에 동기화하는 단계를 포함한다.An embodiment of the method for synchronizing N master clocks with N (N is an integer greater than 1) clock in a network according to the invention comprises the steps described below. The method includes sending a synchronization message from the master master clock to the first clock regenerator and sending a delay response message from the master master clock to the first clock regenerator. In a first clock regenerator, the method includes calculating a first master to slave path delay based at least in part on a synchronization message; Calculating a first slave to master path delay based at least in part on the delay response message; Calculating a first stage clock error that is one half of the difference between the first slave to master path delay and the first master to slave path delay; Generating a first global clock error that is the sum of the first stage clock error and the global clock baseline error (the global clock baseline error is set to zero); And synchronizing the first clock regenerator to the overall master clock based at least in part on the first stage clock error and the overall clock baseline error.
유사한 프로세스가 각각의 클록 재생성기 스테이지에서 이어진다. 예컨대, k번째(k는 1과 N 사이의 정수) 클록 재생성기에서, 본 방법은 k-1번째 클록 재생성기로부터 동기화 메시지를 수신하는 단계; k-1번째 클록 재생성기로부터 지연 응답 메시지를 수신하는 단계; k-1번째 클록 재생성기로부터 k-1번째 총괄 클록 오차를 수신하는 단계; k-1번째 클록 재생성기로부터의 동기화 메시지에 적어도 부분적으로 기초하여 k번째 마스터 대 슬레이브 경로 지연을 계산하는 단계; k-1번째 클록 재생성기로부터의 지연 응답 메시지에 적어도 부분적으로 기초하여 k번째 슬레이브 대 마스터 경로 지연을 계산하는 단계; k번째 슬레이브 대 마스터 경로 지연과 k번째 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 k번째 스테이지 클록 오차를 계산하는 단계; k번째 스테이지 클록 오차와 k-1번째 총괄 클록 오차의 합인 k번째 총괄 클록 오차를 계산하는 단계; 및 k번째 스테이지 클록 오차 및 k-1번째 총괄 클록 오차에 적어도 부분적으로 기초하여 k번째 클록 재생성기를 총괄 마스터 클록에 동기화하는 단계를 포함한다.Similar processes follow at each clock regenerator stage. For example, in a k-th (k is an integer between 1 and N) clock regenerator, the method includes receiving a synchronization message from a k-1 th clock regenerator; receiving a delay response message from a k-1 th clock regenerator; receiving a k-1 th overall clock error from a k-1 th clock regenerator; calculating a k-th master to slave path delay based at least in part on the synchronization message from the k-th clock regenerator; calculating a kth slave to master path delay based at least in part on a delay response message from the k−1 th clock regenerator; calculating a k th stage clock error that is one half of the difference between the k th slave to master path delay and the k th master to slave path delay; calculating a k th overall clock error, which is the sum of the k th stage clock error and the k-1 th overall clock error; And synchronizing the k-th clock regenerator to the overall master clock based at least in part on the k-th stage clock error and the k-1 th overall clock error.
그리고 마지막으로, N번째(마지막) 클록 재생성기에서, 본 방법은 N-1번째 클록 재생성기로부터 동기화 메시지를 수신하는 단계; N-1번째 클록 재생성기로부터 지연 응답 메시지를 수신하는 단계; N-1번째 클록 재생성기로부터 N-1번째 총괄 클록 오차를 수신하는 단계; N-1번째 클록 재생성기로부터의 동기화 메시지에 적어도 부분적으로 기초하여 N번째 마스터 대 슬레이브 경로 지연을 계산하는 단계; N-1번째 클록 재생성기로부터의 지연 응답 메시지에 적어도 부분적으로 기초하여 N번째 슬레이브 대 마스터 경로 지연을 계산하는 단계; N번째 슬레이브 대 마스터 경로 지연과 N번째 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 N번째 스테이지 클록 오차를 계산하는 단계; 및 N번째 스테이지 클록 오차 및 N-1번째 총괄 클록 오차에 적어도 부분적으로 기초하여 N번째 클록 재생성기를 총괄 마스터 클록에 동기화하는 단계를 포함한다. 이러한 방법은 N개의 클록 재생성기 각각이 총괄 마스터 클록에 직접 동기화될 수 있도록 한다.And finally, at the N-th (last) clock regenerator, the method includes receiving a synchronization message from the N-th clock regenerator; Receiving a delay response message from the N-1 < th > clock regenerator; Receiving an N-1 th overall clock error from an N-1 th clock regenerator; Calculating an N-th master to slave path delay based at least in part on the synchronization message from the N-th clock regenerator; Calculating an Nth slave to master path delay based at least in part on a delay response message from the N-1th clock regenerator; Calculating an Nth stage clock error that is one half of the difference between the Nth slave to master path delay and the Nth master to slave path delay; And synchronizing the N th clock regenerator to the overall master clock based at least in part on the N th stage clock error and the N-1 th overall clock error. This method allows each of the N clock regenerators to be synchronized directly to the overall master clock.
본 발명에 따라 총괄 마스터 클록과 N개의 클록 재생성기를 동기화하는 방법의 다른 실시예는 총괄 마스터 클록이 총괄 클록 기선 오차를 생성하고 이를 제1 클록 재생성기에 발송하도록 구성하는 단계를 포함할 수 있다. 상이한 실시예는 제1 클록 재생성기에서 총괄 클록 기선 오차를 생성하는 단계를 포함할 수 있다. 그리고 일부 실시예는 시스템 자원을 절약하기 위해 각각의 클록 재생성기에서 총괄 클록 오차를 32 비트로 또는 더 적게 양자화하는 단계를 포함할 수 있다.Another embodiment of a method for synchronizing N master clock regenerators with a master master clock may include configuring the master master clock to generate an overall clock baseline error and send it to the first clock regenerator. . Different embodiments may include generating an aggregate clock baseline error in the first clock regenerator. And some embodiments may include quantizing the global clock error to 32 bits or less in each clock regenerator to save system resources.
본 발명에 따른 다른 실시예 및 응용예는 바람직한 실시예에 관한 아래의 상세한 설명 및 첨부된 도면들을 고찰함으로써 또한 자명해질 것이며, 도면들이 먼저 간략하게 기술될 것이다.Other embodiments and applications according to the present invention will also become apparent by considering the following detailed description of the preferred embodiment and the accompanying drawings, which will first be described briefly.
도 1은 PTP 프로토콜의 구현예에서 마스터와 슬레이브 노드 사이의 전형적인 동기화 패킷 교환을 도시하는 도면.
도 2는 PTP 프로토콜의 전형적인 구현예에 따라 몇몇 클록 재생성기를 마스터 클록에 동기화하는 것을 도시하는 블록도.
도 3은 본 발명에 따른 클록 동기화 시스템의 실시예에 관한 블록도.1 illustrates an exemplary synchronization packet exchange between a master and a slave node in an implementation of the PTP protocol.
2 is a block diagram illustrating synchronizing several clock regenerators to a master clock in accordance with an exemplary implementation of the PTP protocol.
3 is a block diagram of an embodiment of a clock synchronization system in accordance with the present invention.
본 발명은 대형 네트워크에 걸친 정밀한 클록 분배를 가능하게 하기 위해 네트워크에서 원더 누적을 제거하기 위한 장치 및 방법을 제공한다. 각각의 경계 클록이 선행하는 경계 클록에 직접 동기화되고 따라서 총괄 마스터 클록에 간접적으로 동기화되는 표준 PTP 네트워크와는 달리, 본 발명에 따른 네트워크의 실시예는 네트워크를 통해 추가적인 오차 신호를 분배함으로써 각각의 클록 재생성기를 총괄 마스터 기준 자체에 효과적으로 동기화시킨다.The present invention provides an apparatus and method for removing wonder accumulation in a network to enable precise clock distribution across a large network. Unlike standard PTP networks, where each boundary clock is synchronized directly to the preceding boundary clock and thus indirectly to the overall master clock, embodiments of the network according to the present invention provide each clock by distributing additional error signals through the network. The regenerator is effectively synchronized to the overall master criteria itself.
도 3은 본 발명의 실시예에 따른 클록 동기화 시스템의 블록도이다. 이 실시예가 경계 클록을 포함하는 PTP 네트워크를 참조하여 기술되지만, 이는 총괄 마스터 클록 기준에 동기화될 클록 재생성기를 포함하는 다른 유형의 네트워크에 일반적으로 적용될 수 있다. 총괄 마스터 클록(302)은 네트워크가 동기화될 주요 정밀 타이밍 소스를 포함한다. 제1 경계 클록(304)은 통상적인 PTP 슬레이브 동기화 알고리즘(320) 및 표준 PTP 패킷 교환(322)을 사용하여 총괄 마스터(302)에 고정된다. 제1 경계 클록(304)은 바로 이전의 클록(이 경우 총괄 마스터)에 대한 자신의 클록 오차를 계산하고, 자신의 "스테이지 클록 오차"(314)를 생성한다. 표준 PTP 구현예에서, 이러한 스테이지 클록 오차는 경계 클록 스테이지의 위상 고정 루프를 구동하는 데 직접 사용될 것이다. 그러나, 이러한 경우, 경계 클록(304)은 또한 추가적인 "총괄 클록 오차" 신호(312)를 수신한다. 이러한 총괄 클록 오차 신호는 스테이지 클록 오차(314)와 합산되어 316에서 위성 고정 루프를 구동하기 위한 조합 클록 오차를 생성하고, 상기 합은 또한 갱신된 총괄 클록 오차 신호(318)로서 다음 경계 클록(306)에 전달된다. 다음 경계 클록(306)에 공급되는 총괄 클록 오차(318)는 따라서 경계 클록(304)의 총괄 마스터에 대한 오차의 측정치를 포함한다.3 is a block diagram of a clock synchronization system according to an embodiment of the present invention. Although this embodiment is described with reference to a PTP network that includes a boundary clock, this is generally applicable to other types of networks that include a clock regenerator to be synchronized to the overall master clock reference. The
정의상, 총괄 클록 기선 오차 신호(312)는 이것이 총괄 마스터(302)로부터 비롯되기 때문에 0의 고정된 값을 할당받는다. 각각의 후속 경계 클록은 표준 PTP 패킷 및 선행 스테이지에 의해 도입된 임의의 오차를 효과적으로 나타내는 총괄 클록 오차 신호를 둘 다 수신한다. 예컨대, 경계 클록 i(309)는 경계 클록 i-1(308)과 PTP 패킷(348)을 교환하고 경계 클록 i-1로부터 총괄 클록 오차 신호(346)를 수신한다. 수학적으로, 상기 프로세스는 아래와 같이 기술될 수 있다.By definition, global clock
여기서, GrandClockError(i-1)은 i번째 경계 클록에 의해 수신되는 총괄 클록 오차이고, GrandClockError(i)는 i번째 경계 클록에 의해 발송되는 갱신된 총괄 클록 오차 신호이다. StageClockError(i)는 i번째 경계 클록의 스테이지 클록 오차이다. 임의의 표준 PTP 슬레이브 알고리즘에서와 같이, s2mDelay(i)는 통상적인 "지연 응답" 메시지로부터 획득된 슬레이브 대 마스터 경로 지연이고, m2sDelay(i)는 i번째 경계 클록에 대한 통상적인 "동기화" 메시지로부터 획득된 마스터 대 슬레이브 경로 지연이다.Here, GrandClockError (i-1) is the overall clock error received by the i th boundary clock, and GrandClockError (i) is the updated overall clock error signal sent by the i th boundary clock. StageClockError (i) is the stage clock error of the i th boundary clock. As with any standard PTP slave algorithm, s2mDelay (i) is a slave to master path delay obtained from a typical “delay response” message, and m2sDelay (i) is a typical “sync” message for the i th boundary clock. The master to slave path delay obtained.
동기화 메시지 및 지연 응답 메시지가 PTP 프로토콜을 참조하여 논의되지만, 본 발명은 이러한 표준을 구현하는 시스템으로 한정되지 않음을 이해해야 한다. 본 명세서에서 논의되는 동기화 및 지연 응답 메시지는 유사한 방식으로 동기화를 달성하는 다른 메시지 형식 및 프로토콜을 포괄하도록 의도된다. 예컨대, 본 명세서에서 기술되는 시스템 및 방법은 "네트워크 시간 프로토콜"(NTP) 4판 및 다른 유사한 방법과 같은 시간 동기화를 위한 유사한 프로토콜 및 메커니즘에 동등하게 적용된다.While synchronization messages and delayed response messages are discussed with reference to the PTP protocol, it should be understood that the present invention is not limited to systems implementing such standards. Synchronization and delay response messages discussed herein are intended to encompass other message formats and protocols for achieving synchronization in a similar manner. For example, the systems and methods described herein apply equally to similar protocols and mechanisms for time synchronization, such as the "Network Time Protocol" (NTP) 4th Edition and other similar methods.
n번째 경계 클록(310)은 i번째 경계 클록(309)으로부터 총괄 클록 오차(356)를 수신하고, 또한 i번째 경계 클록으로부터 표준 PTP 메시지(364)를 수신한다. 총괄 클록 오차(356)가 n번째 스테이지 클록 오차(360)에 합산되고, n번째 PTP 동기화 루프(358)에 대한 피드백 신호(362)로서 사용된다. 총괄 클록 오차 신호(356)가 각각의 개재하는 스테이지에서 갱신되었으므로, 마지막 n번째 경계 클록(310)뿐만 아니라 모든 다른 선행 경계 클록들은 본질적으로 총괄 마스터(302) 자체에 직접 고정된다.The n
위에서 기술된 실시예들에서, 총괄 마스터(302)는 수학식 1에 나타낸 바처럼 초기 총괄 클록 오차 신호(312)를 출력한다. 그러나, 다른 실시예들에서는, 총괄 마스터는 상이한 제조자들의 제품들과 같이 총괄 클록 오차 신호를 지원하거나 이를 출력하도록 구성되지 않을 수 있다. 그러한 경우, 제1 경계 클록은 메시지 형식을 검사함으로써 또는 본 기술 분야에 알려진 임의의 다른 메커니즘을 통해 총괄 클록 오차 신호를 검출해야 한다. 이후 제1 경계 클록은 단순히 자신의 스테이지 클록 오차를 갱신된 총괄 클록 오차(318)로서 사용하고, 이를 제2 경계 클록(306)에 전달할 것이다. 이러한 구현예는 또한 본 기술 분야의 범위 및 사상에 속할 것이다.In the embodiments described above, the
수학식 2에 나타낸 StageClockError(i)의 계산은 단순한 예일 뿐이다. 본 기술 분야의 당업자는 또한 패킷 지연 변동의 효과를 완화시키기 위해 다른 변경 또는 알고리즘을 인식할 것이고, 이들은 또한 본 발명의 범위 및 사상에 속할 것이다.The calculation of StageClockError (i) shown in Equation 2 is merely an example. Those skilled in the art will also recognize other changes or algorithms to mitigate the effects of packet delay variations, which will also fall within the scope and spirit of the present invention.
본 발명의 실시예에 따른 네트워크의 통상적인 동작 하에서, 모든 경계 클록은 수학식 2 및 3에 따른 총괄 클록 오차를 수신, 갱신 및 송신한다. 이는 각각의 경계 클록을 서로에 대해 "보이지 않게" 만드는데, 각각의 경계 클록이 도입하는 임의의 오차는 총괄 클록 오차 신호에 반영되고, 이후 후속하는 보통 또는 경계 클록에 의해 단순한 알고리즘을 통해 제거될 수 있다는 의미에서 그러하다. 일부 실시예에서, 개별적인 경계 클록은 자기 자신의 스테이지 클록 오차가 소정의 이유로 인해 신뢰할 수 없다고 여길 수 있다. 그러한 경우, 이는 수신된 총괄 클록 오차를 자기 자신의 스테이지 클록 오차로 갱신하는 대신에 수신된 총괄 클록 오차를 단순히 전달하기로 선택할 수 있다. 이와 같이 하는 경우, 이러한 특정한 경계 클록과 연관된 오차는 후속하는 경계 클록 스테이지들에 대해 "보이게" 될 것이며, 그렇다 하더라도 후속 스테이지들은 여전히 서로에 대해 보이지 않을 것이다. 달리 말해, 후속 경계 클록들은 보이는 경계 클록 스테이지 및 그 경계 클록 스테이지만의 오차를 받을 것이다. 보이는 경계 클록이 통상적인 동작으로 복귀하고 자기 자신의 스테이지 클록 오차가 포함된 갱신된 총괄 클록 오차를 전달하기 시작하면, 이는 다시 한 번 보이지 않게 될 것이다. 이후 다운스트림 클록들은 다시 한 번 총괄 마스터(302)에 모두 고정될 것이다. 따라서, 개시된 고정 구성 및 방법은 효과적이고 안정적이다. 위에서 기술된 실시예들은 모든 경계 클록이 위에서 기술된 의미에서 "보이지 않는" 것으로 여기지만, 일부 경계 클록들이 "보이는" 다른 실시예들이 또한 가능하며, 이러한 실시예들은 또한 본 발명의 범위 및 사상에 속할 것이다.Under normal operation of the network according to an embodiment of the present invention, all boundary clocks receive, update, and transmit the aggregate clock error in accordance with Equations 2 and 3 below. This makes each boundary clock "invisible" to each other, and any error introduced by each boundary clock is reflected in the overall clock error signal, which can then be removed by a simple algorithm by subsequent normal or boundary clocks. In the sense that it is. In some embodiments, an individual boundary clock may assume that its own stage clock error is unreliable for some reason. In such a case, it may choose to simply convey the received global clock error instead of updating the received global clock error with its own stage clock error. In doing so, the error associated with this particular boundary clock will be "visible" for subsequent boundary clock stages, even though subsequent stages will still be invisible to each other. In other words, subsequent boundary clocks will only receive errors for the visible boundary clock stage and its boundary clock stage. Once the visible boundary clock returns to normal operation and begins delivering an updated overall clock error that includes its own stage clock error, it will be invisible once again. The downstream clocks will then all be locked to the
특히, 일 실시예에서, 경계 클록 스테이지 내의 처리 요소는 타임아웃 유닛을 포함한다. 타임아웃 유닛은 이전의 스테이지로부터 수신된 총괄 클록 오차를 저장하기 위한 메모리 및 타임아웃 카운터를 포함하도록 구성된다. 타임아웃 카운터는 총괄 클록 오차가 이전의 스테이지로부터 수신될 때마다 초기값으로 리셋된다. 이후 타임아웃 카운터는 고정 속도로 초기값으로부터 카운트다운한다. 메모리에 저장된 총괄 클록 오차는 타임아웃 카운터가 0에 도달하지 않는 한 그 경계 클록 스테이지를 동기화하는 데 사용될 것이다. 달리 말해, 타임아웃 유닛은 경계 클록이 특정한 구성 가능 시간보다 오래되지 않은 총괄 클록 오차 신호를 사용하고 있음을 보장한다.In particular, in one embodiment, the processing element in the boundary clock stage includes a timeout unit. The timeout unit is configured to include a memory and a timeout counter for storing the aggregate clock error received from the previous stage. The timeout counter is reset to its initial value whenever a global clock error is received from the previous stage. The timeout counter then counts down from the initial value at a fixed rate. The global clock error stored in memory will be used to synchronize its boundary clock stages unless the timeout counter reaches zero. In other words, the timeout unit ensures that the boundary clock is using the aggregate clock error signal no later than a certain configurable time.
수학식 3에 나타낸 GrandClockError(i)의 계산은 단순한 예일 뿐이다. 본 기술 분야의 당업자는 또한 경계 클록 i(309)의 총괄 마스터(302)에 대한 클록 오차의 양호한 추정을 달성하기 위해 다른 변경 또는 알고리즘을 인식할 것이고, 이들은 또한 본 발명의 범위 및 사상에 속할 것이다.The calculation of GrandClockError (i) shown in Equation 3 is merely an example. Those skilled in the art will also recognize other variations or algorithms to achieve a good estimate of the clock error for the
또한, 경계 클록 오차 누적을 제거 또는 감소시키기 위해 경계 클록들 사이의 임의의 다른 유형의 클록 오차 정보를 계산 및 송신하는 것은 또한 본 발명의 범위 및 사상에 속할 것이다.In addition, calculating and transmitting any other type of clock error information between the boundary clocks to eliminate or reduce the boundary clock error accumulation will also fall within the scope and spirit of the present invention.
바람직한 실시예에서, 총괄 클록 오차는 슬레이브 고정 알고리즘이 효과적으로 작용하기에 충분히 빠른 속도로 송신되어야 한다. 달리 말해, 제1 스테이지 경계 클록에 의해 발송된 제1 총괄 클록 오차가 최종 스테이지 경계 클록에 도달하는 데 걸리는 시간은 최종 경계 클록이 이것의 슬레이브 추적 알고리즘에 기초하여 정확하게 총괄 마스터에 고정되고 이를 추적할 수 있을 정도로 충분히 작아야 한다. 예컨대, 총괄 클록 오차가 초당 30회의 속도로 각각의 경계 클록에 의해 발송되는 경우, 제1 경계 클록의 총괄 클록 오차가 30번째 스테이지에 도달하는 데 걸리는 가장 긴 시간은 대략 1초이다. 이러한 시간 지체는 많은 위상 고정 루프 기반 PTP 슬레이브 알고리즘에 대해 충분히 짧다. 따라서, 원칙적으로, 총괄 클록 오차 신호의 바람직한 송신 속도는 직렬 연쇄에 포함된 경계 클록의 최대 개수에 좌우될 것이다. 30개의 스테이지와 30 Hz의 총괄 클록 오차 속도에 관한 구현예가 위에서 논의되었지만, 다른 실시예들이 가능하며 유사하게 본 발명의 범위 및 사상에 속할 것이다. 특히, 1초가 아닌 제1 스테이지 대 n번째 스테이지 지연을 갖는 실시예가 또한 가능하다.In the preferred embodiment, the overall clock error should be transmitted at a speed fast enough for the slave lock algorithm to work effectively. In other words, the time it takes for the first global clock error sent by the first stage boundary clock to reach the final stage boundary clock is such that the final boundary clock is fixed to the global master accurately and based on its slave tracking algorithm. It should be small enough to be able to. For example, if the aggregate clock error is sent by each boundary clock at a rate of 30 times per second, the longest time for the aggregate clock error of the first boundary clock to reach the thirtieth stage is approximately one second. This time delay is short enough for many phase locked loop based PTP slave algorithms. Thus, in principle, the desired transmission rate of the aggregate clock error signal will depend on the maximum number of boundary clocks involved in the serial concatenation. Although implementations regarding 30 stages and a total clock error rate of 30 Hz have been discussed above, other embodiments are possible and will likewise fall within the scope and spirit of the present invention. In particular, embodiments with a first stage to nth stage delay other than 1 second are also possible.
다른 바람직한 실시예에서, 시스템 자원을 절약하기 위해 총괄 클록 오차를 저장 및 송신하는 데 필요한 비트의 전체 수를 제한하면서 총괄 클록 오차가 충분한 정밀도로 유지된다. 일 실시예에서, 총괄 클록 오차는 나노초 단위로 측정되고 256으로 곱해진다. 이는 1/256 나노초의 총골 클록 오차 정밀도를 제공한다. 총괄 클록 오차를 나타내는 데 사용되는 비트의 전체 수는 64 비트로 설정된다. 다른 실시예에서, 비트수는 32로 또는 더 감소될 수 있다. 다른 정밀도 값을 갖는 실시예가 또한 본 발명의 범위 및 사상에 속할 것이다.In another preferred embodiment, the overall clock error is maintained with sufficient precision while limiting the total number of bits needed to store and transmit the overall clock error to save system resources. In one embodiment, the overall clock error is measured in nanoseconds and multiplied by 256. This provides a total bone clock error precision of 1/256 nanoseconds. The total number of bits used to represent the aggregate clock error is set to 64 bits. In other embodiments, the number of bits may be reduced to 32 or more. Embodiments with other precision values will also fall within the scope and spirit of the present invention.
일 실시예에서, 총괄 클록 오차는 특별한 추가 패킷 또는 메시지로서 경계 클록들 사이에 분배된다. 다른 실시예에서, 이는 기존의 네트워크 메시지에 부가될 수 있다. 예컨대, PTP 표준 내에서, TLV 확장이 기존의 "지연 응답" 메시지에 추가될 수 있고, 총괄 클록 오차 메시지를 전달하는 데 사용될 수 있다. 또한, TLV 확장은 모든 "지연 응답" 메시지마다, 또는 대역폭 소비를 줄이기 위해 몇몇 "지연 응답" 메시지마다 송신될 수 있다. 총괄 클록 오차 정보를 고정 또는 가변 속도로 분배하는 다른 방법이 또한 가능하며 본 발명의 범위 및 사상에 속할 것이다.In one embodiment, the aggregate clock error is distributed between the boundary clocks as a special additional packet or message. In other embodiments, this may be added to existing network messages. For example, within the PTP standard, TLV extensions can be added to existing "delay response" messages and used to convey a generic clock error message. In addition, the TLV extension may be sent every "delay response" message or every few "delay response" messages to reduce bandwidth consumption. Other methods of distributing aggregate clock error information at fixed or variable rates are also possible and would fall within the scope and spirit of the present invention.
네트워크에서 원더 누적을 제거하기 위한 장치 및 방법의 몇몇 실시예가 위에서 기술되었다. 본 기술 분야의 당업자는 분배된 타이밍 기준의 정밀도를 향상시키기 위한 시스템의 다른 변경, 실시예 및 응용예를 또한 인식할 것이며, 이들은 또한 본 발명의 범위 및 사상에 속할 것이다.Some embodiments of apparatus and methods for removing wonder accumulation in a network have been described above. Those skilled in the art will also recognize other variations, embodiments, and applications of the system for improving the precision of distributed timing criteria, which will also fall within the scope and spirit of the present invention.
Claims (19)
총괄 마스터 클록(grand master clock), 제1 클록 재생성기 및 제2 클록 재생성기를 포함하고,
상기 총괄 마스터 클록은 주요 정밀 타이밍 소스(source)를 포함하며,
상기 제1 클록 재생성기는 상기 총괄 마스터 클록 및 상기 제2 클록 재생성기에 동작가능하게 접속되고,
상기 제1 클록 재생성기는 제1 지역 클록 및 상기 제1 지역 클록을 상기 총괄 마스터 클록에 동기화하기 위한 제1 동기화 처리 유닛을 포함하며,
상기 제1 동기화 처리 유닛은,
상기 총괄 마스터 클록으로부터 제1 마스터 대 슬레이브 메시지를 수신하고,
제1 슬레이브 대 마스터 메시지를 상기 총괄 마스터 클록에 발송하며,
상기 제1 마스터 대 슬레이브 메시지 및 상기 제1 슬레이브 대 마스터 메시지에 적어도 부분적으로 기초하여 제1 마스터 대 슬레이브 경로 지연 및 제1 슬레이브 대 마스터 경로 지연을 계산하고,
상기 제1 슬레이브 대 마스터 경로 지연과 상기 제1 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 제1 스테이지 클록 오차를 계산하며,
상기 제1 스테이지 클록 오차와 총괄 클록 기선(baseline) 오차의 합인 제1 총괄 클록 오차를 생성하고 - 상기 총괄 클록 기선 오차는 0으로 설정됨 -,
상기 제1 스테이지 클록 오차 및 상기 총괄 클록 기선 오차에 적어도 부분적으로 기초하여 상기 제1 지역 클록을 상기 총괄 마스터 클록에 동기화하며,
상기 제1 총괄 클록 오차를 상기 제2 클록 재생성기에 송신하도록 구성되고,
상기 제2 클록 재생성기는 상기 제1 클록 재생성기에 동작가능하게 접속되며,
상기 제2 클록 재생성기는 제2 지역 클록 및 상기 제2 지역 클록을 상기 총괄 마스터 클록에 동기화하기 위한 제2 동기화 처리 유닛을 포함하고,
상기 제2 동기화 처리 유닛은,
상기 제1 클록 재생성기로부터 제2 동기화 메시지를 수신하며,
상기 제1 클록 재생성기로부터 제2 지연 응답 메시지를 수신하고,
상기 제1 클록 재생성기로부터 상기 제1 총괄 클록 오차를 수신하고 저장하며,
상기 제2 동기화 메시지에 적어도 부분적으로 기초하여 제2 마스터 대 슬레이브 경로 지연을 계산하고,
상기 제2 지연 응답 메시지에 적어도 부분적으로 기초하여 제2 슬레이브 대 마스터 경로 지연을 계산하며,
상기 제2 슬레이브 대 마스터 경로 지연과 상기 제2 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 제2 스테이지 클록 오차를 계산하고,
상기 제1 총괄 클록 오차와 상기 제2 스테이지 클록 오차의 합인 제2 총괄 클록 오차를 계산하며,
상기 제2 스테이지 클록 오차 및 상기 제1 총괄 클록 오차에 적어도 부분적으로 기초하여 상기 제2 지역 클록을 상기 총괄 마스터 클록에 동기화하도록 구성되는 클록 동기화 시스템.A clock synchronization system for use in a network,
A grand master clock, a first clock regenerator and a second clock regenerator,
The master master clock includes the main precision timing source,
The first clock regenerator is operably connected to the collective master clock and the second clock regenerator,
The first clock regenerator includes a first synchronization processing unit for synchronizing a first local clock and the first local clock with the overall master clock;
The first synchronization processing unit,
Receive a first master to slave message from the overall master clock,
Send a first slave to master message to the overall master clock,
Calculate a first master to slave path delay and a first slave to master path delay based at least in part on the first master to slave message and the first slave to master message,
Calculate a first stage clock error that is one half of the difference between the first slave to master path delay and the first master to slave path delay,
Generate a first global clock error that is the sum of the first stage clock error and a global clock baseline error, wherein the global clock baseline error is set to zero;
Synchronize the first local clock to the global master clock based at least in part on the first stage clock error and the global clock baseline error,
Send the first global clock error to the second clock regenerator,
The second clock regenerator is operably connected to the first clock regenerator,
The second clock regenerator includes a second synchronization processing unit for synchronizing a second local clock and the second local clock with the overall master clock;
The second synchronization processing unit,
Receive a second synchronization message from the first clock regenerator,
Receive a second delay response message from the first clock regenerator,
Receive and store the first global clock error from the first clock regenerator,
Calculate a second master to slave path delay based at least in part on the second synchronization message,
Calculate a second slave to master path delay based at least in part on the second delay response message,
Calculate a second stage clock error that is one half of the difference between the second slave to master path delay and the second master to slave path delay,
Calculate a second total clock error that is the sum of the first general clock error and the second stage clock error,
And synchronize the second local clock to the overall master clock based at least in part on the second stage clock error and the first overall clock error.
상기 총괄 마스터 클록은 상기 총괄 클록 기선 오차를 생성하고 상기 총괄 클록 기선 오차를 상기 제1 클록 재생성기에 발송하도록 더 구성되는 클록 동기화 시스템.The method of claim 1,
The global master clock is further configured to generate the global clock baseline error and to send the global clock baseline error to the first clock regenerator.
상기 제1 클록 재생성기는 상기 총괄 클록 기선 오차를 생성하도록 더 구성되는 클록 동기화 시스템.The method of claim 1,
And the first clock regenerator is further configured to generate the global clock baseline error.
상기 제1 동기화 처리 유닛은 상기 제1 총괄 클록 오차를 저장하기 위한 메모리 요소를 포함하는 클록 동기화 시스템.The method of claim 1,
And the first synchronization processing unit includes a memory element for storing the first global clock error.
상기 제1 동기화 처리 유닛은 상기 제1 총괄 클록 오차를 32 비트 이하로 양자화하도록 더 구성되는 클록 동기화 시스템.The method of claim 1,
And the first synchronization processing unit is further configured to quantize the first global clock error to 32 bits or less.
상기 제1 총괄 클록 오차는 상기 제2 클록 재생성기에 의해 수신되도록 상기 제2 지연 응답 메시지와 함께 패키징되는 클록 동기화 시스템.The method of claim 1,
And the first global clock error is packaged with the second delay response message to be received by the second clock regenerator.
상기 총괄 마스터 클록에 동작가능하게 접속되는 제1 클록 재생성기;
k번째 클록 재생성기 - k는 1과 N 사이의 정수임 -; 및
N-1번째 클록 재생성기에 동작가능하게 접속되는 N번째 클록 재생성기
를 포함하고,
상기 k번째 클록 재생성기는,
k-1번째 클록 재생성기에 대한 동작 접속;
k+1번째 클록 재생성기에 대한 동작 접속; 및
동기화 처리 유닛
을 포함하며,
상기 동기화 처리 유닛은,
상기 k-1번째 클록 재생성기로부터 마스터 대 슬레이브 메시지를 수신하고,
상기 k-1번째 클록 재생성기로 슬레이브 대 마스터 메시지를 발송하며,
상기 마스터 대 슬레이브 메시지 및 상기 슬레이브 대 마스터 메시지에 적어도 부분적으로 기초하여 k번째 마스터 대 슬레이브 경로 지연 및 k번째 슬레이브 대 마스터 경로 지연을 계산하고,
상기 k번째 슬레이브 대 마스터 경로 지연과 상기 k번째 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 k번째 스테이지 클록 오차를 계산하며,
상기 k-1번째 클록 재생성기로부터 k-1번째 총괄 클록 오차를 수신하고,
상기 k-1번째 총괄 클록 오차와 상기 k번째 스테이지 클록 오차의 합인 k번째 총괄 클록 오차를 계산하며,
상기 k번째 스테이지 클록 오차 및 상기 k-1번째 총괄 클록 오차에 적어도 부분적으로 기초하여 상기 k번째 클록 재생성기를 상기 총괄 마스터 클록에 동기화하고,
상기 k번째 총괄 클록 오차를 상기 k+1번째 클록 재생성기에 발송하도록 구성되는 k번째 처리 요소를 포함하는 클록 동기화 시스템.Clock synchronization system for use in a network having an overall master clock and N clock regenerators, where N is an integer greater than 1,
A first clock regenerator operably connected to the master master clock;
kth clock regenerator, where k is an integer between 1 and N; And
Nth clock regenerator operatively connected to the N-1th clock regenerator
Including,
The k-th clock regenerator,
an operational connection to the k-1 th clock regenerator;
an operational connection to the k + 1 th clock regenerator; And
Synchronization processing unit
/ RTI >
The synchronization processing unit,
Receive a master to slave message from the k-1 th clock regenerator,
Send a slave-to-master message to the k-1 th clock regenerator,
Calculate a kth master to slave path delay and a kth slave to master path delay based at least in part on the master to slave message and the slave to master message,
Calculate a kth stage clock error that is one half of the difference between the kth slave to master path delay and the kth master to slave path delay,
Receive a k-1 th overall clock error from the k-1 th clock regenerator,
Calculating a k-th overall clock error, which is the sum of the k-1 th overall clock error and the k-th stage clock error,
Synchronize the k th clock regenerator to the overall master clock based at least in part on the k th stage clock error and the k-1 th overall clock error;
And a k th processing element configured to send the k th overall clock error to the k + 1 th clock regenerator.
상기 k번째 처리 요소는 상기 k-1번째 총괄 클록 오차를 저장하기 위한 메모리 요소를 포함하는 클록 동기화 시스템.The method of claim 7, wherein
And the k th processing element comprises a memory element for storing the k-1 th overall clock error.
상기 동기화 처리 유닛은 상기 k번째 총괄 클록 오차를 32 비트 이하로 양자화하도록 더 구성되는 클록 동기화 시스템.The method of claim 7, wherein
And the synchronization processing unit is further configured to quantize the k-th overall clock error to 32 bits or less.
상기 k번째 처리 요소는 상기 k번째 총괄 클록 오차 및 상기 k+1번째 클록 재생성기에 대한 지연 응답 메시지가 상기 k+1번째 클록 재생성기에 함께 발송되게끔 이들을 패킷으로 조합하도록 더 구성되는 클록 동기화 시스템.The method of claim 7, wherein
The kth processing element is further configured to combine them into packets such that the kth overall clock error and a delay response message for the k + 1 th clock regenerator are sent together with the k + 1 th clock regenerator system.
상기 k번째 처리 요소는 상기 k번째 총괄 클록 오차가 상기 k+1번째 클록 재생성기에 송신되는 빈도를 선택적으로 제어하도록 구성되는 속도 제어 유닛을 더 포함하는 클록 동기화 시스템.The method of claim 7, wherein
And the k th processing element further comprises a speed control unit configured to selectively control the frequency at which the k th overall clock error is transmitted to the k + 1 th clock regenerator.
상기 k번째 처리 요소는 상기 k-1번째 총괄 클록 오차를 저장하기 위한 메모리 및 초기값으로부터 감소되는 타임아웃 카운터를 갖는 타임아웃 유닛을 더 포함하고,
상기 타임아웃 유닛은 상기 k-1번째 총괄 클록 오차가 수신될 때마다 상기 타임아웃 유닛이 상기 수신된 k-1번째 총괄 클록 오차를 저장하도록 상기 메모리를 갱신하고, 상기 타임아웃 카운터를 상기 초기값으로 리셋하며, 상기 타임아웃 카운터가 0에 도달하지 않는 한 상기 k번째 클록 재생성기를 상기 총괄 마스터 클록에 동기화하기 위해 상기 k-1번째 총괄 클록 오차를 사용하도록 구성되는 클록 동기화 시스템.The method of claim 7, wherein
The kth processing element further comprises a timeout unit having a memory for storing the k−1th overall clock error and a timeout counter that is decremented from an initial value,
The timeout unit updates the memory such that the timeout unit stores the received k−1th overall clock error whenever the k−1th overall clock error is received, and sets the timeout counter to the initial value. And use the k-1 th overall clock error to synchronize the k th clock regenerator to the overall master clock unless the timeout counter reaches zero.
상기 총괄 마스터 클록으로부터 제1 클록 재생성기로 마스터 대 슬레이브 메시지를 발송하는 단계;
상기 제1 클록 재생성기로부터 상기 총괄 마스터 클록으로 슬레이브 대 마스터 메시지를 발송하는 단계;
상기 제1 클록 재생성기에서,
상기 마스터 대 슬레이브 메시지 및 상기 슬레이브 대 마스터 메시지에 적어도 부분적으로 기초하여 제1 마스터 대 슬레이브 경로 지연 및 제1 슬레이브 대 마스터 경로 지연을 계산하는 단계;
상기 제1 슬레이브 대 마스터 경로 지연과 상기 제1 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 제1 스테이지 클록 오차를 계산하는 단계;
상기 제1 스테이지 클록 오차와 총괄 클록 기선 오차의 합인 제1 총괄 클록 오차를 생성하는 단계 - 상기 총괄 클록 기선 오차는 0으로 설정됨 -; 및
상기 제1 스테이지 클록 오차 및 상기 총괄 클록 기선 오차에 적어도 부분적으로 기초하여 상기 제1 클록 재생성기를 상기 총괄 마스터 클록에 동기화하는 단계
를 수행하는 단계;
k번째 클록 재생성기에서 - k는 1보다 크고 N보다 작은 정수임 -,
k-1번째 클록 재생성기로부터 마스터 대 슬레이브 메시지를 수신하는 단계;
상기 k-1번째 클록 재생성기로 슬레이브 대 마스터 메시지를 발송하는 단계;
상기 k-1번째 클록 재생성기로부터 k-1번째 총괄 클록 오차를 수신하고 저장하는 단계;
상기 마스터 대 슬레이브 메시지 및 상기 슬레이브 대 마스터 메시지에 적어도 부분적으로 기초하여 k번째 마스터 대 슬레이브 경로 지연 및 k번째 슬레이브 대 마스터 경로 지연을 계산하는 단계;
상기 k번째 슬레이브 대 마스터 경로 지연과 상기 k번째 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 k번째 스테이지 클록 오차를 계산하는 단계;
상기 k번째 스테이지 클록 오차와 상기 k-1번째 총괄 클록 오차의 합인 k번째 총괄 클록 오차를 계산하는 단계; 및
상기 k번째 스테이지 클록 오차 및 상기 k-1번째 총괄 클록 오차에 적어도 부분적으로 기초하여 상기 k번째 클록 재생성기를 상기 총괄 마스터 클록에 동기화하는 단계
를 포함하는 동기화 프로세스를 수행하는 단계; 및
N번째 클록 재생성기에서,
N-1번째 클록 재생성기로부터 마스터 대 슬레이브 메시지를 수신하는 단계;
상기 N-1번째 클록 재생성기로 슬레이브 대 마스터 메시지를 발송하는 단계;
상기 N-1번째 클록 재생성기로부터 N-1번째 총괄 클록 오차를 수신하고 저장하는 단계;
상기 마스터 대 슬레이브 메시지 및 상기 슬레이브 대 마스터 메시지에 적어도 부분적으로 기초하여 N번째 마스터 대 슬레이브 경로 지연 및 N번째 슬레이브 대 마스터 경로 지연을 계산하는 단계;
상기 N번째 슬레이브 대 마스터 경로 지연과 상기 N번째 마스터 대 슬레이브 경로 지연 사이의 차이의 1/2인 N번째 스테이지 클록 오차를 계산하는 단계; 및
상기 N번째 스테이지 클록 오차 및 상기 N-1번째 총괄 클록 오차에 적어도 부분적으로 기초하여 상기 N번째 클록 재생성기를 상기 총괄 마스터 클록에 동기화하는 단계
를 수행하는 단계
를 포함하는 방법.A method of synchronizing each of said N clock regenerators to said overall master clock in a network comprising a global master clock and N clock regenerators, where N is an integer greater than 1,
Sending a master to slave message from the master master clock to a first clock regenerator;
Sending a slave to master message from the first clock regenerator to the overall master clock;
In the first clock regenerator,
Calculating a first master to slave path delay and a first slave to master path delay based at least in part on the master to slave message and the slave to master message;
Calculating a first stage clock error that is one half of the difference between the first slave to master path delay and the first master to slave path delay;
Generating a first global clock error that is the sum of the first stage clock error and the global clock baseline error, wherein the global clock baseline error is set to zero; And
Synchronizing the first clock regenerator to the global master clock based at least in part on the first stage clock error and the global clock baseline error
Performing;
in k th clock regenerator-k is an integer greater than 1 and less than N-,
receiving a master to slave message from a k-1 th clock regenerator;
Sending a slave to master message to the k-1 th clock regenerator;
Receiving and storing a k-1 th overall clock error from the k-1 th clock regenerator;
Calculating a k-th master-to-slave path delay and a k-th slave-to-master path delay based at least in part on the master to slave message and the slave to master message;
Calculating a kth stage clock error that is one half of the difference between the kth slave to master path delay and the kth master to slave path delay;
Calculating a k-th overall clock error, which is the sum of the k-th stage clock error and the k-1 th overall clock error; And
Synchronizing the k th clock regenerator to the overall master clock based at least in part on the k th stage clock error and the k-1 th overall clock error
Performing a synchronization process comprising; And
In the Nth clock regenerator,
Receiving a master to slave message from an N-1 th clock regenerator;
Sending a slave-to-master message to the N-1 th clock regenerator;
Receiving and storing an N-1 th overall clock error from the N-1 th clock regenerator;
Calculating an Nth master to slave path delay and an Nth slave to master path delay based at least in part on the master to slave message and the slave to master message;
Calculating an Nth stage clock error that is one half of the difference between the Nth slave to master path delay and the Nth master to slave path delay; And
Synchronizing the N th clock regenerator to the overall master clock based at least in part on the N th stage clock error and the N-1 th overall clock error;
Steps to perform
≪ / RTI >
상기 k번째 클록 재생성기에서, 상기 k번째 총괄 클록 오차를 메시지로 패킹(pack)하고 상기 메시지를 상기 k+1번째 클록 재생성기에 발송하는 단계를 더 포함하는 방법.The method of claim 13,
At the k th clock regenerator, packing the k th overall clock error into a message and sending the message to the k + 1 th clock regenerator.
상기 메시지를 상기 k+1번째 클록 재생성기에 발송하는 단계는 고정 속도로 수행되는 방법.15. The method of claim 14,
Sending the message to the k + 1 th clock regenerator is performed at a fixed rate.
상기 메시지를 상기 k+1번째 클록 재생성기에 발송하는 단계는 가변 속도로 수행되는 방법.15. The method of claim 14,
Sending the message to the k + 1 th clock regenerator is performed at a variable rate.
상기 총괄 클록 기선 오차를 생성하고 상기 총괄 클록 기선 오차를 상기 제1 클록 재생성기에 발송하도록 상기 총괄 마스터 클록을 구성하는 단계를 더 포함하는 방법.The method of claim 13,
Configuring the global master clock to generate the global clock baseline error and to send the global clock baseline error to the first clock regenerator.
상기 제1 클록 재생성기에서 상기 총괄 클록 기선 오차를 생성하는 단계를 더 포함하는 방법.The method of claim 13,
Generating the global clock baseline error in the first clock regenerator.
각각의 클록 재생성기에서 상기 총괄 클록 오차를 32 비트 이하로 양자화하는 단계를 더 포함하는 방법.The method of claim 13,
Quantizing the global clock error to 32 bits or less in each clock regenerator.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161475080P | 2011-04-13 | 2011-04-13 | |
| US61/475,080 | 2011-04-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20120116842A true KR20120116842A (en) | 2012-10-23 |
Family
ID=47285024
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020110089030A Withdrawn KR20120116842A (en) | 2011-04-13 | 2011-09-02 | System and method to overcome wander accumulation to achieve precision clock distribution over large networks |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20120116842A (en) |
-
2011
- 2011-09-02 KR KR1020110089030A patent/KR20120116842A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8949648B2 (en) | System and method to overcome wander accumulation to achieve precision clock distribution over large networks | |
| CN102577194B (en) | System and method for synchronizing clocks within a distributed network | |
| EP2381622B1 (en) | Update of a cumulative residence time of a packet in a packet-switched communication network | |
| CN1934809B (en) | Method and apparatus for calibrating a time reference when separated by an unreliable data packet network | |
| JP5350787B2 (en) | Time synchronization method and apparatus using time stamp | |
| US8774227B2 (en) | Multi input timing recovery over packet network | |
| US8018968B2 (en) | System and method for high precision clock recovery over packet networks | |
| US9548833B2 (en) | Method, apparatus and system for time distribution in a telecommunications network | |
| JP2010527193A (en) | Method and network component for synchronizing a clock of a network component to a clock of another network component | |
| CN104365043A (en) | Ring based precise time data network clock phase adjustments | |
| CN106712885B (en) | Clock synchronizing method, the network equipment and network system | |
| EP3044891A1 (en) | Method and devices for frequency distribution | |
| EP4340495A1 (en) | Scheduling cycle adjustment method and network device | |
| JP2018088646A (en) | Time synchronization apparatus and time synchronization method | |
| EP3231110A1 (en) | Method and devices for time transfer using end to end transparent clocks | |
| JP5391964B2 (en) | Clock synchronization method and packet communication system | |
| US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
| US20240380505A1 (en) | Dynamic traffic load compensation | |
| KR20120116842A (en) | System and method to overcome wander accumulation to achieve precision clock distribution over large networks | |
| US12306664B1 (en) | Dynamic precision time message rate support | |
| Qian et al. | Awakening power of physical layer: High precision time synchronization for industrial Ethernet | |
| JP2006148774A (en) | Synchronizer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20110902 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20160901 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20110902 Comment text: Patent Application |
|
| PC1202 | Submission of document of withdrawal before decision of registration |
Comment text: [Withdrawal of Procedure relating to Patent, etc.] Withdrawal (Abandonment) Patent event code: PC12021R01D Patent event date: 20161128 |
|
| WITB | Written withdrawal of application |