KR102195766B1 - 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치 - Google Patents

이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치 Download PDF

Info

Publication number
KR102195766B1
KR102195766B1 KR1020170139373A KR20170139373A KR102195766B1 KR 102195766 B1 KR102195766 B1 KR 102195766B1 KR 1020170139373 A KR1020170139373 A KR 1020170139373A KR 20170139373 A KR20170139373 A KR 20170139373A KR 102195766 B1 KR102195766 B1 KR 102195766B1
Authority
KR
South Korea
Prior art keywords
synchronization
clock
node
neighboring
network
Prior art date
Application number
KR1020170139373A
Other languages
English (en)
Other versions
KR20190046148A (ko
Inventor
김강호
김창영
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020170139373A priority Critical patent/KR102195766B1/ko
Publication of KR20190046148A publication Critical patent/KR20190046148A/ko
Application granted granted Critical
Publication of KR102195766B1 publication Critical patent/KR102195766B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치에 관한 것으로서, 네트워크 노드가 이웃한 복수의 다른 네트워크 노드로부터 전송된 복수의 주기적 메시지를 수집하여, 노드별 또는 노드 및 메시지 타입별로 주기적 메시지의 수신 정보를 저장하고, 패킷 지연 분산값을 기반으로 상기 노드별 또는 노드 및 메시지 타입별로 수집한 주기적 메시지에 대한 신뢰도를 평가하고, 신뢰도 평가를 기준으로 상기 복수의 다른 네트워크 노드 중에서 신뢰할 수 있는 이웃 노드 집합 및 신뢰할 수 있는 관찰 구간을 산출한 후, 관찰 구간 별로 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 다른 네트워크 노드로부터 수집한 주기적 메시지로부터 동기화 정보를 산출하면서, PTP기반의 동기화 메시지가 수신되지 않는 비정상 상황인 동안, 이전 관찰 구간에서 산출한 동기화 정보와 현재 관찰 구간에서 산출한 동기화 정보의 차이만큼 클럭의 드리프트를 보정하도록 한다.

Description

이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치{Method and Apparatus for synchronizing clock using neighbor nodes collaboration and data learning}
본 발명은 네트워크 노드 간의 클럭 동기화 기술에 관한 것으로서, 더욱 상세하게는 PTP(Precision Time Protocol)에 따른 클럭 동기화가 정상적으로 수행되지 않은 상황에서, 네트워크 노드 간에 서비스 수행을 위해 기존에 교환되는 주기적 메시지를 이용하여 클럭의 드리프트를 보정하여 홀드오버타임(Hold over Time)을 증가시킬 수 있는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치에 관한 것이다.
최근 무선 네트워크 기술이 많이 발전함에 따라 많은 단말과 애플리케이션들은 무선 네트워크를 기반으로 연구되고 있다. 무선 네트워크는 유선 네트워크에 비해 편의성, 유동성, 확장성과 저렴한 가격으로 인하여 많이 사용되고 있지만, 안정성이 떨어지므로 실시간 제어 시스템에서의 적용은 제한적이다. 따라서, 무선 제어시스템에 있어서 안정성 및 정확성을 높이기 위해서 가장 중요한 것은 네트워크 장치(이하 네트워크 노드(Network Node)라 함) 간의 클럭 동기화 기술이다.
이에 네트워크 노드 간의 정확한 동기를 위한 프로토콜로서, Precision Time Protocol(PTP, IEEE1588v2 클럭 동기화 프로토콜이라고도 함)이 널리 사용되고 있다.
PTP는 일반적인 GPS(Global Positioning System) 기반 클럭 동기화 기술과는 달리 패킷 기반으로 동기화를 수행하는 것으로, 설치 비용이나 운용 측면에서 이점을 갖는다.
구체적으로 설명하면, PTP 기술은 마스터 장치와 슬레이브 장치 간에 주기적인 메시지 교환을 수행하고, 이를 통해서 슬레이브 노드가 마스터 장치의 클럭 간의 오프셋(Offset)을 계산하여 자신의 클럭을 보정하는 방식이다.
도 1은 PTP 기반의 동기화 시스템을 나타낸 도면으로서, 이동통신망을 예로 들면, 클럭 동기화가 필요한 복수의 네트워크 노드, 예를 들어, LTE 망의 eNB 간의 클럭 동기화를 수행한다고 할 때, 이중 어느 하나를 마스터 장치(11)로 하고, 나머지 네트워크 노드들을 슬레이브 장치(13)로 하여, 마스터 장치(11)의 클럭 시간에 슬레이브 장치(13)의 클럭 시간을 동기화시킨다. 도 1의 예에서는, 코어 장비를 마스터 장치(11)로 하고, 엑세스 망에 배치되는 eNB들을 각각 슬레이브 장치(13)로 하여, 모든 eNB의 클럭 시간을 마스터 장치(11)의 클럭에 동기화시킨다.
상기 마스터 장치(11)와 슬레이브 장치(13)는 동기화 메시지를 주기적으로 교환하고, 각 슬레이브 장치(13)는 상기 동기화 메시지에 포함된 타임스탬프를 이용하여 마스터 장치(11)와와 클럭 오프셋값을 산출하고, 이를 기반으로 슬레이브 장치(13)에 장착된 클럭의 시간 및/또는 주파수를 동기화시킨다.
PTP 기반의 동기화 시스템은 주기적인 동기화 메시지의 교환을 통해서 클럭 동기화를 수행하기 때문에, 네트워크 상황에 따라서 클럭 동기화를 위해 주기적으로 전달되는 메시지를 수신하지 못하는 시간이 소정 시간 이상 길어질 경우, 정상적으로 클럭 동기화를 수행할 수 없는 상황에 다다를 수 있다. 또한, 이렇게 클럭 동기화가 이루어지지 못한 네트워크 노드는 정상적인 서비스를 제공하지 못하게 된다.
이를 보완하기 위하여 다양한 위험 관리(Risk Management)가 고려되고 있다. 일례로 클럭 스위치 오버(Clock-Switch over) 기술이 있다. 이는 네트워크 노드에 하나의 클럭 소스(Clock Source)가 아닌 다수의 클럭 소스를 연동시켜, 상황에 따라서 액티브(Active)/대기(Standby) 구조로 활용하는 방식이다. 예를 들어, GPS와 PTP의 클럭 소스를 함께 연결한 뒤, PTP 기반으로 클럭 동기화 하여 운용하다가 PTP에 장애가 발생 시, GSP로 클럭 소스를 변경한다. 그런데 이러한 방식은 추가적인 클럭 소스를 연동해야 하기에 비용 증가를 유발하며, 이는 비용절감이라는 PTP 사용의 본연의 취지에 위배된다.
다른 위험 관리 기술로는 홀드오버타임(Hold-over Time)을 활용하는 방안이 있다. PTP 기반의 클럭 동기화 중에, 메시지의 송수신에 장애가 발생하여 클럭 동기화가 불가능한 경우, 각 슬레이브 장치는 자체적으로 클럭을 유지시키는 동작을 하게 되며, 이를 통하여 일정 시간 동안은 동기화 메시지의 수신 없이도 클럭을 유지할 수 있다. 이 기간을 Hold-over Time이라고 한다.
그러나, 이 방식의 경우, Hold-over time이 모두 경과되면, 결국은 클럭 동기화가 해제되어 정상서비스가 불가능해진다. 또한, 상기 Hold-Over Time을 최대한 증가시키기 위해서는 자체 클럭 하드웨어의 드리프트(Drift) 에러를 최소화 해야 하는데, 이는 장비 비용의 증가를 초래한다는 문제점이 있다.
한국등록특허 제10-1301933호, 2013년 08월 26일 등록 (명칭: 패킷-교환 네트워크의 노드를 위한 클럭 및 연관된 동기화 방법)
이에, 본 발명은 PTP에 따른 클럭 동기화를 수행하는 네트워크 노드에 PTT 기반의 동기화 메시지의 수신되지 않아 클럭 동기화가 수행되지 않은 비정상 상황이 발생하면, 네트워크 노드 간에 서비스 수행을 위해 기존에 교환되는 주기적 메시지를 이용하여 클럭의 드리프트를 보정하여 홀드오버타임(Hold over Time)을 증가시킬 수 있는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치를 제공하고자 한다.
상술한 과제를 해결하기 위한 수단으로서, 본 발명은, 네트워크 노드에서의 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법을 제공한다.
상기 본 발명에 따른 클럭 동기화 방법은, 상기 네트워크 노드가 이웃한 복수의 다른 네트워크 노드로부터 전송된 복수의 주기적 메시지를 수집하여, 노드별 또는 노드 및 메시지 타입별로 주기적 메시지의 수신 정보를 저장하는 단계; 패킷 지연 분산값을 기반으로 상기 노드별 또는 노드 및 메시지 타입별로 수집한 주기적 메시지에 대한 신뢰도를 평가하는 단계; 상기 신뢰도 평가를 기준으로 상기 복수의 다른 네트워크 노드 중에서 신뢰할 수 있는 이웃 노드 집합 및 신뢰할 수 있는 관찰 구간을 산출하는 단계; 관찰 구간 별로 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 다른 네트워크 노드로부터 수집한 주기적 메시지로부터 동기화 정보를 산출하는 단계; 및 이전 관찰 구간에서 산출한 동기화 정보와 현재 관찰 구간에서 산출한 동기화 정보의 차이만큼 클럭의 드리프트를 보정하는 단계를 포함한다.
더하여, 본 발명은 상술한 과제의 해결 수단으로서, 특정 네트워크 노드가 마스터 장치로부터 수신하는 동기화 메시지 및 다른 네트워크 노드로부터 서비스 수행을 위해 수신하는 주기적 메시지를 수집하는 네트워크 인터페이스 모듈; 상기 동기화 메시지를 기반으로 하드웨어 클럭의 동기화를 수행하며, 상기 동기화 메시지의 송수신에 이상이 발생하면 비정상 상황으로 판단하여 이를 위험 관리 모듈에 알리는 클럭 모듈; 및 상기 노드별 또는 노드 및 메시지 타입별로 수집한 주기적 메시지에 대한 신뢰도를 평가하여, 신뢰할 수 있는 이웃 노드 집합 및 관찰 구간을 설정하여, 관찰 구간 별로 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 다른 네트워크 노드로부터 수집한 주기적 메시지로부터 동기화 정보를 산출하여 학습하면서, 상기 클럭 모듈로부터 비정상 상황이 통지되면, 이전 관찰 구간에서 산출한 동기화 정보와 현재 관찰 구간에서 산출한 동기화 정보의 차이를 비교하여 상기 하드웨어 클럭의 드리프트를 보정하는 위험 관리 모듈을 포함하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 장치를 제공한다.
본 발명에 따른 클럭 동기화 장치는, 각 네트워크 노드에 구비되어 해당 네트워크 노드의 클럭 동기화를 수행할 수 있다.
본 발명은 신뢰성 보장이 반드시 필요한 네트워크 인프라의 특성을 감안하여, 많은 비용을 유발하는 코어 인프라의 추가 구축이나 보완 없이, 기 구축되어 있는 네트워크 인프라에 적용 가능한 클럭 동기화 기술이다.
특히, 본 발명은 특정 네트워크 노드가 다른 이웃 네트워크 노드의 사이에서 교환되는 주기적 메시지들을 수집하여, 상기 주기적 메시지들로부터 동기화 정보를 산출하여 학습하고, PTP 기반의 클럭 동기화 수행 중 동기화 메시지가 정상적으로 수신되지 못하는 비정상 상황의 발생 시, 상기 학습된 동기화 정보를 이용하여 클럭의 드리프트를 보정하는 것으로서, 이를 통해서 PTP 동기화가 정상적으로 수행되지 않더라도 해당 네트워크 노드의 hold-over time을 더 증가시킬 수 있으며, 이를 통해서 RM 대응 능력을 향상시킬 수 있다.
이러한 본 발명은 클럭 동기화를 위한 추가적인 메시지를 생성하지 않아도 되므로, 네트워크 상에서 불필요한 오버헤드를 줄일 수 있다.
도 1은 PTP 기반의 클럭 동기화 시스템을 나타낸 도면이다.
도 2는 이동통신시스템에서의 네트워크 노드 및 그 간의 연결 구조를 설명하기 위한 도면이다.
도 3은 본 발명에 따른 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 장치를 나타낸 블록 구성도이다.
도 4는 본 발명에 따른 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법을 도시한 순서도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 PTP 기반의 클럭 동기화 환경에서, 클럭 동기화 대상이 되는 각 네트워크 노드에 적용되어, 해당 네트워크 노드의 클럭을 동기화시키기 위한 것이다.
특히, 본 발명은, 상기 네트워크 노드가 이웃한 다른 네트워크 노드와의 협업 및 사전 데이터 학습을 통해서, PTP 기반의 클럭 동기화를 위한 메시지가 정상적으로 수신되지 않는 장애 상황이 발생할 경우, 이웃한 네트워크 노드와의 사이에서 서비스 수행을 위해 주기적으로 교환되는 통상의 메시지를 이용하여 클럭 동기화를 수행하고자 한 것이다.
즉, 본 발명에 따르면 PTP의 기술에서 정의된 PTP 패킷 이외에 각 네트워크가 이웃한 다른 네트워크 노드와 서비스 수행을 위해 통상적으로 주고 받는 주기적 메시지를 활용한다.
아울러, 클럭 동기화 기술은 시간 동기화(Time synchronization)와 주파수 동기화(Frequency synchronization)으로 구분될 수 있는데, 본 발명에 따른 동기화 기술은 주파수 동기화를 위해 적용될 수 있으나, 꼭 이에 한정되지는 않으며 시간 동기화를 위해서도 적용될 수 있다.
도 2는 이동통신시스템에서의 네트워크 노드 및 그 간의 연결 구조를 설명하기 위한 도면으로서, PTP 클럭 동기화 기술이 가장 널리 접목된 네트워크 노드로서, LTE(Long Term Evolution) 시스템의 eNB를 예로 들어 설명하면, 각 eNB는 이웃한 다른 eNB들과 X2 인터페이스로 서로 연결되어 있으며, 더하여, MME(Mobility Management Entity)/SGW(Serving Gateway) 등과 같은 코어 엘러먼트(이하, 코어 노드라 함)들과 S1 인터페이스로 연결되며, 상기 X2/S1 인터페이스를 통해서 각 eNB는 이웃 eNB 및 코어 노드들과 정해진 주기에 따라 Heart-beat Message, Resource Status Update Message 등을 주기적으로 송수신한다.
본 발명은 이와 같이, 해당 네트워크 노드가 다른 네트워크 노드와 서비스 수행과 관련된 교환되는 메시지들의 주기적 전달 특성을 활용하여, 클럭을 보상함으로써 Hold-over Time의 극대화를 도모하는 것이다. 이하, 설명의 편의를 위하여, 본 발명에서 클럭 동기화를 위해 이용하는 네트워크 노드 간에 전달되는 메시지들을 "주기적 메시지"라 통칭하기로 한다. 상기 "주기적 메시지"는 PTP에 의해 전송되는 동기화 메시지 이외에 네트워크 노드 간에 서비스 수행 중에 주기적으로 교환되는 메시지라면 어떠한 메시지라도 포함될 수 있으며, 대표적인 예로서, Heart-beat Message, Resource Status Update Message 등을 들 수 있다.
그런데, 이웃 네트워크 노드들과 주고받는 주기적 메시지에 기반하여 클럭 동기화를 수행함에 있어서, 다음의 제약 사항이 발생할 수 있다.
1. 해당 주기적 메시지들의 PDV(Packet Delay Variation)은 알려져 있지 않으며, 메시지의 종류 및 링크 상황에 따라서 서로 다른 값을 갖는다.
2. 해당 주기적 메시지들의 PDV가 PTP 클럭 동기화에서 요구되는 수준에 비하여 크다.
3. 마스터-슬레이브 간의 협상(Negotiation)에 의하여 정해진 규칙대로 송수신되는 PTP 동기화 메시지와는 달리, 수많은 주변 네트워크 노드로부터 다양한 종류의 메시지가 제 각각의 주기로 수신된다.
부연하면, PTP 기반 클럭 동기화 알고리즘은 PDV에 민감하다. PDV 값에 따라 동일 알고리즘이라 할지라도 클럭 동기화의 정확도가 달라진다. 이에 PTP 패킷은 PDV가 스펙에 따라 정의되어 있으나, 이와 달리, 네트워크 노드 간에 클럭 동기화와 무관하게 서비스 수행을 위해 주고받는 Heart-beat 메시지 등은 그 PDV가 규정되어 있지 않으며, 동일한 종류의 메시지라도 네트워크 상황에 따라서 PDV가 달라질 수 있다.
또한, X2/S1 Interface등을 통하여 주변 네트워크 노드 간에 송수신되는 주기적 메시지들의 PDV는 PTP 동기화 메시지에 비하여, 훨씬 큰 수준의 값을 갖는다.
따라서, PTP 기반 클럭 동기화의 핵심이 PDV 보장임을 감안할 때, 네트워크 노드 간에 서비스 수행을 위해 송수신하는 메시지들을 그대로 이용하여 클럭 동기화를 수행할 수는 없다.
그리고, PTP 클럭 동기화 시스템에서는, 각각의 네트워크 노드가 모두 하나의 마스터 장치와 PTP 동기화 메시지를 교환하는데 반해, 상기 주기적 메시지는 주변의 다양한 네트워크 노드들과 여러 종류의 메시지를 서로 다른 주기로 주고받기 때문에, 기존의 방식으로는 클럭 동기화를 수행할 수 없다.
이러한 제약 사항을 극복하기 위하여, 본 발명은, 사전 데이터 학습 기법을 이용한다. 즉, 해당 네트워크 노드에서 PTP에 기반한 클럭 동기화가 정상적으로 수행되는 동안, 주변에 위치한 다른 네트워크 노드로부터 전송되는 주기적 메시지로부터 동기화 정보를 사전 데이터 학습 기법을 통해 추출하여 학습한 후, PTP 동기화 메시지가 정상적으로 송수신되지 않는 RM 상황이 발생하면, 상기 학습한 동기화 정보를 기반으로 자신의 하드웨어 클럭의 동기화를 수행하도록 하는 것이다.
도 3은 본 발명에 따른 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 장치를 나타낸 블록 구성도이고, 도 4는 본 발명에 따른 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법을 도시한 순서도로서, 이들을 참조하여 본 발명에 따른 클럭 동기화 장치의 구성 및 동작을 더 구체적으로 설명하기로 한다.
도 3을 참조하면, 본 발명에 따른 클럭 동기화 장치는, 크게 네트워크 인터페이스 모듈(Network Interface Module)(100)과, 클럭 모듈(Clock Module)(200)과, 위험 관리 모듈(Risk Management Module)(300)을 포함한다. 참고로, 상기 도 3에 도시된 각 모듈은, 하드웨어 모듈 혹은 소프트웨어 모듈로 구현되거나, 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
상기 네트워크 인터페이스 모듈(100)은 PTP 도메인 및 서비스 네트워크 도메인으로부터 송수신되는 다양한 메시지를 수집한다. 이때 수집하는 메시지는, PTP 도메인으로부터 전달되는 PTP 동기화 메시지와 함께, 서비스 네트워크 도메인 상에서 전달되는 heart beat message 등과 같은 복수의 주기적 메시지를 포함한다.
상기 네트워크 인터페이스 모듈(100)은 수집한 메시지 중, PTP 도메인의 마스터 장치로부터 수신된 PTP 동기화 메시지들은 클럭 모듈(200)로 전달하고, 서비스 네트워크 도메인으로부터 수집되는 복수의 이웃 네트워크 노드로부터 수신된 주기적 메시지는 위험 관리 모듈(300)로 전달한다.
더하여, 상기 네트워크 인터페이스 모듈(100)은 본 발명에 따른 위험 관리를 수반한 클럭 동기화를 위하여, 상기 클럭 모듈(200)로부터 제공된 클럭 상태 정보를 다른 네트워크 노드와 교환하는 주기적 메시지(예를 들어, Heart-beat Message)의 소정 필드(예를 들어, Reserved Field)에 기록하여, 다른 네트워크 노드로 송출하는 기능도 수행할 수 있다. 이렇게 상기 네트워크 인터페이스 모듈(100)에서 송출된 주기적 메시지는 다른 네트워크 노드의 클럭 동기화 장치로 전달되는 본 발명에 따른 동기화 정보의 추출 및 학습에 활용된다.
다음으로, 클럭 모듈(200)은 클럭 동기화를 실제 수행하는 구성으로서, 동기화 모듈(210)과 하드웨어 클럭(220)으로 이루어진다. 상기 동기화 모듈(210)은 정상 상황에는, 클럭 동기화 프로토콜, 더 구체적으로, PTP 규격에 따라서 하드웨어 클럭(220)을 마스터 장치(예를 들어, 도 1의 11)의 클럭과 동기화시킨다. 이는 네트워크 인터페이스 모듈(100)을 통해서 PTP 기반의 마스터 장치(11)와 PTP 동기화 메시지(PTP Packet)을 송수신하여, 상기 송수신되는 PTP 동기화 메시지를 통해 마스터 장치(11)의 클럭과의 오프셋값을 산출하여, 그에 따라서 하드웨어 클럭(220)을 보정한다.
아울러, 상기 동기화 모듈(210)은, PTP 기반의 동기화를 수행하는 중에, PTP 동기화 메시지가 정상적으로 수신되지 않으면, 비정상 상황이 발생한 것으로 인지하여 이를 위험 관리 모듈(300)에 알리고, 이후 정상 상황, 즉, PTP 동기화 메시지가 정상적으로 수신될 때까지 상기 위험 관리 모듈(300)로부터 전달되는 동기화 정보에 따라서 하드웨어 클럭(220)을 보정한다.
아울러, 상기 클럭 모듈(200)은, 상기 하드웨어 클럭(220)에서 생성되는 클럭 상태 정보(CLK STS)를 네트워크 인터페이스 모듈(100)에 주기적으로 제공하여, 상기 네트워크 인터페이스 모듈(100)이 다른 네트워크 노드로 송출되는 주기적 메시지에 상기 클럭 상태 정보를 실어 전송할 수 있도록 한다.
다음으로, 상기 위험 관리 모듈(300)은, 상기 클럭 모듈(200)이 정상적으로 PTP 기반의 클럭 동기화를 수행하는 동안, 네트워크 인터페이스 모듈(100)을 통해 다른 네트워크 노드로부터 수신된 복수의 주기적 메시지를 전달받아, 상기 주기적 메시지로부터 동기화 정보를 추출하여 이에 대한 사전 데이터 학습을 수행한 후, 상기 클럭 모듈(200)로부터 PTP 동기화 메시지가 수신되지 않은 비정상 상황임을 전달받으면, 기 학습된 동기화 정보를 기반으로 상기 클럭 모듈(200)의 하드웨어 클럭(220)에 대한 클럭 보정(clock drift equalize)을 수행한다. 이에 의하면, 비정상적인 상황 동안 주기적 메시지로부터 추출되는 동기화 정보를 기반으로 하드웨어 클럭(220)의 클럭 드리프트를 줄임으로써, hold over time을 더 증가시킬 수 있게 된다.
이를 위하여, 상기 위험 관리 모듈(300)은, 데이터 프로세서(Data processor)(310)와, 프리-싱크로나이저(Pre-synchronizer)(320)와, 포스트-싱크로나이저(Post-synchronizer)(330)와 클럭 드리프트 이퀄라이저(Clock drift equalizer)(340)를 포함한다.
상기 위험 관리 모듈(300)에 구비된 각 구성 요소의 기능 및 그 동작은 도 4의 순서도를 참조하여 이하에서 설명한다.
도 4는 상기 위험 관리 모듈(300)에 의해 수행되는 본 발명에 따른 이웃 노드 간 협업 및 사전 데이터 학습을 이용한 클럭 동기화 과정을 나타낸 동작 순서도이다.
도 3 및 도 4를 참조하면, 네트워크 인터페이스 모듈(100)이 인접한 복수의 다른 네트워크 노드로부터 수신되는 주기적 메시지를 수집하여 위험 관리 모듈(300)로 전달하면(S105), 상기 위험 관리 모듈(300)의 데이터 프로세서(310)가 상기 네트워크 인터페이스 모듈(100)로부터 전달받은 상기 주기적 메시지에 대한 정보를 데이터베이스화하여 저장한다(S110).
이때 상기 데이터 프로세서(310)에 의해 관리되는 주기적 메시지들의 정보를 저장하는 데이터베이스는 하기의 표 1과 같이 구성될 수 있다.
노드
식별자
메시지 타입 신뢰도 신뢰
점수
N_평균 로우 데이터
(Raw Data)
22 A T 8.15 8 1.124, 2.124, 3.125, …
22 B T
13 A T 0.41 4 0.124, 0.223, 0.325, …
7 A F 30.71 15 2.011, 4.010, 6.011, …
상기 표 1에서, 노드 식별자는, 수집한 주기적 메시지의 소스 식별자(Source ID), 즉, 해당 주기적 메시지를 송출한 네트워크 노드의 식별 정보를 의미한다.
메시지 타입은 수집한 주기적 메시지의 종류를 나타낸다. 예를 들어, 상기 메시지 타입은 heart-beat message, resource status update message 등과 같은 메시지 종류를 식별할 수 있는 정보로서, 메시지 식별자로 대체될 수 있다.
상기 노드 식별자 및 메시지 타입은 비정상적인 상황에서의 클럭 동기화를 위해 사용가능한 주기적 메시지를 구분하기 위한 것으로서, 상기 노드 식별자를 이용하여 네트워크 노드 별로 구분하거나, 상기 노드 식별자 및 메시지 타입을 이용하여 특정 네트워크 노드의 주기적 메시지 별로 구분할 수 있다.
신뢰도는 상기 노드 식별자로 구분되는 네트워크 노드로부터 수집한 주기적 메시지 혹은 상기 노드 식별자 및 메시지 타입으로 구분되는 특정 네트워크 노드로부터 수집한 특정 주기적 메시지를 RM 상황에서의 클럭 동기화를 위해 사용되어도 충분할 정도의 신뢰도를 갖는지 여부를 나타내는 값으로써, T(True) 또는 F(False)로 표시될 수 있다.
신뢰 점수는 상기 신뢰도를 산출하는데 사용되는 값으로서, 상기 노드 식별자 및/또는 메시지 타입으로부터 구분된 주기적 메시지의 유용성을 점수화한 것이다. 본 발명의 일 실시 예에서, 상기 신뢰 점수는 0에 가까울수록 유용성이 높고, 0에서 멀수록 유용성이 낮아지는 것으로 정의된다. 상기 신뢰점수는 하기의 수학식 1와 같이 산출된다.
Figure 112017105576118-pat00001
수학식 1에서, PDV는 Packet Delay Variance로써, 해당 주기적 메시지가 원래 수신되어야 할 시점과 실제 수신된 시점 간의 차이에 대한 변동(Variation)값을 의미한다. 특히,
Figure 112017105576118-pat00002
은 해당 네트워크 노드 NE_i로부터 단위 시간(Unit Time) 동안에 수집한 주기적 메시지에 기반하여 산출된 PDV 값을 나타내며,
Figure 112017105576118-pat00003
은 해당 동기화 시스템, 예를 들어 PTP 클럭 동기화 시스템에서 PTP 동기화 메시지에 기반하여 클럭 동기화 시에 요구되는 요구되는 목표 PDV 값을 나타낸다. 여기서, 특정 주기적 메시지를 구분하여 분석하고자 하는 경우, 상기
Figure 112017105576118-pat00004
은 메시지 타입을 더 특정하여 산출될 수 있다.
Figure 112017105576118-pat00005
은 단위 시간 동안에 해당 네트워크 노드 NE_i로부터의 수집한 주기적 메시지들의 평균 간격을 나타낸다.
결과적으로, 신뢰 점수
Figure 112017105576118-pat00006
는 네트워크 노드 NE_i가 목표 PDV를 만족하기 위해서 샘플링 및 평균한 후의 포인트 간 간격을 의미한다. 상기 신뢰 점수가 작을수록 더 짧은 시간 동안의 주기적 메시지 수집으로 타겟 PDV를 만족시킬 수 있으며, 따라서 더 높은 신뢰도를 갖는 데이터임을 의미하게 된다.
N_평균은 상기 목표 PDV값(
Figure 112017105576118-pat00007
)을 만족시키기 위해서 사용되어야 할 샘플의 개수를 의미한다. 샘플링 이론(Sampling Theory)에 따르면, 샘플의 수가 N배 증가할 경우, 샘플 평균 분산(Sample Mean Variance)은 1/N배로 줄어든다.
마지막으로, 로우 데이터(Raw data)는, 상기 노드 식별자 및/또는 메시지 타입으로 구분되는 특정 네트워크 노드로부터 수집되는 주기적 메시지의 수신 시간을 의미한다.
따라서, 상기 S110 단계에서, 상기 데이터 프로세서(310)는 상기 수집한 주기적 메시지의 헤더 정보로부터 상기 메시지 소스의 식별자를 노드 식별자로 추출하고, 메시지 타입을 추출하고, 추출된 노드 식별자 및/또는 메시지 타입별로 구분하여 수집되는 주기적 메시지의 수신 시각을 구분하여 로우 데이터에 누적 기록한다.
이와 같이, 상기 데이터 프로세서(310)를 통해서 주변의 복수의 네트워크 노드로부터 수집한 주기적 메시지에 대한 정보가 데이터베이스화되면, 프리-싱크로나이저(320)는 상기 누적된 주기적 메시지에 대한 정보를 기반으로 각 네트워크 노드 및/또는 메시지 타입 별 주기적 메시지에 대하여, 단위 시간 동안의 PDV값인
Figure 112017105576118-pat00008
를 산출하고, 이를 대입하여 목표 PDV값과 대비되는 신뢰 점수(
Figure 112017105576118-pat00009
)를 산출하여 상기 데이터베이스에 기록한다(S115).
더하여, 상기 프리-싱크로나이저(320)는 상기 산출된 신뢰 점수를 기반으로 데이터베이스에 누적된 네트워크 노드 및/또는 메시지 타입 별 주기적 메시지들의 신뢰도를 결정하고, 이를 기준으로 PDV를 최소화하기 위한 신뢰할 수 있는 이웃 노드 집합(Reliable NBR Set)을 산출하고, 관찰 구간(Observation Window)을 산출한다(S120).
상기 데이터베이스에는 수많은 이웃 네트워크 노드들로부터 수집한 다양한 주기적 메시지에 대한 정보가 누적되어 있으나, 앞서 설명한 바와 같이 이들의 PDV값 및 메시지 간격 등의 여러 특성은 동일하지 않다. 또한 앞서 프리-싱크로나이저(320)에 의해 계산한
Figure 112017105576118-pat00010
는 단위 시간 동안의 PDV값으로, 신뢰도는 고려되지 않았다. 그러나 샘플링 이론에 따르면 표준오차(Standard Error)는 샘플의 수 n이 증가함에 따라 1/sqrt(n)으로 감소한다. 이는 보다 많은 네트워크 노드의 주기적 메시지를 활용할수록 보다 신뢰도 높은 클럭 드리프트 값을 산출 할 수 있음을 의미한다.
반면에, 네트워크 노드 별로 PDV 값은 상이하며, 메시지 간격이 상이하여, 주어진 구간 내에서 수집되는 주기적 메시지의 개수 n 또한 네트워크 노드 및/또는 메시지 타입에 따라서 다르기 때문에, 경우에 따라서 특정 네트워크 노드의 데이터를 포함시키는 것이 신뢰도를 더 떨어트릴 수 있다.
따라서, 본 발명에서는. 상술한 데이터베이스의 신뢰 점수를 기반으로, 신뢰성이 높은(즉, 신뢰 점수의 수치가 작은) 순으로 해당 네트워크 노드 및/또는 메시지 타입의 주기적 메시지로부터 산출된 정보를 포함시킴으로써 신뢰도에 기반한 PDV를 산출할 수 있다. 이때, 포함된 네트워크 노드의 수와 신뢰도를 고려한 PDV간의 관계는 돌출(Convex) 형태를 따르게 되며, 결과적으로 네트워크 노드의 수와 신뢰도를 고려한 PDV 간의 최적 포인트가 존재한다.
따라서, 상기 프리-싱크로나이저(320)는, 데이터베이스의 신뢰 점수를 기반으로 네트워크 노드 및/또는 메시지 타입을 정렬한 후, 하기의 수학식 2에 따른 조건을 만족할 때까지 정렬된 해당 네트워크 노드 및/또는 메시지 타입을 신뢰할 수 있는 이웃 노드 집합에 포함시킨다.
Figure 112017105576118-pat00011
여기서 NEi`은 신뢰 점수가 i번째로 우수한 네트워크 노드 및/또는 메시지 타입의 로우 데이터를 N_평균에서 설정된 만큼 샘플링하여 가공한 데이터 집합을 의미한다.
즉, 상기 수학식 2의 조건은, i번째로 우수한 네트워크 노드 및/또는 메시지 타입의 주기적 메시지들로부터 산출한 PDV 값이 목표 PDV를 넘지 않으면서, 표준 오차(Standard Error)가 최소가 되는 네트워크 노드 및/또는 메시지 타입의 집합을 신뢰할 수 있는 이웃 노드 집합으로 산출하게 된다.
그리고, 프리-싱크로나이저(320)는 상술한 과정을 통하여 산출된 신뢰할 수 있는 이웃 노드 집합에 해당하는 네트워크 노드 및/또는 메시지 타입의 주기적 메시지의 로우 데이터 및 N_평균에 기반하여, 관찰 구간(OW)을 결정한다.
관찰 구간(OW)는 목표 PDV 및 신뢰도를 만족시킬 수 있는 최소 구간 길이 ~ 기 설정된 Hold Over Time의 범위 내에서 결정될 수 있다. 관찰 구간(OW)이 최소값에 가까울수록 네트워크 상황을 잘 반영할 수 있는 반면, 관찰 구간(OW)이 최대값(Hold Over Time)에 가까울수록 PDV값이 감소되고 신뢰도가 높아진다. 더 구체적으로, 상기 관찰 구간(OW)은 설정 범위내의 최소값으로부터 순차적으로 증가시키면서 해당 관찰 구간(OW) 동안의 PDV 값을 계산하여, 목표 PDV 값을 맞출 수 있는 최소의 값으로 설정할 수 있다.
이렇게 산출된 관찰 구간(OW)의 정보는 포스트-싱크로나이저(330)로 전달되어, 비정상상황(RM 상황)이 발생 시 상기 관찰 구간(OW) 동안의 동기화 정보를 학습할 수 있도록 한다.
또한, 상기 프리-싱크로나이저(320)는 상기 결정한 관찰 구간(OW) 동안의 신뢰할 수 있는 이웃 노드 집합에 포함된 네트워크 노드의 주기적 메시지에 대한 데이터로부터 얻은 동기화 정보를 클럭 드리프트 이퀄라이저(340)로 전달하여, 정상 상황에서의 동기화 정보에 대한 사전학습이 이루어질 수 있도록 한다.
상기 S105 단계 내지 S120 단계는 본 발명에 따른 클럭 동기화 장치가 동작하는 동안 반복적으로 수행될 수 있으며, 이를 통하여 최근의 네트워크 상황에 맞추어 가장 신뢰성 있는 관찰 구간(OW) 및 신뢰할 수 있는 이웃 노드 집합을 추출할 수 있다.
상기와 같은 과정이 이루어지는 동안, 본 발명에 따른 클럭 동기화 장치의 클럭 모듈(200)은 동기화 모듈(210)을 통해서, 마스터 장치(11)와 PTP 동기화 메시지를 교환하고, 이를 기반으로 하드웨어 클럭(220)의 동기화를 수행한다.
이때, 상기 동기화 모듈(210)은 마스터 장치(11)로부터 PTP 동기화 메시지의 송수신에 이상이 감지되면, 비정상 상황(RM 상황)이 발생한 것으로 판단하여, 위험 관리 모듈(300), 특히, 포스트-싱크로나이저(330)로 RM 지시기(RM indicator)를 전송한다(S125)
상기 RM 지시자를 통해서 RM 상황이 인지되면, 포스트-싱크로나이저(330)는 데이터 프로세서(310)로부터 신뢰할 수 있는 이웃 노드 집합에 해당하는 네트워크 노드들의 데이터를 수신하고, 이와 함께 프리-싱크로나이저(320)로부터 전달받은 관찰 구간(OW) 정보를 이용하여, 상기 신뢰할 수 있는 이웃 노드 집합으로부터 전달받은 데이터에 기반한 동기화 정보(Sync)를 생성하고, 생성한 동기화 정보를 클럭 드리프트 이퀄라이저(340)로 전달하여, 하드웨어 클럭(220)의 클럭 동기를 맞추도록 처리한다(S130~S150).
상기 과정을 더 구체적으로 설명하면 다음과 같다.
먼저, 포스트 싱크로나이저(330)는 기 결정된 관찰 구간(OW) 동안에 상기 신뢰할 수 있는 이웃 노드 집합에 포함된 복수의 네트워크 노드 NE_i의 주기적 메시지에 대한 정보를 기준으로, 동기화 간격 정보(Sync Interval)를 산출한다(S130). 상기 동기 간격 정보는, 상기 관찰 구간(OW) 내에서 수집된 각 주기적 메시지의 수집 간격을 나타낸다. 상기 포스트-싱크로나이저(330)는 상기 동기화 간격 정보를 클럭 드리프트 이퀄라이저(340)로 전달한다.
이에, 상기 클럭 드리프트 이퀄라이저(340)는 하드웨어 클럭(220)로부터 전달받은 클럭 신호를 이용하여, 상기 관찰 구간(OW) 동안의 신뢰할 수 있는 이웃 노드 집합에 포함된 각 네트워크 노드로부터 수집한 주기적 메시지의 간격 당 평균 클럭 수를 산출한다(S135).
이후, 상기 클럭 드리프트 이퀄라이저(340)는 상기 산출한 동기화 간격 당 클럭 수를 이전의 관찰 구간(OW)에서 얻은 값과 비교하여, 이전 관찰 구간(OW) 대비 얼마나 동기가 틀어져 있는지를 나타나는 드리프트 에러값(Drift Error_i). 을 각각의 네트워크 노드 NE_i 별로 산출한다(S140).
그리고, 복수의 네트워크 노드로부터 수집한 주기적 메시지를 기준으로 산출한 드리프트 에러값의 평균을 산출하여, 최종 드리프트 에러값을 구하고, 이 정보를 하드웨어 클럭(220)으로 전송하여, 상기 드리프트 에러값만큼 보정이 이루어지도록 한다(S145).
이러한 일련의 과정을 통하여 비정상 상황(RM 상황)에서도 클럭 모듈(200)의 하드웨어 클럭(220)에 대한 동기화가 이루어지게 되며, 따라서, 상기 하드웨어 클럭(220)에서 생성되는 클럭을 기반으로 정상 서비스가 가능하게 되며, Hold Over Time이 더 길어지도록 할 수 있다.
본 발명에 따른 클럭 동기화 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현 예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 신뢰성 보장이 반드시 필요한 네트워크 인프라의 특성을 감안하여, 많은 비용을 유발하는 코어 인프라의 추가 구축이나 보완 없이, 기 구축되어 있는 네트워크 인프라에 적용 가능한 클럭 동기화 기술이다.
특히, 본 발명은 특정 네트워크 노드가 다른 이웃 네트워크 노드와의 사이에서 교환되는 주기적 메시지들을 수집하여, 상기 주기적 메시지들로부터 동기화 정보를 산출하여 학습하고, PTP 기반의 클럭 동기화 수행 중 동기화 메시지가 정상적으로 수신되지 못하는 비정상 상황의 발생 시, 상기 학습된 동기화 정보를 이용하여 클럭의 드리프트를 보정하는 것으로서, 이를 통해서 PTP 동기화가 정상적으로 수행되지 않더라도 해당 네트워크 노드의 hold-over time을 더 증가시킬 수 있으며, 이를 통해서 RM 대응 능력을 향상시킬 수 있다.
이러한 본 발명은 클럭 동기화를 위한 추가적인 메시지를 생성하지 않아도 되므로, 네트워크 상에서 불필요한 오버헤드를 줄일 수 있다.
100: 네트워크 인터페이스 모듈
200: 클럭 모듈
210: 동기화 모듈
220: 하드웨어 클럭
300: 위험 관리 모듈
310: 데이터 프로세서
320: 프리-싱크로나이저
330: 포스트-싱크로나이저
340: 클럭 드리프트 이퀄라이저

Claims (10)

  1. 네트워크 노드에서의 이웃 노드 간 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법에 있어서,
    상기 네트워크 노드가 이웃한 복수의 다른 네트워크 노드로부터 전송된 복수의 주기적 메시지를 수집하여, 노드별 또는 노드 및 메시지 타입별로 주기적 메시지의 수신 정보를 저장하는 단계;
    패킷 지연 분산값을 기반으로 상기 노드별 또는 노드 및 메시지 타입별로 수집한 주기적 메시지에 대한 신뢰도를 평가하는 단계;
    신뢰도 평가를 기준으로 상기 복수의 다른 네트워크 노드 중에서 신뢰할 수 있는 이웃 노드 집합 및 신뢰할 수 있는 관찰 구간을 산출하는 단계;
    관찰 구간 별로 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 다른 네트워크 노드로부터 수집한 주기적 메시지로부터 동기화 정보를 산출하는 단계;
    상기 네트워크 노드가 마스터 장치와의 동기화 메시지 교환을 기반으로 클럭 동기화를 수행하면서, 상기 동기화 메시지가 정상적으로 송수신되지 않은 비정상 상황이 발생되는지를 확인하는 단계; 및
    상기 비정상 상황이 발생한 경우, 이전 관찰 구간에서 산출한 동기화 정보와 현재 관찰 구간에서 산출한 동기화 정보의 차이만큼 클럭의 드리프트를 보정하는 단계를 포함하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 신뢰도를 평가하는 단계는
    하기 수학식 1에 의하여 네트워크 노드별 또는 네트워크 노드 및 메시지 타입 별 신뢰 점수를 산출하는 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
    [수학식 1]
    Figure 112017105576118-pat00012

    (
    Figure 112017105576118-pat00013
    은 네트워크 노드 NE_i로부터 단위 시간(Unit Time) 동안에 수집한 주기적 메시지에 기반하여 산출된 PDV 값을 나타내며,
    Figure 112017105576118-pat00014
    은 클럭 동기화 시에 요구되는 요구되는 목표 PDV 값을 나타내며,
    Figure 112017105576118-pat00015
    은 단위 시간 동안에 네트워크 노드 NE_i로부터의 수집한 주기적 메시지들의 평균 간격을 나타낸다.)
  4. 제1항에 있어서, 상기 신뢰할 수 있는 이웃 노드 집합 및 신뢰할 수 있는 관찰 구간을 산출하는 단계는,
    상기 평가한 신뢰도 순으로 네트워크 노드를 상기 신뢰할 수 있는 이웃 노드 집합에 포함시키면서, 각 이웃 노드 집합의 PDV 값을 산출하여, 상기 산출한 PDV 값이 목표 PDV값을 넘지 않으면서 표준 오차가 최소화되는 이웃 노드 집합을 신뢰할 수 있는 이웃 노드 집합으로 산출하는 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
  5. 제1항에 있어서, 상기 신뢰할 수 있는 이웃 노드 집합 및 신뢰할 수 있는 관찰 구간을 산출하는 단계는,
    관찰 구간을 최소값에서 점차 증가시키면서, 해당 관찰 구간 동안에 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 복수의 네트워크 노드로부터 수집한 주기적 메시지를 기반으로 PDV 값을 산출하여, 상기 산출한 PDV 값이 목표 PDV 값에 맞출 수 있는 최소의 구간 값을 상기 관찰 구간으로 결정하는 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
  6. 제5항에 있어서, 상기 관찰 구간은
    기 설정된 홀드 오버 타임(Hold-Over Time) 이내의 범위에서 산출되는 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
  7. 제1항에 있어서, 상기 동기화 정보를 산출하는 단계는
    기 결정된 관찰 구간 동안에 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 네트워크 노드로부터 수집한 주기적 메시지들의 동기화 간격 당 클럭 수를 산출하는 단계인 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
  8. 제7항에 있어서, 상기 보정하는 단계는
    이전 관찰 구간 동안에 수집한 주기적 메시지들의 동기화 간격 당 클럭 수와 현재 관찰 구간 동안에 수집한 주기적 메시지들의 동기화 간격 당 클릭 수를 비교하여, 클럭의 드리프트 오차를 산출하고, 상기 드리프트 오차를 보정하는 단계인 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법.
  9. 특정 네트워크 노드가 마스터 장치로부터 수신하는 동기화 메시지 및 다른 네트워크 노드로부터 서비스 수행을 위해 수신하는 주기적 메시지를 수집하는 네트워크 인터페이스 모듈;
    동기화 메시지 교환을 기반으로 하드웨어 클럭 동기화를 수행하며, 상기 동기화 메시지가 정상적으로 송수신되지 않으면 비정상 상황으로 판단하여 판단된 결과를 위험 관리 모듈에 알리는 클럭 모듈; 및
    노드별 또는 노드 및 메시지 타입별로 수집한 주기적 메시지에 대한 신뢰도를 평가하여, 신뢰할 수 있는 이웃 노드 집합 및 관찰 구간을 설정하여, 관찰 구간 별로 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 다른 네트워크 노드로부터 수집한 주기적 메시지로부터 동기화 정보를 산출하여 학습하면서, 상기 클럭 모듈로부터 비정상 상황이 통지되면, 이전 관찰 구간에서 산출한 동기화 정보와 현재 관찰 구간에서 산출한 동기화 정보의 차이만큼 클럭의 드리프트를 보정하는 위험 관리 모듈을 포함하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 장치.
  10. 제9항에 있어서, 상기 위험 관리 모듈은
    상기 네트워크 인터페이스 모듈을 통해 수집한 주기적 메시지들의 수신 정보를 네트워크 노드별 또는 네트워크 노드 및 메시지 타입 별로 구분하여 데이터베이스화하는 데이터 프로세서;
    상기 네트워크 노드별 또는 네트워크 노드 및 메시지 타입 별로 수집된 주기적 메시지의 수신 정보에 대한 PDV(Packet Delay Variance) 값을 산출하고, 이를 목표 PDV값과 비교하여 상기 네트워크 노드별 또는 네트워크 노드 및 메시지 타입 별로 신뢰 점수를 산출하고, 상기 신뢰 점수를 기준으로 신뢰할 수 있는 이웃 노드 집합 및 관찰 구간을 산출하는 프리-싱크로나이저;
    관찰 구간 별로 상기 신뢰할 수 있는 이웃 노드 집합에 속하는 네트워크 노드로부터 수집한 주기적 메시지들의 동기화 정보를 산출하는 포스트-싱크로나이저; 및
    이전 관찰 구간에서 산출한 동기화 정보와 현재 관찰 구간에서 산출한 동기화 정보의 차이만큼 클럭의 드리프트를 보정하는 클럭 드리프트 이퀄라이저를 포함하는 것을 특징으로 하는 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 장치.
KR1020170139373A 2017-10-25 2017-10-25 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치 KR102195766B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170139373A KR102195766B1 (ko) 2017-10-25 2017-10-25 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170139373A KR102195766B1 (ko) 2017-10-25 2017-10-25 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190046148A KR20190046148A (ko) 2019-05-07
KR102195766B1 true KR102195766B1 (ko) 2020-12-28

Family

ID=66656500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170139373A KR102195766B1 (ko) 2017-10-25 2017-10-25 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102195766B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210117829A1 (en) * 2019-10-16 2021-04-22 International Business Machines Corporation Learning pattern dictionary from noisy numerical data in distributed networks
KR102245894B1 (ko) * 2020-02-13 2021-04-28 충북대학교 산학협력단 애드혹 네트워크에서의 동기화 방법
KR102326764B1 (ko) * 2020-04-20 2021-11-15 충북대학교 산학협력단 무선 애드혹 네트워크에서 이웃 노드의 상태 정보를 이용하여 시간동기화 프로토콜의 이동성 및 보안성을 향상하는 방법
CN117062207A (zh) * 2022-05-06 2023-11-14 华为技术有限公司 通信方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000050974A2 (en) * 1999-02-26 2000-08-31 Reveo, Inc. Globally time-synchronized systems, devices and methods
CN101601251A (zh) * 2007-01-31 2009-12-09 国际商业机器公司 定义协调定时网络中的层-1配置
US8045482B2 (en) * 2008-02-08 2011-10-25 Yahoo! Inc. Location tracking based on proximity-based ad hoc network
FR2939587B1 (fr) 2008-12-09 2011-04-08 Alcatel Lucent Horloge pour un noeud d'un reseau a commutation de paquets et procede de synchronisation associe.
KR101269176B1 (ko) * 2011-03-31 2013-05-30 경북대학교 산학협력단 고장대처 시간동기 방식을 이용한 무선 통신 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20190046148A (ko) 2019-05-07

Similar Documents

Publication Publication Date Title
KR102195766B1 (ko) 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치
US9344981B2 (en) Method for synchronizing clocks in a communication network
KR100735344B1 (ko) 통신 시스템에서 기지국들 간의 시간 동기 획득 방법 및 시스템
US9226252B2 (en) Recursive time synchronization protocol method for wireless sensor networks
US20150341881A1 (en) Synchronization between devices of same or different wireless network
JP5804086B2 (ja) ノード装置および時刻同期方法
EP2448168A1 (en) Method and system for bearing time synchronization protocol in optical transport network
US20190132071A1 (en) Sensor synchronization method, sensor data acquisition terminal, and sensor network system
JP2008228177A (ja) 無線装置
WO2017080247A1 (zh) 同步方法及装置
WO2022063078A1 (zh) 数据处理方法及其装置
US9432957B2 (en) Method and a system for hierarchical time synchronization in an ad-hoc network
US20220021471A1 (en) Communication device, communication method, computer program product, and communication system
KR100686241B1 (ko) 무선 센서 네트워크를 위한 시각 동기화 방법
US9344266B2 (en) Transmission system, transmission apparatus, and clock synchronization method
KR101214452B1 (ko) 무선 센서 네트워크에서 센서 노드들간의 클럭 동기화 방법
CN103491624A (zh) 传感器网络中事件时间标签的时间同步方法
JP2019016872A (ja) 同期システム、通信装置、通信方法およびプログラム
JP7270774B2 (ja) D2d同期のためのシグナリング方法
CN108712470B (zh) 一种路由数据同步方法及装置、计算机装置和存储介质
KR20150027606A (ko) 센서 네트워크에서의 시간 동기 장치 및 방법
KR101605316B1 (ko) Ptp 에서 수신 딜레이를 이용한 주파수 오차 추정 장치
EP3113415A1 (en) Network management commands
JP6965290B2 (ja) 無線通信装置、無線通信方法、および無線通信システム
US11139947B2 (en) Method for the time-synchronized processing of data of a field device of process automation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant