KR102174089B1 - 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법 - Google Patents
가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법 Download PDFInfo
- Publication number
- KR102174089B1 KR102174089B1 KR1020190049780A KR20190049780A KR102174089B1 KR 102174089 B1 KR102174089 B1 KR 102174089B1 KR 1020190049780 A KR1020190049780 A KR 1020190049780A KR 20190049780 A KR20190049780 A KR 20190049780A KR 102174089 B1 KR102174089 B1 KR 102174089B1
- Authority
- KR
- South Korea
- Prior art keywords
- time synchronization
- hop neighbor
- neighbor node
- average
- virtual link
- Prior art date
Links
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/04—Speed or phase control by synchronisation signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법이 개시된다. 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신하는 타이밍 메시지 수신 모듈; 상기 2홉 이웃 노드와 가상 링크를 설정하는 가상 링크 설정 모듈; 상기 1홉 이웃 노드의 시간 동기 정보 및 상기 가상 링크 설정 모듈에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산하는 클록 속도 평균 계산 모듈; 상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 시간 동기화 적용 모듈을 구성한다. 상술한 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법에 의하면, 동기식의 평균 컨센서스 알고리즘인 GTSP에서 1홉 이웃 노드의 시간 동기 정보뿐만 아니라 2홉 이웃 노드의 시간 동기 정보까지 모두 이용하여 시간 동기화를 하도록 구성됨으로써, 기존 GTSP에 비하여 동기화 속도를 월등히 높일 수 있는 효과가 있다.
Description
본 발명은 시간 동기화 프로토콜의 성능 개선 장치 및 방법에 관한 것으로서, 구체적으로는 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법에 관한 것이며, 좀 더 구체적으로는 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법에 관한 것이다.
TDMA 방식의 다중 접속 프로토콜을 활용하기 위해서는 통신 노드(node)들 사이의 시간을 동기화하는 시간 동기 프로토콜(time synchronization protocol)이 필수적으로 요구된다.
현재까지 TDMA를 이용하는 무선 애드혹 네트워크(Ad-hoc network)의 시간 동기화를 위하여 다양한 컨센서스(consensus) 기반 분산 프로토콜이 개발되었다.
널리 사용되는 두 가지 컨센서스 기반의 분산 프로토콜은 각 노드의 시간 정보를 평균하는 평균 컨센서스 알고리즘과 각 노드 중 최대(최소) 시간값에 동기화하는 최대(최소) 컨센서스 알고리즘이 있다.
최대 컨센서스 알고리즘은 평균 컨센서스 알고리즘보다 간단하고 빠르게 동작할 수 있다는 장점이 있으나, 특정 노드에 결함이 발생하거나 악성 노드가 포함될 경우 해당 노드로 인하여 비정상적으로 높거나 낮은 시간값을 요구하게 되어 동기화 자체가 제대로 이루어지지 않게 되는 단점이 있다.
이러한 이유로 인해 비교적 느린 동기화 속도에도 불구하고 안정성을 기하기 위해 최대 컨센서스 알고리즘 보다는 평균 컨센서스 알고리즘이 더 선호되고 있는 실정이다. 또한, 평균 컨센서스 알고리즘은 최대 컨센서스 알고리즘보다 높은 정확도를 제공할 수 있다는 장점이 있다.
평균 기반 컨센서스 분산 알고리즘은 동기식 알고리즘과 비동기식 알고리즘의 두 가지 범주로 분류할 수 있다. 동기식 알고리즘으로서는 GTSP(Gradient Time Synchronization Protocol)가 있고, 비동기식 알고리즘으로서는 ATSP(Average Time Synchronization Protocol)가 있다.
여기서, 동기식 알고리즘은 GTSP에서는 각 노드가 먼저 자신의 가까운 이웃들로부터 타이밍 메시지(timing message)를 수집하고, 타이밍 메시지들을 동시에 사용하여 자신의 로컬 클록(local clock)을 조정하도록 구성된다.
반면, 비동기식 알고리즘인 ATSP에서는 각 노드가 타이밍 메시지를 수신할 때마다 클록을 순차적으로 업데이트하도록 구성된다.
본 발명의 목적은 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치를 제공하는 데 있다.
본 발명의 다른 목적은 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치는, 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신하는 타이밍 메시지 수신 모듈; 상기 2홉 이웃 노드와 가상 링크를 설정하는 가상 링크 설정 모듈; 상기 1홉 이웃 노드의 시간 동기 정보 및 상기 가상 링크 설정 모듈에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산하는 클록 속도 평균 계산 모듈; 상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 시간 동기화 적용 모듈을 포함하도록 구성될 수 있다.
여기서, 상기 타이밍 메시지에 포함된 시간 동기 정보는, 상기 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드의 개수, 각 아이디(ID), 상기 1홉 이웃 노드를 기준으로 하는 2홉 이웃 노드의 상대 속도를 포함하도록 구성될 수 있다.
그리고 상기 시간 동기화 적용 모듈은, 상기 1홉 이웃 노드와의 시간 동기화를 수행하고, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드와의 시간 동기화를 수행하도록 구성될 수 있다.
상술한 본 발명의 다른 목적에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법은, 타이밍 메시지 수신 모듈이 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신하는 단계; 가상 링크 설정 모듈이 상기 2홉 이웃 노드와 가상 링크를 설정하는 단계; 클록 속도 평균 계산 모듈이 상기 1홉 이웃 노드의 시간 동기 정보 및 상기 가상 링크 설정 모듈에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산하는 단계; 시간 동기화 적용 모듈이 상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 단계를 포함하도록 구성될 수 있다.
여기서, 상기 타이밍 메시지에 포함된 시간 동기 정보는, 상기 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드의 개수, 각 아이디(ID), 상기 1홉 이웃 노드를 기준으로 하는 2홉 이웃 노드의 상대 속도를 포함하도록 구성될 수 있다.
그리고 상기 시간 동기화 적용 모듈이 상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 단계는, 상기 1홉 이웃 노드와의 시간 동기화를 수행하고, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드와의 시간 동기화를 수행하도록 구성하도록 구성될 수 있다.
상술한 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법에 의하면, 동기식의 평균 컨센서스 알고리즘인 GTSP에서 1홉 이웃 노드의 시간 동기 정보뿐만 아니라 2홉 이웃 노드의 시간 동기 정보까지 모두 이용하여 시간 동기화를 하도록 구성됨으로써, 기존 GTSP에 비하여 동기화 속도를 월등히 높일 수 있는 효과가 있다.
한편, 이웃 노드가 많은 노드만 시간 동기화의 계산 과정에 참여하도록 구성됨으로써, 이웃 노드가 적은 노드의 동기화가 천천히 진행되어 다른 노드의 동기화 상태에 영향을 미치게 되는 문제를 해결하는 효과가 있다.
아울러 1홉 이웃 노드나 2홉 이웃 노드 중에서 엣지 노드에 대하여는 시간 동기화의 평균화에 참여하는 것을 배제하도록 구성됨으로써, 엣지 노드에 의하여 시간 동기가 지연되는 문제를 해결하는 효과가 있다.
도 1은 전송 범위(transmission range)에 대한 라운드(round) 수 및 이웃 노드의 수와의 관계를 나타내는 그래프이다.
도 2는 본 발명의 일 실시예에 따른 물리 링크 노드와 가상 링크 노드의 네트워크를 나타내는 모식도이다.
도 3은 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치의 블록 구성도이다.
도 4는 본 발명에 따른 시간 동기 오차와 종래 기술에 따른 시간 동기 오차를 나타내는 그래프이다.
도 5는 본 발명에 따른 시간 동기 완료 시간과 종래 기술에 따른 시간 동기 완료 시간을 나타내는 그래프이다.
도 6은 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 물리 링크 노드와 가상 링크 노드의 네트워크를 나타내는 모식도이다.
도 3은 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치의 블록 구성도이다.
도 4는 본 발명에 따른 시간 동기 오차와 종래 기술에 따른 시간 동기 오차를 나타내는 그래프이다.
도 5는 본 발명에 따른 시간 동기 완료 시간과 종래 기술에 따른 시간 동기 완료 시간을 나타내는 그래프이다.
도 6은 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법의 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 전송 범위(transmission range)에 대한 라운드(round) 수 및 이웃 노드의 수와의 관계를 나타내는 그래프이다.
일반적으로 컨센서스 알고리즘의 평균 동기화 속도는 네트워크 조건에 따라 달라진다. 그 중 하나가 네트워크 연결 조건인데, 노드 사이의 링크(link)가 많아 네트워크 연결성이 강할수록 시간 동기 속도가 빨라진다는 것이 이미 입증되어 있다.
도 1의 (A)는 전송 범위에 대해 링크의 수와 라운드의 수를 나타낸다. 전송 범위를 증가시켜 이웃 노드의 수가 많아지면, 즉, 네트워크 연결성이 강해질수록 링크의 숫자는 커지면서 동기화에 필요한 라운드의 수는 줄어든다.
즉, 시간 동기화의 완료에 걸리는 시간이 점점 줄어든다.
도 1의 (B)에서와 같이 이웃 노드의 수를 늘리면 시간 동기화 속도를 높일 수 있겠지만, 물리 링크(physical link)에 연결된 이웃 노드의 수를 늘리는 것은 현실적으로 어렵고, 노드의 에너지 소모량 증가하며 나머지 프로토콜에 악영향을 미치는 점을 간과할 수 없다.
이에, 본 발명에서는 단순히 물리 연결이 된 이웃 노드의 수를 늘려 전송 범위를 증가시키는 것이 아니라, 실제로 물리 링크로 연결되지 않은 노드에 대해 가상 링크(virtual link)를 설정하여 네트워크의 시간 동기화의 평균화에 참여하는 노드의 수를 늘리도록 구성된다.
실제로는 전송 범위를 증가시키지 않지만 네트워크의 전송 범위를 증가시켜 동기화의 효율을 증가시키는 효과를 얻을 수 있으며, 실질적인 전송 범위가 늘어나는 것이 아니기 때문에 물리적 하드웨어에 의한 제한, 전력 소비량의 증가의 문제로부터도 자유로울 수 있다.
도 2는 본 발명의 일 실시예에 따른 물리 링크 노드와 가상 링크 노드의 네트워크를 나타내는 모식도이다.
도 2를 참조하면, 가상 링크의 설정에 의해 네트워크의 전송 범위를 늘리는 방안이 구체화되어 있다.
특정 노드 i를 기준으로 볼 때, 1홉 이웃 노드 j1, j2, j3와 1홉 이웃 노드에 직접 물리적으로 연결된 2홉 이웃 노드 k1, k2, k3 등이 도시되어 있다.
기존의 GTSP에서는 시간 동기화 평균화 계산 과정에 1홉 이웃 노드만 참여하였지만, 본 발명에서는 1홉 이웃 노드에 물리 링크로 연결된 2홉 이웃 노드에 가상 링크를 설정하여 시간 동기화 평균화 계산 과정에 참여하도록 구성된다.
이에, 전송 범위는 늘어나지만, 실제로 물리 링크의 수가 늘어나지는 않는다.
시간 동기화의 계산 과정이 줄어들고 네트워크의 부담은 증가하지 않는다.
여기서, 엣지 노드(edge node)가 1홉 이웃 노드나 2홉 이웃 노드에 해당되는 경우라 하더라도 시간 동기화의 평균화에 참여하는 것을 배제하도록 구성될 수 있다.
엣지 노드는 그 특성상 물리 링크로 연결된 이웃 노드의 수가 적어 시간 동기화 평균화 계산 과정에 지연 요소로 작용하게 되기 때문이다.
도 3은 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치의 블록 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치(100)는 타이밍 메시지 수신 모듈(110), 가상 링크 설정 모듈(120), 클록 속도 평균 계산 모듈(130), 시간 동기화 적용 모듈(140), 시간 동기 평균화 참여 노드 실시간 설정 모듈(150), 엣지 노드 평균화 참여 실시간 설정 모듈(160)을 포함하도록 구성될 수 있다.
가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치(100)는 동기식 알고리즘으로서는 기존의 GTSP(Gradient Time Synchronization Protoocl)에 기반하여 시간 동기화 성능을 개선하는 장치이다.
이하, 세부적인 구성에 대하여 설명한다.
타이밍 메시지 수신 모듈(110)은 이웃 노드들로부터 타이밍 메시지(timing message)를 수신하도록 구성될 수 있다.
타이밍 메시지 수신 모듈(110)은 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신하도록 구성될 수 있다.
여기서, 타이밍 메시지에 포함된 시간 동기 정보는 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값, 1홉 이웃 노드에 연결된 2홉 이웃 노드의 개수, 각 아이디(ID), 1홉 이웃 노드를 기준으로 하는 2홉 이웃 노드의 상대 속도를 포함하도록 구성될 수 있다.
가상 링크 설정 모듈(120)은 2홉 이웃 노드에 대해 가상 링크(virtual link)를 설정하도록 구성될 수 있다.
클록 속도 평균 계산 모듈(130)은 타이밍 메시지에 포함된 1홉 이웃 노드의 시간 동기 정보 및 가상 링크 설정 모듈(120)에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산하도록 구성될 수 있다. 즉, 시간 동기화 평균 계산을 수행할 수 있다.
클록 속도 평균 계산 모듈(130)은 각각의 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값과, 1홉 이웃 노드에 연결된 2홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록의 상대 속도를 이용하여 평균 클록 속도를 계산할 수 있다
즉, 특정 노드는 2홉 이웃 노드와 직접적인 물리 링크로 연결되어 있지 않아도 2홉 이웃 노드와 연결된 것과 같은 효과를 얻을 수 있다.
위 시간 동기화 평균화 계산 과정을 좀 더 구체적으로 설명하면 다음과 같다.
각 노드에는 하드웨어 클록(hardware clock)과 소프트웨어 클록(software clock)이 있다고 가정할 수 있다.
하드웨어 클록은 외부에서 크리스탈 오실레이터(crystal oscillator)로 카운트한 시간을 나타내며, 하드웨어 및 주변 환경에 따라 하드웨어 클록의 증가 속도가 달라지게 된다. 노드 i의 하드웨어 클록의 값 는 다음과 같이 계산될 수 있다.
하드웨어 클록은 연속적으로 실행되고 수정할 수 없기 때문에 로컬 클록(local clock)으로 기준으로 시간을 표현하고 동기화하도록 정의할 수 있다.
여기서, 는 로지컬 클록(logical clock) 속도이고 는 로지컬 클록 오프셋(logical clock offset)이다. 시간 동기화 프로토콜의 목표는 각 노드의 로지컬 클록(logical clock) 가 동일해지도록 와 를 추정하는 것이다.
GTSP로 대표되는 평균 컨센서스 기반의 시간 동기화 프로토콜에서 각 노드는 인접 노드의 상대적인 속도에 따라 로지컬 클록(logical clock) 속도를 조정한다. 서로 이웃해 있는 노드 i와 j의 상대적인 속도는 다음과 같은 두 개의 식으로 계산될 수 있다.
각각의 반복적인 상황에서 새로운 클록 속도는 다음과 같이 계산될 수 있다.
여기서, 는 노드 i의 1홉 이웃 노드들의 집합이다. 클록 오프셋 값도 수학식 3과 같이 계산될 수 있으며, 클록 속도와는 독립적으로 계산될 수 있다. 동기화 완료 시간의 대부분은 클록 속도를 조정하는 데 사용될 수 있다.
따라서 동기화 완료를 빠르게 하기 위해서는 이 시간을 단축시킬 필요가 있다.
위의 식을 이용하여 각 노드가 상대적인 속도를 아는 노드들이 많아질수록 클록 속도를 보상 또는 조정하는 데 필요한 반복 횟수가 감소한다는 것을 알 수 있다.
본 발명에서는 각 노드들은 직접적인 타이밍 메시지를 교환하지 않고도 1홉 거리의 이웃 노드뿐만 아니라 2홉 거리의 이웃 노드와의 상대적인 속도를 계산할 수 있다.
예를 들어 노드 j를 통해 연결되는 2홉 거리의 이웃 노드 i와 k에 대하여 다음과 같이 상대 속도를 계산할 수 있다.
여기서 는 노드 i의 2홉 거리 이웃 노드들의 집합이다. 위 수학식 6은 도 2에서 보는 바와 같이 각 노드와 그 2홉 이웃 노드 사이에 가상 링크가 존재한다고 가정할 때의 계산방식으로 해석할 수 있다.
시간 동기화 적용 모듈(140)은 클록 속도 평균 계산 모듈(130)에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하도록 구성될 수 있다.
시간 동기화 적용 모듈(140)은 1홉 이웃 노드 및 2홉 이웃 노드와의 클록 오프셋(clock offset)을 조정하여 적용하고, 1홉 이웃 노드 및 2홉 이웃 노드의 클록 드리프트(clock drift)를 조정하여 적용하도록 구성될 수 있다. 즉, 시간 동기화는 오프셋 조정과 클록 드리프트의 조정을 의미한다.
여기서, 오프셋 조정은 두 노드 간의 시간 차이를 맞추는 것을 의미한다. 예를 들어, 어느 노드가 12시이고 다른 노드가 12시 10분이라고 하면 10분의 차이를 맞추어 일치시키는 것이다.
그리고 클록 드리프트 조정은 시간이 변화하는 속도의 차이를 맞추는 것을 의미한다. 예를 들어, 어느 노드가 1시간 흐르는 동안 다른 노드는 50분 흐른다고 할 때, 각 노드의 클록 속도를 조정하는 것을 의미한다.
시간 동기 평균화 참여 노드 실시간 설정 모듈(150)은 여러 노드들 중에서 물리 링크로 연결된 1홉 이웃 노드와 가상 링크가 설정된 2홉 이웃 노드의 수가 적은 노드에 대해서는 시간 동기 평균화 계산 과정에 참여하는 것을 배제하도록 구성될 수 있다. 이웃 노드의 수가 적으면 시간 동기화에 지연을 가져오는 문제점이 있기 때문에 배제를 하도록 구성될 수 있다.
엣지 노드 평균화 참여 실시간 설정 모듈(160)는 엣지 노드(edge node)에 대해 시간 동기 평균화 계산 과정에 참여하는 것을 배제하도록 구성될 수 있다.
엣지 노드의 경우 중앙에 있는 노드에 비해 이웃 노드의 수가 적은 경우가 많으므로, 위와 같은 배제에 의해 시간 동기화에 지연을 가져오는 문제점을 회피하기 위해서이다.
여기서, 엣지 노드는 타이밍 메시지에 담겨 있는 이웃 노드들의 수를 기준으로 구별될 수 있다. 따라서 엣지 노드는 그들의 클록을 일반 노드의 평균적인 속도에 따르도록 업데이트하도록 할 수 있다.
도 4는 본 발명에 따른 시간 동기 오차와 종래 기술에 따른 시간 동기 오차를 나타내는 그래프이다.
본 발명의 알고리즘은 OPNET 시뮬레이션을 통하여 검증하였으며, 도 3에서는 GTSP와 본 발명의 알고리즘 간의 시간에 따른 시간 동기 오차의 변화를 나타내고 있다.
GTSP 대비 본 발명의 알고리즘에서 시간 동기 오차를 특정 임계값까지 줄이는 데까지 걸리는 시간이 획기적으로 줄어들었음을 알 수 있다.
도 5는 본 발명에 따른 시간 동기 완료 시간과 종래 기술에 따른 시간 동기 완료 시간을 나타내는 그래프이다.
도 5에서는 전송 범위의 설정에 따른 시간 동기 완료 시간을 비교하여 나타내고 있으며, 본 발명의 알고리즘이 기존의 GTSP에 비해 최대 400% 향상된 성능을 가졌다는 것을 알 수 있다.
도 6은 본 발명의 일 실시예에 따른 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법의 흐름도이다.
도 6을 참조하면, 타이밍 메시지 수신 모듈(110)이 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신한다(S101).
여기서, 상기 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드의 개수, 각 아이디(ID), 상기 1홉 이웃 노드를 기준으로 하는 2홉 이웃 노드의 상대 속도를 포함하도록 구성될 수 있다.
다음으로, 가상 링크 설정 모듈(120)이 2홉 이웃 노드와 가상 링크를 설정한다(S102).
다음으로, 클록 속도 평균 계산 모듈(130)이 1홉 이웃 노드의 시간 동기 정보 및 가상 링크 설정 모듈(120)에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산한다(S103).
다음으로, 시간 동기화 적용 모듈(140)이 클록 속도 평균 계산 모듈(130)에서 계산된 평균 클록을 이용하여 시간 동기화에 적용한다(S104).
여기서, 시간 동기화 적용 모듈(140)은 1홉 이웃 노드와의 시간 동기화를 수행하고, 1홉 이웃 노드에 연결된 2홉 이웃 노드와의 시간 동기화를 수행하도록 구성될 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 타이밍 메시지 수신 모듈
120: 가상 링크 설정 모듈
130: 클록 속도 평균 계산 모듈
140: 시간 동기화 적용 모듈
150: 시간 동기 평균화 참여 노드 실시간 설정 모듈
160: 엣지 노드 평균화 참여 실시간 설정 모듈
120: 가상 링크 설정 모듈
130: 클록 속도 평균 계산 모듈
140: 시간 동기화 적용 모듈
150: 시간 동기 평균화 참여 노드 실시간 설정 모듈
160: 엣지 노드 평균화 참여 실시간 설정 모듈
Claims (6)
- 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신하는 타이밍 메시지 수신 모듈;
상기 2홉 이웃 노드와 가상 링크를 설정하는 가상 링크 설정 모듈;
상기 1홉 이웃 노드의 시간 동기 정보 및 상기 가상 링크 설정 모듈에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산하는 클록 속도 평균 계산 모듈; 및
상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 시간 동기화 적용 모듈을 포함하고,
상기 타이밍 메시지에 포함된 시간 동기 정보는,
상기 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드의 개수, 각 아이디(ID), 상기 1홉 이웃 노드를 기준으로 하는 2홉 이웃 노드의 상대 속도를 포함하도록 구성되는 것을 특징으로 하는 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치.
- 삭제
- 제1항에 있어서, 상기 시간 동기화 적용 모듈은,
상기 1홉 이웃 노드와의 시간 동기화를 수행하고, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드와의 시간 동기화를 수행하도록 구성되는 것을 특징으로 하는 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치.
- 타이밍 메시지 수신 모듈이 물리적으로 연결된 1홉(hop) 이웃 노드(node)로부터 1홉 이웃 노드 및 2홉 이웃 노드와의 시간 동기화를 위한 시간 동기 정보를 포함하는 타이밍 메시지(timing message)를 수신하는 단계;
가상 링크 설정 모듈이 상기 2홉 이웃 노드와 가상 링크를 설정하는 단계;
클록 속도 평균 계산 모듈이 상기 1홉 이웃 노드의 시간 동기 정보 및 상기 가상 링크 설정 모듈에서 가상 링크가 설정된 2홉 이웃 노드의 시간 동기 정보를 이용하여 1 홉 이웃 노드 및 2 홉 이웃 노드의 평균 클록 속도(average clock rate)를 계산하는 단계; 및
시간 동기화 적용 모듈이 상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 단계를 포함하고,
상기 타이밍 메시지에 포함된 시간 동기 정보는,
상기 1홉 이웃 노드의 하드웨어 클록값 및 로지컬 클록값, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드의 개수, 각 아이디(ID), 상기 1홉 이웃 노드를 기준으로 하는 2홉 이웃 노드의 상대 속도를 포함하도록 구성되는 것을 특징으로 하는 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법.
- 삭제
- 제4항에 있어서, 상기 시간 동기화 적용 모듈이 상기 클록 속도 평균 계산 모듈에서 계산된 평균 클록을 이용하여 시간 동기화에 적용하는 단계는,
상기 1홉 이웃 노드와의 시간 동기화를 수행하고, 상기 1홉 이웃 노드에 연결된 2홉 이웃 노드와의 시간 동기화를 수행하도록 구성되는 것을 특징으로 하는 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190049780A KR102174089B1 (ko) | 2019-04-29 | 2019-04-29 | 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190049780A KR102174089B1 (ko) | 2019-04-29 | 2019-04-29 | 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102174089B1 true KR102174089B1 (ko) | 2020-11-04 |
Family
ID=73571157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190049780A KR102174089B1 (ko) | 2019-04-29 | 2019-04-29 | 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102174089B1 (ko) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100699510B1 (ko) | 2005-08-31 | 2007-03-23 | 강릉대학교산학협력단 | 무선 센서 네트워크를 위한 정확한 시간 동기화 프로토콜 |
KR20070106645A (ko) * | 2005-03-01 | 2007-11-02 | 아트멜 코포레이숀 | 다중위상 재정렬된 전압-제어형 발진기 및 이를 포함하는위상-고정 루프 |
KR20080023194A (ko) * | 2006-09-08 | 2008-03-12 | 주식회사 콤텍시스템 | 패킷망을 매개로 하는 시분할 다중화 서비스에서의 클록복원 방법 |
KR20110003327A (ko) * | 2008-03-17 | 2011-01-11 | 와이-랜, 인코포레이티드 | 통신 디바이스들에 클록을 분배하기 위한 시스템들 및 방법들 |
US20140140269A1 (en) * | 2012-11-16 | 2014-05-22 | Qualcomm Incorporated | Methods and apparatus for enabling distributed frequency synchronization |
KR20150038127A (ko) | 2012-08-22 | 2015-04-08 | 알까뗄 루슨트 | 원격통신 네트워크에서 정밀 시간 프로토콜에 의해 분산된 클록들을 동기화하는 방법 |
KR20190001252A (ko) * | 2017-06-27 | 2019-01-04 | 인천대학교 산학협력단 | 로라 광역 네트워크에서 복수의 엔드 디바이스로 다운링크 방송 메시지를 송신하는 방법 및 로라 광역 네트워크 시스템 |
-
2019
- 2019-04-29 KR KR1020190049780A patent/KR102174089B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070106645A (ko) * | 2005-03-01 | 2007-11-02 | 아트멜 코포레이숀 | 다중위상 재정렬된 전압-제어형 발진기 및 이를 포함하는위상-고정 루프 |
KR100699510B1 (ko) | 2005-08-31 | 2007-03-23 | 강릉대학교산학협력단 | 무선 센서 네트워크를 위한 정확한 시간 동기화 프로토콜 |
KR20080023194A (ko) * | 2006-09-08 | 2008-03-12 | 주식회사 콤텍시스템 | 패킷망을 매개로 하는 시분할 다중화 서비스에서의 클록복원 방법 |
KR20110003327A (ko) * | 2008-03-17 | 2011-01-11 | 와이-랜, 인코포레이티드 | 통신 디바이스들에 클록을 분배하기 위한 시스템들 및 방법들 |
KR20150038127A (ko) | 2012-08-22 | 2015-04-08 | 알까뗄 루슨트 | 원격통신 네트워크에서 정밀 시간 프로토콜에 의해 분산된 클록들을 동기화하는 방법 |
US20140140269A1 (en) * | 2012-11-16 | 2014-05-22 | Qualcomm Incorporated | Methods and apparatus for enabling distributed frequency synchronization |
KR20190001252A (ko) * | 2017-06-27 | 2019-01-04 | 인천대학교 산학협력단 | 로라 광역 네트워크에서 복수의 엔드 디바이스로 다운링크 방송 메시지를 송신하는 방법 및 로라 광역 네트워크 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101275548B1 (ko) | 무선 시스템에서의 노드 및 무선 시스템에서 노드를 시간 및 주파수 동기화하기 위한 방법 | |
EP2544387B1 (en) | Methods and devices for performing synchronization and compensating clock drift among communication devices | |
Choi et al. | DCS: Distributed asynchronous clock synchronization in delay tolerant networks | |
US9226252B2 (en) | Recursive time synchronization protocol method for wireless sensor networks | |
US8995473B2 (en) | Ring based precise time data network clock phase adjustments | |
CN106452650A (zh) | 适用于多跳无线传感器网络的时钟同步频率偏移估计方法 | |
Yildirim et al. | External gradient time synchronization in wireless sensor networks | |
KR20050025582A (ko) | 무선 네트워크에서 클록 드리프트의 정정 및 동기의유지를 위한 시스템 및 방법 | |
WO2018098791A1 (zh) | 适用于多跳无线传感器网络的时钟同步频率偏移估计方法 | |
Choi et al. | Distributed clock synchronization in delay tolerant networks | |
GB2404121A (en) | Inter-network synchronisation | |
US9912693B1 (en) | Identification of malicious precise time protocol (PTP) nodes | |
KR102174089B1 (ko) | 가상 링크를 이용한 평균 컨센서스 기반 시간 동기화 프로토콜의 성능 개선 장치 및 방법 | |
CN109510681A (zh) | 一种通信网络时间同步级数最小的基准节点选择方法 | |
JP2015188159A (ja) | スレーブノード、時刻同期方法及びコンピュータプログラム | |
Du et al. | Fully distributed clock skew and offset estimation in wireless sensor networks | |
US9713110B2 (en) | Method and network node for facilitating timing synchronization in network | |
Phan et al. | A fast consensus-based time synchronization protocol with virtual links in WSNs | |
He et al. | Distributed time synchronization under bounded noise in wireless sensor networks | |
KR102245894B1 (ko) | 애드혹 네트워크에서의 동기화 방법 | |
KR102174377B1 (ko) | 노드 시간동기 제어 장치 및 그 방법 | |
CN111385825B (zh) | 一种无线传感器网络快速收敛的一致性时间同步方法 | |
Fanarioti et al. | A proposed algorithm for data measurements synchronization in wireless sensor networks | |
KR102180041B1 (ko) | 노드의 시간동기 제어 장치 및 그 방법 | |
US11153834B2 (en) | Methods and systems for accurate and accelerated synchronization for communication networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |