KR101192896B1 - Distributed synchronization method and apparatus for fault tolerance - Google Patents
Distributed synchronization method and apparatus for fault tolerance Download PDFInfo
- Publication number
- KR101192896B1 KR101192896B1 KR1020100034240A KR20100034240A KR101192896B1 KR 101192896 B1 KR101192896 B1 KR 101192896B1 KR 1020100034240 A KR1020100034240 A KR 1020100034240A KR 20100034240 A KR20100034240 A KR 20100034240A KR 101192896 B1 KR101192896 B1 KR 101192896B1
- Authority
- KR
- South Korea
- Prior art keywords
- time
- slave
- master
- synchronization
- masters
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/08—Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 결함 허용이 가능한 분산 동기화 방법에 관한 것으로, 복수의 타임 마스터 중에서 어느 하나가 스타터 노드로 지정되는 S1 단계, 싱크 타임 마스터가 상기 스타터 노드에 동기화되는 S2 단계, 스타터 노드와 상기 싱크 타임 마스터의 싱크 프레임이 타임 슬레이브에 주기적으로 전송되는 S3 단계 및 타임 슬레이브가 전송된 싱크 프레임을 이용하여 복수의 타임 마스터와 동기화되는 S4 단계를 포함하는 것을 특징으로 한다.
본 발명은 복수의 타임 마스터에서 전송된 싱크 프레임으로부터 계산되는 오프셋 값에 대한 평균값을 기준으로 슬레이브를 동기화하여, 일부 마스터에 결함이 발생하여도 안정적인 동기화가 가능한 분산 동기화 방법 및 장치를 제공한다.The present invention relates to a fault-tolerant distributed synchronization method, wherein step S1 in which any one of a plurality of time masters is designated as a starter node, step S2 in which a sync time master is synchronized with the starter node, a starter node and the sink time master The sync frame of S3 may be periodically transmitted to the time slave and the S4 step of synchronizing with the plurality of time masters using the sync frame transmitted by the time slave.
The present invention provides a distributed synchronization method and apparatus for synchronizing a slave based on an average value of offset values calculated from sync frames transmitted from a plurality of time masters, so that even if a defect occurs in some masters.
Description
본 발명은 이더넷 기반 시스템에서 동기화를 위해 사용되는 분산 동기화 방법 및 장치에 관한 것이다. 본 발명은 특히 이더넷 기반 시스템에서 복수의 타임 마스터를 사용하여 결함 허용이 가능한 분산 동기화 방법 및 장치에 관한 것이다.The present invention relates to a distributed synchronization method and apparatus used for synchronization in an Ethernet based system. The present invention relates in particular to a distributed synchronization method and apparatus capable of fault tolerance using a plurality of time masters in an Ethernet based system.
Ethernet 통신을 기반으로 하는 모션 제어 네트워크는 동기 모션 제어와 같은 고속의 실시간 데이터를 전송하는데 주로 사용된다. 이 시스템에서는 동기화를 위해 클럭 동기화 표준인 IEEE 1588을 제정하여 널리 사용되고 있다. IEEE 1588은 EtherCAT, PowerLINK 등에서 활용되고 있다.Motion control networks based on Ethernet communication are mainly used to transmit high speed real time data such as synchronous motion control. In this system, IEEE 1588, a clock synchronization standard, is widely used for synchronization. IEEE 1588 is used in EtherCAT, PowerLINK, etc.
IEEE 1588 동기화 방법은 하나의 타임 마스터가 복수의 타임 슬레이브를 동기화시킨다. 따라서 타임 마스터에 결함이 발생하는 경우 전체 동기화에 문제가 발생한다. 이 경우 자동화 로봇과 같이 안전이 중요한 어플리케이션에서는 큰 인명이나 재산상의 문제가 발생할 수 있다.In the IEEE 1588 synchronization method, one time master synchronizes a plurality of time slaves. Thus, if the time master fails, there is a problem with the entire synchronization. In this case, in a safety-critical application such as an automated robot, a great life or property problem may occur.
이를 방지하기 위해 IEEE 1588 Best Master Clock Algorithm (BMCA)이나 기존 마스터에 문제가 발생하면 백업 마스터가 기존 마스터의 역할을 대신하는 마스터 중복 기법이 널리 사용된다.To prevent this, if a problem occurs in the IEEE 1588 Best Master Clock Algorithm (BMCA) or the existing master, a master redundancy technique is widely used where the backup master takes over the role of the existing master.
BMCA 기법의 경우 여러 개의 마스터 중 가장 좋은 마스터를 선출하여 해당 마스터를 기준으로 네트워크를 동기화한다. 이때 선출된 마스터가 결함이 발생하면 다시 선출 알고리즘을 수행하여 새로운 가장 좋은 마스터를 선출한다. BMCA 기법의 경우 기존 하나의 마스터가 발생하는 문제점은 해결 가능하지만 재선출 과정에서 소요되는 시간이 길기 때문에 높은 성능의 동기화를 제공하기에는 어려움이 있다. In the case of BMCA, the best one is selected among several masters and the network is synchronized based on the master. At this time, if a fault occurs in the elected master, the election algorithm is performed again to select a new best master. In case of BMCA technique, the problem of existing one master can be solved, but it is difficult to provide high performance synchronization because the time required for re-election process is long.
반면 마스터 중복 기법은 백업 마스터가 기존 마스터를 대체하기 위해 초기화되는 등의 작업을 수행해야 하기 때문에 대체하는데 많은 시간이 소요되는 문제점이 있다.On the other hand, the master redundancy technique takes a long time to replace because the backup master has to perform operations such as initializing to replace the existing master.
백업 마스터 구동을 위해 소요되는 시간에도 전체 네트워크의 동기화가 요구되는데 이를 해결할 수 없다는 문제점이 있다. The time required to run the backup master also requires synchronization of the entire network, which can not be solved.
또한 단일 타임 마스터를 사용하기 때문에 타임 마스터에 결함이 발생하여 잘못된 타임 스탬프를 전송한 경우, 전체 네트워크 동기화가 제대로 수행되지 못하는 문제점이 있다.In addition, since a single time master is used, if a time master fails and a wrong time stamp is transmitted, the entire network synchronization may not be performed properly.
본 발명에 따른 결함 허용이 가능한 분산 동기화 방법 및 장치는 다음과 같은 해결과제를 목적으로 한다.The fault-tolerant distributed synchronization method and apparatus according to the present invention aims to solve the following problems.
첫째, 마스터에 결함이 생겨도 전체 네트워크의 동기화는 정상적으로 수행 되게 하고자 한다.First, even if the master fails, the entire network will be synchronized normally.
둘째, 마스터에 결함이 생긴 경우라도 시간의 단락 없이 곧바로 동기화가 수행되게 하고자 한다.Second, even in the case of a failure of the master, synchronization is to be performed immediately without a short time.
셋째, 복수의 마스터 중 하나 이상에 결함이 발생하여도 전체 네트워크의 동기화는 정상적으로 수행 되게 하고자 한다.Third, even if a defect occurs in one or more of the plurality of masters, synchronization of the entire network is normally performed.
넷째, 마스터 중에서 동기화에만 관여하는 타임 마스터를 복수 개 두어 전체 시스템의 부하를 감소시키고자 한다.Fourth, it is intended to reduce the load of the entire system by placing a plurality of time masters that are involved only in synchronization among the masters.
다섯째, 결함이 없는 동기화 수행으로 네트워크를 통해 데이터가 안정적이고 효율적으로 전송되도록 한다.Fifth, the defect-free synchronization ensures that data is transmitted reliably and efficiently over the network.
여섯째, 특히 안정성과 동기화 성능이 중요시되는 자동화 로봇, 조선 로봇 등의 어플리케이션이 안정적으로 동작하도록 한다.Sixth, applications such as automation robots and shipbuilding robots, in which stability and synchronization performance are important, operate stably.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.The solution to the problem of the present invention is not limited to those mentioned above, and other solutions not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명은 결함 허용이 가능한 분산 동기화 방법에 관한 것이다.The present invention relates to a distributed synchronization method capable of fault tolerance.
본 발명의 방법은 복수의 타임 마스터 중에서 어느 하나가 스타터 노드로 지정되는 S1 단계, 복수의 타임 마스터 중에서 스타터 노드를 제외한 나머지 타임 마스터인 싱크 타임 마스터가 스타터 노드에 동기화되는 S2 단계, 스타터 노드와 싱크 타임 마스터의 싱크 프레임이 타임 슬레이브에 주기적으로 전송되는 S3 단계 및 타임 슬레이브가 전송된 싱크 프레임을 이용하여 복수의 타임 마스터와 동기화되는 S4 단계를 포함한다.According to the method of the present invention, a step S1 in which one of a plurality of time masters is designated as a starter node, a step S2 in which a sink time master, which is a time master other than the starter node among the plurality of time masters, is synchronized to the starter node, and a starter node and a sink And a step S3 in which the sync frame of the time master is periodically transmitted to the time slave and a step S4 in which the sync frame of the time master is synchronized with the plurality of time masters using the sync frame in which the time slave is transmitted.
본 발명의 S1 단계는 복수의 타임 마스터가 정상적으로 작동되는지 여부를 검사하는 단계 및 정상적으로 작동하는 타임 마스터 중 어느 하나가 지정되는 단계를 포함한다.The step S1 of the present invention includes a step of checking whether a plurality of time masters are normally operated and a step of specifying one of the normally operating time masters.
본 발명의 S2 단계는 싱크 타임 마스터가 스타터 노드로부터 전송되는 싱크 프레임을 이용하여, 스타터 노드에 동기화되는 것을 포함한다. Step S2 of the present invention includes the sync time master being synchronized to the starter node using the sync frame transmitted from the starter node.
본 발명의 S4 단계는 타임 슬레이브가 복수의 싱크 프레임을 전송받는 S4-1 단계, 복수의 싱크 프레임으로부터 복수의 클럭 오프셋 값이 산출되는 S4-2 단계 및 산출된 복수의 클럭 오프셋 값을 이용하여 타임 슬레이브가 복수의 타임 마스터에 동기화되는 S4-3 단계를 포함한다.In the step S4 of the present invention, the time slave uses a plurality of clock frames to receive a plurality of sync frames, a step S4-1 to calculate a plurality of clock offset values from the plurality of sync frames, and a plurality of clock offset values. S4-3, wherein the slave is synchronized to the plurality of time masters.
본 발명의 S4-3 단계는 S4-2 단계에서 산출된 복수의 클럭 오프셋 값의 평균값을 기준으로 타임 슬레이브를 동기화시키는 것을 포함한다.Step S4-3 of the present invention includes synchronizing the time slave based on the average value of the plurality of clock offset values calculated in step S4-2.
본 발명의 S4-3 단계는 S4-2 단계에서 산출된 복수의 클럭 오프셋 값 중 최대값 또는 최소값을 제외하고 산출된 평균값을 기준으로 타임 슬레이브를 동기화시키는 것을 포함한다.The step S4-3 of the present invention includes synchronizing the time slave based on the calculated average value except for the maximum value or the minimum value among the plurality of clock offset values calculated in the step S4-2.
본 발명의 S4-3 단계는 S4-2 단계에서 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외하고 산출된 평균값을 기준으로 타임 슬레이브를 동기화시키는 것을 포함한다.The step S4-3 of the present invention includes synchronizing the time slave based on the calculated average value except for the maximum value and the minimum value among the plurality of clock offset values calculated in the step S4-2.
본 발명의 S4-3 단계는 S4-2 단계에서 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외하는 단계를 복수 차례 수행하고 남은 오프셋 값에 대한 평균값을 기준으로 타임 슬레이브를 동기화시키는 것을 포함한다.Step S4-3 of the present invention includes performing a plurality of steps of excluding a maximum value and a minimum value among the plurality of clock offset values calculated in step S4-2 and synchronizing the time slave based on the average value of the remaining offset values. do.
본 발명에서 복수 차례 수행되는 최대값 및 최소값을 제외하는 단계는 최대값 및 최소값을 제외하고 남은 클럭 오프셋 값이 하나 이상인 것을 한계 조건으로하여, 입력된 특정 횟수만큼 수행되는 것을 포함한다.Excluding the maximum value and the minimum value that are performed a plurality of times in the present invention includes the execution of a specific number of times input as a limit condition that the remaining clock offset value except for the maximum value and the minimum value is one or more.
본 발명의 방법은 복수의 타임 마스터 중 하나만을 마스터로 사용하여 타임 슬레이브를 IEEE 1588 동기화 방법에 의해 동기화시키는 제1 모드 또는 제1항 내지 제9항 중 어느 한 항에 따른 분산 동기화 방법으로 복수의 타임 마스터가 타임 슬레이브를 동기화시키는 제2 모드를 포함하되, 제1 모드 및 제2 모드 상호 간에 모드 변경이 가능한 것을 포함한다.The method of the present invention uses a first mode or a distributed synchronization method according to any one of claims 1 to 9, wherein only one of the plurality of time masters is used as a master to synchronize a time slave by an IEEE 1588 synchronization method. The time master includes a second mode for synchronizing the time slave, and includes a mode change between the first mode and the second mode.
본 발명은 결함 허용이 가능한 분산 동기화 장치에 관한 것이다.The present invention relates to a distributed synchronization device capable of fault tolerance.
본 발명의 장치는 복수의 타임 마스터 중에서 지정된 스타터 노드, 복수의 타임 마스터 중에서 스타터 노드를 제외한 나머지 타임 마스터인 싱크 타임 마스터 및 복수의 타임 마스터와 네트워크로 연결되고, 복수의 타임 마스터로부터 복수의 싱크 프레임을 전송받아 동기화되는 타임 슬레이브를 포함한다.The apparatus of the present invention is networked with a designated starter node among a plurality of time masters, a sync time master which is a time master other than the starter node among the plurality of time masters, and a plurality of time masters, and a plurality of sync frames from the plurality of time masters. It includes a time slave synchronized with the received.
본 발명의 스타터 노드는 복수의 타임 마스터가 정상적으로 작동되는지 검사한 후에 정상적으로 작동되는 타임 마스터 중에서 지정되는 것을 포함한다.The starter node of the present invention includes designating among the time masters that operate normally after checking whether the plurality of time masters operate normally.
본 발명의 스타터 노드는 싱크 타임 마스터에 싱크 프레임을 전송하여, 스타터 노드와 싱크 타임 마스터 간에 동기화를 수행하는 것을 포함한다.The starter node of the present invention includes transmitting a sync frame to the sync time master to perform synchronization between the starter node and the sync time master.
본 발명의 타임 슬레이브는 전송된 복수의 싱크 프레임으로부터 복수의 클럭 오프셋 값을 산출하고, 산출된 오프셋 값을 이용하여 동기화되는 것을 포함한다.The time slave of the present invention includes calculating a plurality of clock offset values from the transmitted plurality of sync frames, and synchronizing using the calculated offset values.
본 발명의 타임 슬레이브는 산출된 복수의 클럭 오프셋 값의 평균값을 기준으로 동기화되는 것을 포함한다.The time slave of the present invention includes synchronizing on the basis of an average value of the calculated plurality of clock offset values.
본 발명의 타임 슬레이브는 산출된 복수의 클럭 오프셋 값 중 최대값 또는 최소값을 제외한 나머지 오프셋 값의 평균값을 기준으로 동기화되는 것을 포함한다.The time slave of the present invention includes synchronizing on the basis of an average value of the offset values other than the maximum value or the minimum value among the calculated plurality of clock offset values.
본 발명의 타임 슬레이브는 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외한 나머지 오프셋 값의 평균값을 기준으로 동기화되는 것을 포함한다.The time slave of the present invention includes synchronizing on the basis of an average value of the remaining offset values except for the maximum value and the minimum value among the calculated plurality of clock offset values.
본 발명의 타임 슬레이브는 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 복수 차례 제외하고 남은 오프셋 값에 대한 평균값을 기준으로 동기화되는 것을 포함한다.특징으로 하는 결함 허용이 가능한 분산 동기화 장치. The time slave of the present invention includes synchronizing on the basis of an average value of the remaining offset values excluding a plurality of maximum and minimum values among a plurality of calculated clock offset values.
본 발명의 타임 마스터는 네트워크를 통해 타임 슬레이브 및 타임 마스터에 연결되는 마스터 통신 모듈, 클럭 소스로부터 클럭을 입력받아 현재의 클럭을 저장하는 마스터 클럭 관리 모듈, 클럭 관리 모듈의 클럭 값으로 타임 스탬프를 추출하여 통신 모듈에 탑재하는 타임 스탬프 모듈 및 클럭 관리 모듈 및 통신 모듈을 제어하여 동기화 알고리즘을 수행하는 마스터 동기화 모듈을 포함한다.The time master of the present invention extracts a time stamp from a master communication module connected to a time slave and a time master through a network, a clock received from a clock source, a master clock management module storing a current clock, and a clock value of a clock management module. And a master synchronization module for controlling a time stamp module, a clock management module, and a communication module mounted in the communication module to perform a synchronization algorithm.
본 발명의 타임 슬레이브는 네트워크를 통해 동기화 관련된 싱크 프레임을 수신하는 슬레이브 통신 모듈, 슬레이브 통신 모듈에 수신된 싱크 프레임을 이용하여 동기화 알고리즘을 수행하는 슬레이브 동기화 모듈 및 슬레이브 동기화 모듈의 동기화 알고리즘에 따라 클럭 정보를 저장하는 슬레이브 클럭 관리 모듈을 포함한다.Time slave according to the present invention is a slave communication module for receiving a sync frame associated with the synchronization over the network, the clock information according to the synchronization algorithm of the slave synchronization module and the slave synchronization module to perform a synchronization algorithm using the sync frame received in the slave communication module. It includes a slave clock management module for storing the.
본 발명은 복수의 타임 마스터를 사용하여 타임 마스터 중 일부에 결함이 발생하여도 전체 네트워크 동기화가 정상적으로 수행되는 분산 동기화 방법 및 장치를 제공한다.The present invention provides a distributed synchronization method and apparatus in which the entire network synchronization is normally performed even when a part of the time master fails using a plurality of time masters.
본 발명은 시스템 전체를 제어하는 마스터를 복수 개 두는 것이 아니라 동기화 기능만을 수행하는 타임 마스터만을 복수 개 두어 효과적인 동기화가 수행되는 분산 동기화 방법 및 장치를 제공한다.The present invention provides a distributed synchronization method and apparatus in which effective synchronization is performed by placing a plurality of time masters that perform only synchronization functions, rather than having a plurality of masters controlling the entire system.
본 발명은 복수의 타임 마스터에서 전송된 싱크 프레임으로부터 계산되는 오프셋 값에 대한 평균값을 기준으로 슬레이브를 동기화하여, 일부 마스터에 결함이 발생하여도 안정적인 동기화가 가능한 분산 동기화 방법 및 장치를 제공한다.The present invention provides a distributed synchronization method and apparatus for synchronizing a slave based on an average value of offset values calculated from sync frames transmitted from a plurality of time masters, so that even if a defect occurs in some masters.
본 발명은 복수의 타임 마스터에서 전송된 싱크 프레임으로부터 계산되는 오프셋 값 중 최대값 및 최소값을 제외한 평균값으로 슬레이브를 동기화하여, 일부 마스터에 결함이 발생하여도 안정적인 동기화가 가능한 분산 동기화 방법 및 장치를 제공한다.The present invention provides a distributed synchronization method and apparatus capable of stable synchronization even when a defect occurs in some masters by synchronizing slaves with average values excluding maximum and minimum values of offset values calculated from sync frames transmitted from a plurality of time masters. do.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.
도 1은 종래의 IEEE 1588 동기화 기법을 도시한 도면이다.
도 2는 본 발명에 따른 동기화 방법을 개략적으로 설명한 순서도이다.
도 3은 오프셋 값 중 최대값 및 최소값을 복수 차례 제거하여 평균값을 산출하는 과정에 대한 하나의 실시예를 도시한다.
도 4는 하나의 타임 마스터를 사용하는 제1 모드와 본 발명에 따른 복수의 타임 마스터를 상용하는 제2모드 간 상호 변환을 설명한 블록 다이어그램이다.
도 5는 본 발명에 따른 장치 중 하나의 실시예를 예시한 블록 다이어그램이다.
도 6은 본 발명에 따른 타임 마스터의 구성을 도시한 블록 다이어그램이다.
도 7은 타임 마스터의 동기화 모듈에 탑재되어 동작하는 동기화 기법에 대한 순서도이다.
도 8은 본 발명에 따른 타임 슬레이브의 구성을 도시한 블록 다이어그램이다.
도 9는 타임 슬레이브의 동기화 모듈에 탑재되어 동작하는 동기화 기법에 대한 순서도이다.1 is a diagram illustrating a conventional IEEE 1588 synchronization technique.
2 is a flowchart schematically illustrating a synchronization method according to the present invention.
3 illustrates an embodiment of a process of calculating an average value by removing a maximum value and a minimum value of an offset value a plurality of times.
4 is a block diagram illustrating mutual conversion between a first mode using one time master and a second mode using a plurality of time masters according to the present invention.
5 is a block diagram illustrating an embodiment of one of the devices according to the present invention.
6 is a block diagram showing the configuration of a time master according to the present invention.
7 is a flow chart for a synchronization technique that is mounted and operated in a synchronization module of a time master.
8 is a block diagram showing the configuration of a time slave according to the present invention.
9 is a flowchart illustrating a synchronization scheme that is mounted and operated in a synchronization module of a time slave.
이하에서는 도면을 참조하면서 본 발명에 따른 결함 허용이 가능한 분산 동기화 방법 및 장치에 관하여 구체적으로 설명하겠다.Hereinafter, a fault-tolerant distributed synchronization method and apparatus according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 종래의 IEEE 1588 동기화 과정을 설명하기 위한 도면이다. 본 발명에서도 마스터와 슬레이브 상호 간에 동기화가 수행되는 동작 자체는 동일하므로, 간략하게 살펴본다. 1 is a diagram illustrating a conventional IEEE 1588 synchronization process. In the present invention, since the operation itself in which synchronization is performed between the master and the slave is the same, it will be briefly described.
IEEE 1588은 하나의 타임 마스터와 복수의 타임 슬레이브로 구성되며, 타임 마스터는 IEEE 1588 알고리즘을 사용해 복수의 슬레이브를 마스터의 클럭으로 동기화시킨다. IEEE 1588 consists of a time master and a plurality of time slaves, which synchronize the plurality of slaves to the master clock using the IEEE 1588 algorithm.
구체적으로 살펴보면, 타임 마스터는 싱크 메시지를 주기적으로 타임 슬레이브로 전송한다. 싱크 메시지는 타임 마스터의 타임 스탬프 t1을 타임 슬레이브로 전송하기 위해 사용된다. Specifically, the time master periodically transmits a sync message to the time slave. The sync message is used to send the time master's time stamp t1 to the time slave.
이때 타임 마스터 내부의 운영체제 등의 영향으로 인해 타임 스탬프 t1가 실제 네트워크 메시지로 전송될 때까지 지연이 발생할 수 있으므로, 이 지연 시간을 줄이기 위해 실제 타임 스탬프 t1은 팔로우업 메시지를 통해 타임 슬레이브로 전송되며 싱크 메시지는 수신한 시점의 타임 스탬프 t2를 타임 슬레이브 내에 저장하기 위해 전송된다. At this time, due to the influence of the operating system inside the time master, a delay may occur until the time stamp t1 is transmitted as an actual network message. In order to reduce the delay time, the actual time stamp t1 is transmitted to the time slave through a follow-up message. The sync message is sent to store the time stamp t2 at the time of receipt in the time slave.
팔로우업 메시지를 전송받은 타임 슬레이브는 싱크 메시지가 전송될 때 발생한 네트워크 전송 지연 시간을 계산하기 위해 딜레이 요청 메시지를 타임 마스터로 전송한다. The time slave receiving the follow-up message transmits a delay request message to the time master to calculate a network transmission delay time that occurs when the sync message is transmitted.
딜레이 요청 메시지를 전송받은 타임 마스터는 딜레이 요청 메시지를 수신한 시점의 타임 스탬프(t4)를 딜레이 응답 메시지를 통해 타임 슬레이브로 전송한다. The time master receiving the delay request message transmits the time stamp t4 at the time of receiving the delay request message to the time slave through the delay response message.
타임 슬레이브는 하기의 수식들을 이용하여 타임 마스터와 타임 슬레이브 간의 클럭 오프셋(offset_from_master)을 계산할 수 있다. 타임 슬레이브는 자신의 클럭에 클럭 오프셋(offset_form_master)를 더함으로써 자신의 클럭을 타임 마스터에 동기화시킬 수 있다. The time slave may calculate a clock offset (offset_from_master) between the time master and the time slave using the following equations. The time slave can synchronize its clock to the time master by adding a clock offset (offset_form_master) to its clock.
oneway_delay = ((master_to_slave_delay + (slave_to_master_delay))/2oneway_delay = ((master_to_slave_delay + (slave_to_master_delay)) / 2
master_to_slave_delay = t2-t1master_to_slave_delay = t2-t1
slave_to_master_delay = t4-t3slave_to_master_delay = t4-t3
offset_from_master = t2-t1-oneway_delay (최종 오프셋 계산식)
offset_from_master = t2-t1-oneway_delay (final offset calculation)
도 2는 본 발명에 따른 결함 허용이 가능한 분산 동기화 방법을 개략적으로 도시한다.2 schematically illustrates a fault-tolerant distributed synchronization method according to the present invention.
본 발명에 따른 결함 허용이 가능한 분산 동기화 방법은 복수의 타임 마스터 중에서 어느 하나가 스타터 노드로 지정되는 S1 단계, 복수의 타임 마스터 중에서 스타터 노드를 제외한 나머지 타임 마스터인 싱크 타임 마스터가 스타터 노드에 동기화되는 S2 단계, 스타터 노드와 싱크 타임 마스터의 싱크 프레임이 타임 슬레이브에 주기적으로 전송되는 S3 단계 및 타임 슬레이브가 전송된 싱크 프레임을 이용하여 복수의 타임 마스터와 동기화되는 S4 단계를 포함한다.In the fault-tolerant distributed synchronization method according to the present invention, one of a plurality of time masters is designated as a starter node, and a sink time master, which is a time master other than the starter node among the plurality of time masters, is synchronized with the starter node. Step S2, a step S3 in which the sync frames of the starter node and the sync time master are periodically transmitted to the time slave and a step S4 synchronized with the plurality of time masters using the sync frame in which the time slave is transmitted.
본 발명에 따른 마스터는 시스템 제어를 위해 필요한 전체 마스터가 아니고, 동기화를 위한 동작만을 수행하는 타임 마스터를 이용한다. 이를 통해 복수의 타임 마스터를 사용하더라고 시스템에 부하를 주지 않고 효율적인 동기화가 가능하다.The master according to the present invention uses a time master that performs only the operations for synchronization, not the entire master required for system control. This allows efficient synchronization without overloading the system, even with multiple time masters.
본 발명의 주요한 특징 중에 하나는 복수의 타임 마스터를 사용한다는 것이다. 즉 동기화를 위해 복수의 타임마스터가 동작을 하고 타임 슬레이브는 복수의 타임 마스터에 동기화되는 것이다.One of the main features of the present invention is the use of a plurality of time masters. That is, a plurality of time masters operate for synchronization, and a time slave is synchronized to a plurality of time masters.
복수의 타임 마스터를 사용하기에 타임 마스터 간에도 동기화 작업이 필요하다. 이를 위해 S1 단계에서 복수의 타임 마스터 중 하나를 스타터 노드로 지정한다. 스타터 노드 지정은 시스템 또는 사용자의 선택에 의해 결정될 수도 있다.Since multiple time masters are used, synchronization is required between time masters. To this end, in step S1, one of the plurality of time masters is designated as a starter node. The starter node designation may be determined by system or user selection.
또 다른 실시예로서, 동기화가 시작되는 스타터에 결함이 있으면 문제가 발생하기 때문에, 동기화 수행되기 이전에 복수의 타임 마스터가 제대로 동작하는지 검사하는 것이 바람직하다. 이를 통해 정상적으로 작동하는 타임 마스터 중 하나가 스타터 노드로 지정될 수 있다.As another example, since a problem occurs when a starter that starts synchronization starts to fail, it is desirable to check whether a plurality of time masters operate properly before synchronization is performed. This allows one of the working time masters to be designated as a starter node.
복수의 타임 마스터 중 스타터 노드를 제외한 나머지 노드를 특정하기 위해 "싱크 타임 마스터"라고 명명한다. 즉 복수의 타임 마스터는 스타터 노드와 하나 이상의 싱크 타임 마스터 노드로 구성된다.It is named "sink time master" to specify the remaining nodes except the starter node among the plurality of time masters. That is, the plurality of time masters are composed of starter nodes and one or more sink time master nodes.
스타터 노드가 싱크 프레임을 싱크 마스터 노드에 전송하여 싱크 프레임 마스터가 스타터 노드에 맞추어 동기화 된다(S2 단계). 전체 타임 마스터 상호 간의 동기화는 타임 슬레이브를 동기화하기 위한 전제조건이 된다.The starter node transmits the sync frame to the sink master node so that the sync frame master is synchronized with the starter node (step S2). Synchronization between all time masters is a prerequisite for synchronizing time slaves.
S4 단계는 타임 슬레이브가 복수의 싱크 프레임을 전송받는 S4-1 단계, 복수의 싱크 프레임으로부터 복수의 클럭 오프셋 값이 산출되는 S4-2 단계 및 산출된 복수의 클럭 오프셋 값을 이용하여 타임 슬레이브가 복수의 타임 마스터에 동기화되는 S4-3 단계를 포함한다.In step S4, a time slave receives a plurality of sync frames, a step S4-1 in which a plurality of clock offset values are calculated from the plurality of sync frames, and a plurality of time slaves in the plurality of clock offset values. S4-3 steps are synchronized to the time master.
본 발명에서 핵심이 되는 구성이며 가장 다양한 실시예가 가능한 S4 단계는 타임 슬레이브가 복수의 타임 마스터에 동기화되는 과정이다. 여기서 복수의 타임 마스터란 스타터 노드와 싱크 타임 마스터를 포함한다.The step S4, which is the core configuration of the present invention and enables the most various embodiments, is a process in which a time slave is synchronized to a plurality of time masters. Here, the plurality of time masters includes a starter node and a sink time master.
복수의 타임 마스터(스타터 노드와 하나 이상의 싱크 타임 마스터)는 싱크 프레임을 타임 슬레이브로 전송한다. 타임 슬레이브는 복수의 싱크 프레임을 전송받고 복수의 클럭 오프셋 값을 산출한다. 오프셋 값 산출은 도 1에서 설명한 종래의 IEEE 1588 방법을 통해 산출된다.The plurality of time masters (starter node and one or more sync time masters) transmit a sync frame to the time slave. The time slave receives a plurality of sync frames and calculates a plurality of clock offset values. The offset value is calculated through the conventional IEEE 1588 method described with reference to FIG. 1.
산출된 복수의 클럭 오프셋 값을 이용하여 타임 슬레이브가 복수의 타임 마스터에 동기화된다. 구체적으로 어떤 값을 기준으로 동기화 가능한지 살펴본다.The time slave is synchronized to the plurality of time masters using the calculated plurality of clock offset values. Specifically, it looks at what values can be synchronized.
일 실시예로서, 산출된 복수의 클럭 오프셋 값에 대한 평균값을 계산하여 이를 동기화의 기준으로 삼을 수 있다. 이 경우 일부 타임 마스터에 결함이 발생한 경우 평균값도 다소 잘못된 값으로 계산될 여지가 있다. 그러나 많은 수의 타임 마스터를 사용하는 경우 일부 타임 마스터에 결함이 발생해도 평균값을 시스템에서 허용될 수 있는 범위 내로 산출될 수 있다.In one embodiment, the average value of the calculated plurality of clock offset values may be calculated and used as a reference for synchronization. In this case, if some of the time masters fail, the average value can be calculated to be somewhat wrong. However, when using a large number of time masters, even if some of the time masters fail, the average value can be calculated within a range acceptable to the system.
또 다른 실시예로서, 먼저 산출된 복수의 클럭 오프셋 값을 메모리 등의 테이블에 정렬하고, 평균값을 산출하는 것이 아니라 테이블의 중간값을 기준으로 타임 슬레이브를 동기화하는 것이다. 이 경우 평균값 산출이라는 과정이 생략되므로, 보다 빨리 동기화가 수행될 수 있다. In another embodiment, the plurality of clock offset values calculated above are arranged in a table such as a memory, and the time slaves are synchronized based on an intermediate value of the table rather than calculating an average value. In this case, since the process of calculating the average value is omitted, synchronization can be performed more quickly.
중간값 선정은 자료구조이론이나 알고리즘이론을 통해 널리 알려진 다른 방법으로도 선정될 수 있다.Median selection can also be chosen in other well-known ways through data structure theory or algorithm theory.
또 다른 실시예로서, 먼저 산출된 복수의 클럭 오프셋 값을 메모리 등의 테이블에 정렬하고, 최대값 또는 최소값을 제외하고 산출된 평균값을 기준으로 타임 슬레이브를 동기화시킬 수 있다. 이 경우 최소한 타임 마스터는 3개 이상인 것이 바람직 할 것이다.As another embodiment, the plurality of clock offset values calculated first may be arranged in a table such as a memory, and the time slave may be synchronized based on the calculated average value except for the maximum value or the minimum value. In this case, it would be desirable to have at least three time masters.
타임 마스터에 결함이 발생한다면 결함이 발생한 타임 마스터로부터 계산된 오프셋 값은 최대값 또는 최소값 영역에 속하기 때문에 의미 있는 실시예가 된다.If a defect occurs in the time master, the offset value calculated from the time master in which the defect occurs is a meaningful embodiment because it belongs to the maximum value or the minimum value region.
또 다른 실시예로서, 먼저 산출된 복수의 클럭 오프셋 값을 메모리 등의 테이블에 정렬하고, 최대값 및 최소값을 제외하고 산출된 평균값을 기준으로 타임 슬레이브를 동기화시킬 수 있다. As another embodiment, the plurality of clock offset values calculated first may be arranged in a table such as a memory, and the time slave may be synchronized based on the calculated average value except for the maximum value and the minimum value.
또 다른 실시예로서, 먼저 산출된 복수의 클럭 오프셋 값을 메모리 등의 테이블에 정렬하고, 최대값 및 최소값 영역의 복수 개의 오프셋을 제외하고 평균값을 산출할 수 있다. 즉 최대값 및 최소값을 복수 차례 제거하는 과정을 거치고 남은 하나 이상의 오프셋 값의 평균값을 기준으로 타임 슬레이브의 동기화를 수행하는 것이다.As another embodiment, the plurality of clock offset values calculated first may be arranged in a table such as a memory, and the average value may be calculated except for a plurality of offsets of the maximum value and the minimum value region. That is, the time slave is synchronized based on the average value of one or more remaining offset values after the process of removing the maximum value and the minimum value a plurality of times.
여기서 몇 차례의 최대값 및 최소값을 제거할 것인가의 문제가 있는데 사용자가 입력하여 사전에 정의된 횟수만큼 제거하는 것이 바람직하다.There is a problem of how many times the maximum value and the minimum value are to be removed, but it is preferable to remove the number of times defined by the user in advance.
예컨대 상기의 테이블과 같이 사전에 정의된 횟수만큼 제거하는 것으로 정의되면, 별다른 연산 없이 조속하게 오프셋 값에 대한 평균값을 산출할 수 있다.For example, if it is defined as removing a predetermined number of times as in the above table, it is possible to calculate the average value of the offset value as soon as possible without any operation.
또 다른 실시예로서 시스템상에서 종전의 오프셋 평균값과 차후에 계산된 오프셋 값 평균값의 편차가 갑자기 커진 경우 2회 또는 3회 등으로 제거 횟수를 설정할 수도 있을 것이다.As another example, the number of times of removal may be set to two or three times when the deviation between the previous offset average value and the later calculated offset value average value suddenly increases on the system.
최대값 및 최소값을 제외하고 남은 값으로 평균을 계산할 수 있어야 하므로 최대값 및 최소값을 제거 횟수에는 한계 조건이 있다. 즉 최대값 및 최소값을 제외하고 남은 클럭 오프셋 값이 하나 이상인 것을 한계 조건으로 제거가 수행되어야만 할 것이다.Since the average can be calculated from the remaining values except the maximum and minimum values, there is a limit to the number of times the maximum and minimum values are removed. That is, the removal must be performed with a limit condition that there is at least one remaining clock offset value except for the maximum value and the minimum value.
도 3은 최대값 및 최소값을 복수 차례 제외하는 방법의 일 실시예를 도시한다. 즉 최대값 및 최소값을 2차례 제거하고 남은 평균값을 기준으로 타임 슬레이브를 동기화하게 된다.3 illustrates an embodiment of a method of excluding a maximum value and a minimum value a plurality of times. That is, the maximum and minimum values are removed twice, and the time slave is synchronized based on the remaining average values.
복수의 타임 마스터를 사용하는 분산 동기화 방법으로서, 복수의 타임 마스터 중 하나만을 마스터로 사용하여 타임 슬레이브를 IEEE 1588 동기화 방법에 의해 동기화시키는 제1 모드(종래의 동기화 방법과 유사함) 또는 전술한 본 발명에 따른 결함 허용 가능한 분산 동기화 방법으로 복수의 타임 마스터가 타임 슬레이브를 동기화시키는 제2 모드를 갖는 방법이 가능하다. 즉 일정한 경우 제1 모드로 진행을 하다가 특정한 조건이 발생하거나 시스템의 선택에 의해 제2 모드로 변경될 수 있다. 제2 모드에서 제1 모드로 변경되는 것도 가능할 것이다.A distributed synchronization method using a plurality of time masters, comprising: a first mode (similar to a conventional synchronization method) in which only one of the plurality of time masters is used as a master to synchronize a time slave by the IEEE 1588 synchronization method, or the aforementioned method The fault-tolerant distributed synchronization method according to the invention enables a method having a second mode in which a plurality of time masters synchronize time slaves. That is, in a certain case, while going to the first mode, a specific condition may occur or may be changed to the second mode by the selection of a system. It may also be possible to change from the second mode to the first mode.
도 4는 이와 같은 아이디어를 설명하고 있다. 즉 INIT은 동기화가 수행되지 않는 초기 상태를 말하고, NFT(Non Fault Tolerance)는 결함 허용되지 않는 종래 방법을 의미하고, FT(Fault Tolerance)는 본 발명에 따른 결함 허용되는 동기화 방법을 의미한다.
4 illustrates this idea. That is, INIT refers to an initial state in which synchronization is not performed, Non-Fault Tolerance (NFT) refers to a conventional method that is not fault-tolerant, and FT (Fault Tolerance) refers to a fault-tolerant synchronization method according to the present invention.
이하 본 발명에 따른 결함 허용이 가능한 분산 동기화 장치에 대해 상세히 설명하고자 한다. 다만, 결함 허용이 가능한 분산 동기화 방법과 공통되는 설명은 생략하고 장치에 있어 핵심적인 구성을 중심으로 설명한다.Hereinafter, a fault-tolerant distributed synchronization apparatus according to the present invention will be described in detail. However, descriptions common to the fault-tolerant distributed synchronization method will be omitted and the focus will be on the core configuration of the apparatus.
도 5는 본 발명에 따른 장치 중 하나의 실시예를 개략적으로 도시한다. 도 5는 2개의 타임 마스터(200, 210)와 2개의 타임 슬레이브(230)를 갖는 네트워크 시스템(240)을 상정하여 설명한다. 본 발명의 장치는 도 3에 표현된 버스 토폴로지 뿐만 아니라 링, 라인, 스타, 트리 토폴로지 등 다양한 토폴로지에서 적용이 가능하다.5 schematically shows an embodiment of one of the devices according to the invention. 5 illustrates a
본 발명에 따른 결함 허용이 가능한 분산 동기화 장치는 복수의 타임 마스터 중에서 지정된 스타터 노드, 복수의 타임 마스터 중에서 스타터 노드를 제외한 나머지 타임 마스터인 싱크 타임 마스터 및 복수의 타임 마스터와 네트워크로 연결되고 복수의 타임 마스터로부터 복수의 싱크 프레임을 전송받아 동기화되는 타임 슬레이브를 포함한다.The fault-tolerant distributed synchronization apparatus according to the present invention is networked with a plurality of time masters, a designated starter node among a plurality of time masters, a sink time master which is a time master other than a starter node among a plurality of time masters, and a plurality of time masters. It includes a time slave is synchronized with a plurality of sync frames received from the master.
본 발명의 스타터 노드는 복수의 타임 마스터가 정상적으로 작동되는지 검사한 후에 정상적으로 작동되는 타임 마스터 중에서 지정되는 것이 바람직하다.The starter node of the present invention is preferably designated among the time masters that operate normally after checking whether the plurality of time masters operate normally.
본 발명의 방법과 같이 스타터 노드는 싱크 타임 마스터에 싱크 프레임을 전송하여, 스타터 노드와 싱크 타임 마스터 간에 동기화를 수행한다.As in the method of the present invention, the starter node transmits a sync frame to the sync time master to perform synchronization between the starter node and the sync time master.
타임 슬레이브는 본 발명의 방법에서 설명한 바와 같이 복수의 싱크 프레임을 전송받고, 복수의 오프셋 값을 산출하여 복수의 타임 마스터와 동기화된다.The time slave receives a plurality of sync frames as described in the method of the present invention, calculates a plurality of offset values, and synchronizes with the plurality of time masters.
도 6에 도시된 바와 같이 타임 마스터(300)는 구체적으로 네트워크(240)를 통해 타임 슬레이브 및 타임 마스터에 연결되는 마스터 통신 모듈(330), 클럭 소스로부터 클럭을 입력받아 현재의 클럭을 저장하는 마스터 클럭 관리 모듈(320), 클럭 관리 모듈의 클럭 값으로 타임 스탬프를 추출하여 통신 모듈에 탑재하는 타임 스탬프 모듈(340) 및 클럭 관리 모듈 및 통신 모듈을 제어하여 동기화 알고리즘을 수행하는 마스터 동기화 모듈(310)을 포함한다.As shown in FIG. 6, the
도 7은 타임 마스터의 동기화 모듈에 탑재되어 동작하는 동기화 기법에 대한 순서도이다. 7 is a flow chart for a synchronization technique that is mounted and operated in a synchronization module of a time master.
동기화를 수행하기 위해 먼저 마스터들 간의 동기화가 완료되어야 한다. 이를 위해 타임 마스터들 중 하나의 노드가 스타터 노드로 지정된다. 스타터 노드는 싱크 프레임을 전송하여 자신의 클럭을 기반으로 다른 타임 마스터를 동기화시키고, 그 후 다른 타임 마스터들은 각자의 싱크 메시지를 전송한다. 이를 위한 순서는 아래와 같다. In order to perform synchronization, synchronization between masters must first be completed. For this purpose, one of the time masters is designated as the starter node. The starter node sends a sync frame to synchronize other time masters based on its clock, after which the other time masters send their own sync messages. The order for this is as follows:
타임 마스터는 먼저 자신이 스타터 노드로 설정되어 있는지를 확인한 후, 스타터 노드이면 싱크 프레임을 전송하고 타이머를 설정하여 주기적으로 싱크 프레임을 전송한다. The time master first checks whether it is set as a starter node, and if it is a starter node, transmits a sync frame and sets a timer to periodically transmit a sync frame.
스타터 노드가 아닌 싱크 타임 마스터는 스타터 노드로부터의 싱크 프레임을 대기한다. 스타터 노드로부터 싱크 프레임을 전송받으면 이를 이용해 자신을 스타터에 동기화시키고 타이머를 설정하여 주기적으로 싱크 프레임을 전송한다.The sink time master, not the starter node, waits for a sync frame from the starter node. When the sync frame is received from the starter node, it synchronizes itself with the starter, sets a timer, and periodically sends the sync frame.
도 8에 도시된 바와 같이 타임 슬레이브(400)는 네트워크(240)를 통해 동기화 관련된 싱크 프레임을 수신하는 슬레이브 통신 모듈(430), 슬레이브 통신 모듈에 수신된 싱크 프레임을 이용하여 동기화 알고리즘을 수행하는 슬레이브 동기화 모듈(410) 및 슬레이브 동기화 모듈의 동기화 알고리즘에 따라 클럭 정보를 저장하는 슬레이브 클럭 관리 모듈(420)을 포함한다.As shown in FIG. 8, the
도 9는 타임 슬레이브의 동기화 모듈에 탑재되어 동작하는 동기화 기법에 대한 순서도이다.9 is a flowchart illustrating a synchronization scheme that is mounted and operated in a synchronization module of a time slave.
타임 슬레이브는 먼저 타이머를 초기화하고 싱크 프레임 수신을 대기한다. 싱크 프레임이 수신되면 종래 기술인 IEEE 1588을 이용하여 싱크 프레임을 전송한 노드와의 클럭 오프셋을 계산하여 오프셋 테이블에 저장한다. 이때 여러번 싱크 프레임을 수신하게 되면 각각의 싱크 프레임에 대한 오프셋을 계산하여 하나의 테이블에 저장한다. 싱크 프레임을 하나 이상 수신한 경우로서, 타이머가 만기가 되면 타임 슬레이브는 결함 허용 가능한 중간값 알고리즘을 사용하여 테이블에 저장된 1개 이상의 타임 오프셋들을 정렬하여 최상위 값과 최하위 값을 제외하고 평균값을 계산하고 계산 결과를 이용하여 자신의 클럭을 동기화시킨다.The time slave first initializes the timer and waits to receive a sync frame. When the sync frame is received, the clock offset with the node transmitting the sync frame is calculated and stored in the offset table using IEEE 1588. At this time, when receiving a sync frame several times, the offset for each sync frame is calculated and stored in one table. When one or more sync frames are received, when the timer expires, the time slave uses a fault-tolerant median algorithm to align one or more time offsets stored in the table to calculate the average except for the highest and lowest values. Synchronize your clock with the calculation result.
본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것이 자명하다고 할 것이다.The embodiments and drawings attached to this specification are merely to clearly show some of the technical ideas included in the present invention, and those skilled in the art can easily infer within the scope of the technical ideas included in the specification and drawings of the present invention. Modifications that can be made and specific embodiments will be apparent that all fall within the scope of the present invention.
200: 스타터 노드 210, 300: 타임 마스터
220,400: 타임 슬레이브 240: 네트워크
310: 마스터 동기화 모듈 320: 마스터 클럭 관리 모듈
330: 마스터 통신 모듈 340: 타임 스탬프 모듈
410: 슬레이브 동기화 모듈 420: 슬레이브 클럭 관리 모듈
430: 슬레이브 통신 모듈200:
220,400: time slave 240: network
310: master synchronization module 320: master clock management module
330: master communication module 340: time stamp module
410: slave synchronization module 420: slave clock management module
430: slave communication module
Claims (21)
정상적으로 작동하는 타임 마스터 중 어느 하나가 지정되는 단계를 포함하며, 복수의 타임 마스터 중에서 정상적으로 작동하는 타임 마스터 중 어느 하나가 스타터 노드로 지정되는 S1 단계;
상기 복수의 타임 마스터 중에서 상기 스타터 노드를 제외한 나머지 타임 마스터인 싱크 타임 마스터가, 상기 스타터 노드로부터 전송되는 싱크 프레임을 이용하여, 상기 스타터 노드에 동기화되는 S2 단계;
상기 스타터 노드와 상기 싱크 타임 마스터의 싱크 프레임이 타임 슬레이브에 주기적으로 전송되는 S3 단계; 및
상기 타임 슬레이브가 상기 전송된 싱크 프레임을 이용하여 상기 복수의 타임 마스터와 동기화되는 S4 단계를 포함하되,
상기 S4 단계는
상기 타임 슬레이브가 복수의 싱크 프레임을 전송받는 S4-1 단계;
상기 복수의 싱크 프레임으로부터 복수의 클럭 오프셋 값이 산출되는 S4-2 단계; 및
상기 산출된 복수의 클럭 오프셋 값의 평균값을 이용하여, 상기 타임 슬레이브가 상기 복수의 타임 마스터에 동기화되는 S4-3 단계를 포함하는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 방법.Checking whether the plurality of time masters are operating normally;
A step S1, in which any one of the time masters operating normally is designated, and one of the time masters operating normally among the plurality of time masters is designated as a starter node;
A step S2 of synchronizing the sync time master, which is a time master other than the starter node among the plurality of time masters, to the starter node using a sync frame transmitted from the starter node;
Step S3, in which the sync frames of the starter node and the sync time master are periodically transmitted to a time slave; And
In step S4, wherein the time slave is synchronized with the plurality of time masters using the transmitted sync frame,
The step S4
Step S4-1 in which the time slave receives a plurality of sync frames;
Step S4-2 of calculating a plurality of clock offset values from the plurality of sync frames; And
And a step S4-3 in which the time slave is synchronized to the plurality of time masters by using the calculated average value of the plurality of clock offset values.
상기 S4-3 단계는 상기 S4-2 단계에서 산출된 복수의 클럭 오프셋 값 중 최대값 또는 최소값을 제외하고 산출된 평균값을 기준으로 상기 타임 슬레이브를 동기화시키는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 방법.The method of claim 1,
In step S4-3, a fault-tolerant distributed synchronization method for synchronizing the time slave based on an average value calculated by excluding a maximum value or a minimum value among the plurality of clock offset values calculated in step S4-2. .
상기 S4-3 단계는 상기 S4-2 단계에서 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외하고 산출된 평균값을 기준으로 상기 타임 슬레이브를 동기화시키는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 방법.The method of claim 1,
In the step S4-3, a fault-tolerant distributed synchronization method for synchronizing the time slave based on the calculated average value except for the maximum value and the minimum value among the plurality of clock offset values calculated in the step S4-2. .
상기 S4-3 단계는 상기 S4-2 단계에서 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외하는 단계를 복수 차례 수행하고 남은 오프셋 값에 대한 평균값을 기준으로 상기 타임 슬레이브를 동기화시키는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 방법.The method of claim 1,
In step S4-3, the step of excluding a maximum value and a minimum value among the plurality of clock offset values calculated in step S4-2 is performed a plurality of times, and the time slave is synchronized based on an average value of the remaining offset values. Fault-tolerant distributed synchronization method.
상기 복수 차례 수행되는 최대값 및 최소값을 제외하는 단계는
최대값 및 최소값을 제외하고 남은 클럭 오프셋 값이 하나 이상인 것을 한계 조건으로 하여, 입력된 특정 횟수만큼 수행되는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 방법.9. The method of claim 8,
Excluding the maximum value and the minimum value that is performed a plurality of times
A fault-tolerant distributed synchronization method, characterized in that a predetermined number of times of input is performed, with a limit condition that at least one remaining clock offset value is excluded except a maximum value and a minimum value.
상기 제1항 또는 제6항 내지 제9항 중 어느 한 항에 따른 분산 동기화 방법으로 복수의 타임 마스터가 타임 슬레이브를 동기화시키는 제2 모드를 포함하되,
상기 제1 모드 및 상기 제2 모드 상호 간에 모드 변경이 가능한 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 방법.A first mode of synchronizing a time slave by an IEEE 1588 synchronization method using only one of the plurality of time masters as a master; or
10. A distributed synchronization method according to any one of claims 1 or 6 to 9, comprising a second mode in which a plurality of time masters synchronize time slaves.
And a mode change is possible between the first mode and the second mode.
상기 복수의 타임 마스터 중에서 상기 스타터 노드를 제외한 나머지 타임 마스터인 싱크 타임 마스터; 및
상기 복수의 타임 마스터와 네트워크로 연결되고, 상기 복수의 타임 마스터로부터 복수의 싱크 프레임을 전송받고, 전송된 복수의 싱크 프레임으로부터 복수의 클럭 오프셋 값을 산출하고, 상기 산출된 오프셋 값의 평균값을 이용하여 동기화되는 타임 슬레이브를 포함하되,
상기 스타터 노드는,
상기 싱크 타임 마스터에 싱크 프레임을 전송하여, 상기 스타터 노드와 상기 싱크 타임 마스터 간에 동기화를 수행하는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.A starter node designated among a plurality of time masters that are normally operated after checking whether the plurality of time masters are normally operated;
A sync time master that is a time master other than the starter node among the plurality of time masters; And
A plurality of time frames connected to the time master and a network, receiving a plurality of sync frames from the plurality of time masters, calculating a plurality of clock offset values from the transmitted plurality of sync frames, and using the average value of the calculated offset values. Including time slaves that are synchronized
The starter node,
And a sync frame transmitted to the sync time master to perform synchronization between the starter node and the sync time master.
상기 타임 슬레이브는 상기 산출된 복수의 클럭 오프셋 값 중 최대값 또는 최소값을 제외한 나머지 오프셋 값의 평균값을 기준으로 동기화되는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.The method of claim 11,
The time slave is a fault-tolerant distributed synchronization apparatus, characterized in that the synchronization based on the average value of the remaining offset value except the maximum value or the minimum value of the plurality of clock offset values.
상기 타임 슬레이브는 상기 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외한 나머지 오프셋 값의 평균값을 기준으로 동기화되는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.The method of claim 11,
The time slave is a fault-tolerant distributed synchronization apparatus, characterized in that the synchronization based on the average value of the remaining offset value except the maximum value and the minimum value of the plurality of clock offset values.
상기 타임 슬레이브는 상기 산출된 복수의 클럭 오프셋 값 중 최대값 및 최소값을 제외하는 단계를 복수 차례 수행하고 남은 오프셋 값에 대한 평균값을 기준으로 동기화되는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.The method of claim 11,
And the time slave performs a plurality of steps of excluding a maximum value and a minimum value among the calculated plurality of clock offset values and synchronizes based on an average value of the remaining offset values.
상기 복수 차례 수행되는 최대값 및 최소값을 제외하는 단계는
최대값 및 최소값을 제외하고 남은 클럭 오프셋 값이 최소한 하나 이상인 것을 한계 조건으로 하여, 입력된 특정 횟수만큼 수행되는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.19. The method of claim 18,
Excluding the maximum value and the minimum value that is performed a plurality of times
A fault-tolerant distributed synchronization device, characterized in that a predetermined number of times of input is performed, with a limit condition that at least one remaining clock offset value is excluded except a maximum value and a minimum value.
상기 타임 마스터는
네트워크를 통해 상기 타임 슬레이브 및 타임 마스터에 연결되는 마스터 통신 모듈;
클럭 소스로부터 클럭을 입력받아 현재의 클럭을 저장하는 마스터 클럭 관리 모듈;
상기 클럭 관리 모듈의 클럭 값으로 타임 스탬프를 추출하여 상기 통신 모듈에 탑재하는 타임 스탬프 모듈; 및
상기 클럭 관리 모듈 및 통신 모듈을 제어하여 동기화 알고리즘을 수행하는 마스터 동기화 모듈을 포함하는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.The method of claim 11,
The time master
A master communication module coupled to the time slave and the time master via a network;
A master clock management module which receives a clock from a clock source and stores a current clock;
A time stamp module extracting a time stamp from a clock value of the clock management module and mounting the time stamp on the communication module; And
And a master synchronization module for controlling the clock management module and the communication module to perform a synchronization algorithm.
상기 타임 슬레이브는
네트워크를 통해 동기화 관련된 싱크 프레임을 수신하는 슬레이브 통신 모듈;
상기 슬레이브 통신 모듈에 수신된 싱크 프레임을 이용하여 동기화 알고리즘을 수행하는 슬레이브 동기화 모듈; 및
상기 슬레이브 동기화 모듈의 동기화 알고리즘에 따라 클럭 정보를 저장하는 슬레이브 클럭 관리 모듈;
을 포함하는 것을 특징으로 하는 결함 허용이 가능한 분산 동기화 장치.The method of claim 11,
The time slave is
A slave communication module to receive synchronization related sync frames over a network;
A slave synchronization module that performs a synchronization algorithm using the sync frame received by the slave communication module; And
A slave clock management module for storing clock information according to a synchronization algorithm of the slave synchronization module;
The fault-tolerant distributed synchronization device comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100034240A KR101192896B1 (en) | 2010-04-14 | 2010-04-14 | Distributed synchronization method and apparatus for fault tolerance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100034240A KR101192896B1 (en) | 2010-04-14 | 2010-04-14 | Distributed synchronization method and apparatus for fault tolerance |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110114869A KR20110114869A (en) | 2011-10-20 |
KR101192896B1 true KR101192896B1 (en) | 2012-10-18 |
Family
ID=45029674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100034240A KR101192896B1 (en) | 2010-04-14 | 2010-04-14 | Distributed synchronization method and apparatus for fault tolerance |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101192896B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102225329B1 (en) | 2014-03-03 | 2021-03-09 | 삼성전자주식회사 | EtherCAT CONTROL DEVICE AND FACTORY AUTOMATION SYSTEM HAVING THE SAME |
KR102328671B1 (en) * | 2020-12-17 | 2021-11-18 | 주식회사 지오플랜 | Method And System for Providing Wireless Synchronization |
KR102328672B1 (en) * | 2020-12-17 | 2021-11-18 | 주식회사 지오플랜 | Method And System for Providing Hybrid Synchronization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11261552A (en) | 1998-03-09 | 1999-09-24 | Fujitsu Ltd | Clock switch device |
JP2005229322A (en) * | 2004-02-13 | 2005-08-25 | Yaskawa Electric Corp | Master slave synchronous communication system |
-
2010
- 2010-04-14 KR KR1020100034240A patent/KR101192896B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11261552A (en) | 1998-03-09 | 1999-09-24 | Fujitsu Ltd | Clock switch device |
JP2005229322A (en) * | 2004-02-13 | 2005-08-25 | Yaskawa Electric Corp | Master slave synchronous communication system |
Also Published As
Publication number | Publication date |
---|---|
KR20110114869A (en) | 2011-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8339969B2 (en) | Distributed ethernet system and method for detecting fault based thereon | |
CN102833061B (en) | Based on method and the node of the raising clock accuracy of seamless redundant looped network | |
EP3016316B1 (en) | Network control method and apparatus | |
CN110830276B (en) | EtherCAT communication system and method based on cold redundancy mechanism | |
CN109639512B (en) | Hot backup method of VTS multi-sensor information comprehensive processing system | |
CN105471622A (en) | High-availability method and system for main/standby control node switching based on Galera | |
US9019959B2 (en) | Node, switch, and system | |
CN106817301A (en) | Fault recovery method and device, controller, software defined network | |
CN103001759B (en) | A kind of network method for synchronizing time, system and device | |
CN105790825B (en) | Method and device for hot backup of controller in distributed protection | |
US8463945B2 (en) | Method for synchronizing local clocks in a distributed computer network | |
JP5120097B2 (en) | Time synchronization system and time synchronization apparatus | |
JP5266705B2 (en) | Communications system | |
JP2022128404A (en) | Data packet management method and computer program | |
KR101192896B1 (en) | Distributed synchronization method and apparatus for fault tolerance | |
CN106603272A (en) | Controller protection method and system based on smooth restart | |
KR101358995B1 (en) | Method and system for managing high availability | |
CN102983997A (en) | Method and device for migrating master services | |
CN101841428B (en) | System hot standby processing method, management board and communication equipment | |
KR20120051632A (en) | Method for clock synchronization in distributed system having ring topology and apparatus for the same | |
KR101156097B1 (en) | Master redundancy method in Ethernet powerlink | |
CN113422623B (en) | Management method, system, device, electronic equipment and storage medium | |
CN111817939B (en) | Master station redundancy implementation system and method based on industrial Ethernet protocol | |
CN102075315B (en) | Data synchronization method and device among forwarding boards | |
CN113346974A (en) | Method, apparatus, communication system and storage medium for clock synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151109 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |