KR102180041B1 - 노드의 시간동기 제어 장치 및 그 방법 - Google Patents

노드의 시간동기 제어 장치 및 그 방법 Download PDF

Info

Publication number
KR102180041B1
KR102180041B1 KR1020190041031A KR20190041031A KR102180041B1 KR 102180041 B1 KR102180041 B1 KR 102180041B1 KR 1020190041031 A KR1020190041031 A KR 1020190041031A KR 20190041031 A KR20190041031 A KR 20190041031A KR 102180041 B1 KR102180041 B1 KR 102180041B1
Authority
KR
South Korea
Prior art keywords
node
time synchronization
sequence value
nodes
synchronization
Prior art date
Application number
KR1020190041031A
Other languages
English (en)
Other versions
KR20200118714A (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 KR1020190041031A priority Critical patent/KR102180041B1/ko
Publication of KR20200118714A publication Critical patent/KR20200118714A/ko
Application granted granted Critical
Publication of KR102180041B1 publication Critical patent/KR102180041B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0054Detection of the synchronisation error by features other than the received signal transition

Landscapes

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

Abstract

본 발명에 따른 노드의 시간동기 제어 장치는, 매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 송수신부와, 상기 송수신부를 통해 수신되는 상기 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 테이블 관리부와, 시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드들의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 패킷 관리부와, 상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 동기화 수행부를 포함하고, 상기 패킷 관리부는, 상기 테이블의 데이터를 이용하여 시간 동기화를 위한 정보 패킷을 생성하고, 상기 송수신부를 통해 상기 정보 패킷을 상기 이웃 노드들에게 브로드캐스팅한다.

Description

노드의 시간동기 제어 장치 및 그 방법{APPARATUS AND METHOD FOR CONTROLLING TIME SYNCHRONIZATION OF NODE}
본 발명은 시간 동기화를 위한 노드 관리 기법에 관한 것으로, 더욱 상세하게는 자신 노드의 시퀀스 값과 이웃 노드의 시퀀스 값을 기반으로 하여 자신 노드의 로지컬 클록(logical clock)을 업데이트할 수 있는 노드의 시간동기 제어 장치 및 그 방법에 관한 것이다.
알려진 바와 같이, 다양한 형태의 네트워크, 예컨대 모바일 애드훅(Mobile ad-hoc) 네트워크, 센서 네트워크 및 군 전술 네트워크 등에서는 정확한 정보 획득을 위하여 통신 노드들 사이의 시간 동기를 맞추는 것이 반드시 필요하다.
모바일 애드훅 네트워크에서 동기를 맞추기 위해서 사용하는 알고리즘은, 예컨대 FTSP(Flooding Time Synchronization Protocol)와 컨센서스 기반의 대표적인 시간 동기화 알고리즘인 GTSP(Gradient Time Synchronization Protocol) 등이 있다.
먼저, FTSP는 하나의 노드를 기준 노드로 선정하고, 그 기준 노드를 중심으로 계층을 만들어서 동기화 메시지를 계층에 아래로 전파하여 전체적인 동기화를 이루는 방법이다.
이러한 FTSP 방법은 하나의 기준 노드(중심 노드)에 모든 노드가 동기화가 되기 때문에 네트워크 전체에 높은 수준의 동기화가 이루어지는 장점을 갖는 반면에, 부모 노드로부터 서로 다른 경로를 통하여 동기화되는 자식 노드들 사이에 동기화 수준이 낮아지게 되는 문제가 있다.
반면에, GTSP는 이웃 노드들 사이에 동기화 메시지를 서로 교환하는 방식으로 이웃 노드로부터 여러 개의 동기화 메시지를 받아서 동기화하는 방법인 것으로, GTSP는 FTSP에 비해 상대적으로 좀 더 자유로운 방식의 네트워크를 구성할 수 있다.
여기에서, 컨센서스 기반의 대표적인 시간 동기화 알고리즘인 GTSP에 대해 살펴보면, 네트워크 내에서 동작하는 각 노드는 1 틱(tick)씩 증가하는 하드웨어 클록(Hardware Clock)을 가지고 있다.
그리고, FTSP나 GTSP는, 기지국이나 GPS를 사용하지 않기 때문에 기준이 되는 표준 시간이 없으며, 이를 위해 FTSP에서는 기준 노드(루트 노드)를 설정하지만 GTSP에서는 기준 노드 없이 이웃 노드와의 메시지(타임스탬프 메시지) 교환으로 시간동기를 맞추게 된다.
이러한 하드웨어 클록의 틱의 증가 속도는 클록이 만들어질 때 정해지기 때문에, 노드가 스스로 클록의 정확도를 검증할 방법이 없어 수정이 불가능하다는 문제가 있다. 대신에, 사용하는 값이 논리적 클록(Logical Clock)으로 이것은 노드의 내부에서 소프트웨어로 동작하는 값으로 수정이 가능하다.
모든 노드들은 동기화를 맞추기 위하여, 노드 사이에 패킷(동기 정보 패킷)을 교환하여 패킷의 정보를 테이블에 저장하고, 이 값을 사용하여 노드 사이에 동기를 맞추게 된다.
즉, 임의의 노드는 이웃 노드로부터 패킷을 받으면, 해당 패킷을 자신의 시퀀스 값과 함께 테이블에 저장하며, 임의의 노드는 테이블에 저장된 정보를 바탕으로 자신의 관계 논리적 클록 레이트(relative logical clock rate)를 업데이트하며, 이를 이웃 노드들에게 전달한다. 따라서, 이웃 노드들도 자신의 관계 논리적 클록 레이트를 업데이트하는데, 여기에서 클록 레이트 뿐만 아니라 오프셋(offset)도 함께 동기화해 주어야 한다.
이때 유의해야 할 사항은 네트워크에 새로 들어온 노드와 기존에 네트워크에 있던 노드들 간에 오프셋의 차이가 크기 때문에, 기존 노드는 새로 들어온 노드를 오프셋 계산에서 제외해야 하고, 새로운 노드는 기존 노드들의 오프셋으로 시간동기를 맞추어야 한다.
네트워크 환경에서는 모든 노드들이 자유롭게 움직일 수 있고, 이런 이동성 때문에 테이블을 구성할 때 다음과 같은 2가지 문제점이 생길 수 있다.
첫 번째로는, 새로운 노드가 네트워크 범위 안으로 들어오게 되면 관계 논리적 클록 레이트의 값이 0(제로)이 된다. 또한, 기존 노드들과 오프셋의 차이 때문에 이를 보상해 주기 위해서는 최소 2번 이상의 라운드를 필요로 하는 문제가 있다.
두 번째로는, 네트워크 범위 밖으로 나간 오래된 노드가 아직까지 테이블에 남아 있게 되는 것이다. 이것은 네트워크 밖으로 나간 노드는 정보가 업데이트되지 않음에도 다른 노드들의 스큐(skew)나 오프셋 계산에 영향을 줄 수 있다.
즉, 종래 방법에 따르면, 네트워크 범위 안에서 노드들이 들어왔다가 나가면서 스큐나 오프셋을 보상하기 위한 계산에 많은 악영향을 줄 수 있는 문제가 있다.
한국등록특허 제10-1871431호(공고일: 2018. 06. 26.)
본 발명은, 자신 노드의 시퀀스 값과 이웃 노드의 시퀀스 값을 기반으로 하여 네트워크 범위 안에서 노드들의 진출입에 무관하게 자신 노드의 로지컬 클록을 업데이트할 수 있는 노드의 시간동기 제어 장치 및 그 방법을 제공하고자 한다.
본 발명은 자신 노드의 시퀀스 값과 이웃 노드의 시퀀스 값을 기반으로 하여 네트워크 범위 안에서 노드들의 진출입에 무관하게 자신 노드의 로지컬 클록을 업데이트할 수 있는 노드의 시간동기 제어 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 송수신부와, 상기 송수신부를 통해 수신되는 상기 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 테이블 관리부와, 시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드들의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 패킷 관리부와, 상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 동기화 수행부를 포함하고, 상기 패킷 관리부는, 상기 테이블의 데이터를 이용하여 시간 동기화를 위한 정보 패킷을 생성하고, 상기 송수신부를 통해 상기 정보 패킷을 상기 이웃 노드들에게 브로드캐스팅하는 노드의 시간동기 제어 장치를 제공할 수 있다.
본 발명의 상기 테이블 관리부는, 각 라운드가 진행될 때마다 상기 테이블에 저장된 정보 값을 업데이트할 수 있다.
본 발명의 상기 테이블 관리부는, 상기 각 라운드의 진행에 따라 업데이트되지 않는 정보 값들을 제거할 수 있다.
본 발명의 상기 패킷 관리부는, 상기 자신 노드의 현재 시퀀스 값보다 작은 시퀀스 값을 갖는 제외 대상 노드들을 시간 동기화 대상의 엔트리로부터 제거하는 방식으로 상기 대상 노드들을 결정할 수 있다.
본 발명의 상기 제외 대상 노드들은, 상기 네트워크에 새롭게 진입한 신규 노드와 상기 네트워크로부터 이탈한 이탈 노드를 포함할 수 있다.
본 발명은, 다른 관점에 따라, 매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 단계와, 수신된 이웃 노드의 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 단계와, 시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 단계와, 상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 단계를 포함하는 노드의 시간동기 제어 방법을 제공할 수 있다.
본 발명의 상기 저장하는 단계는, 각 라운드가 진행될 때마다 상기 테이블에 저장된 정보 값을 업데이트할 수 있다.
본 발명의 상기 저장하는 단계는, 상기 각 라운드의 진행에 따라 업데이트되지 않는 정보 값들을 제거할 수 있다.
본 발명의 상기 결정하는 단계는, 상기 자신 노드의 현재 시퀀스 값보다 작은 시퀀스 값을 갖는 제외 대상 노드들을 시간 동기화 대상의 엔트리로부터 제거하는 방식으로 상기 대상 노드들을 결정할 수 있다.
본 발명의 상기 제외 대상 노드들은, 상기 네트워크에 새롭게 진입한 신규 노드와 상기 네트워크로부터 이탈한 이탈 노드를 포함할 수 있다.
본 발명은, 또 다른 관점에 따라, 노드의 시간 동기화를 제어하는 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체로서, 상기 시간동기 제어 방법은, 매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 단계와, 수신된 이웃 노드의 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 단계와, 시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 단계와, 상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 단계를 포함하는 컴퓨터 판독 가능한 기록매체를 제공할 수 있다.
본 발명의 실시예에 따르면, 자신 노드의 시퀀스 값과 이웃 노드의 시퀀스 값을 기반으로 하여 자신 노드의 로지컬 클록을 업데이트할 때, 각 노드의 시퀀스 값을 기준으로 테이블을 구분하여 네트워크에 새로 들어온 노드와 네트워크에서 나간지 오래된 노드의 정보를 계산에서 제외시킴으로써, 고속의 수렴 속도를 실현할 수 있을 뿐만 아니라 네트워크에서의 시간동기에 기인하는 에러 발생을 크게 줄일 수 있으며, 이를 통해 네트워크의 시간 동기화 성능을 효과적으로 증진시킬 수 있다.
본 발명의 실시예에 따르면, 이웃하는 노드들의 시퀀스 값을 동기 정보와 함께 테이블에 저장하여 시간 동기화에 활용함으로써, 신규 노드가 네트워크에 진입하거나 혹은 기존 노드가 네트워크를 이탈하는 동적 네트워크 환경에서도 시간 동기화의 정확도를 획기적으로 높일 수 있다.
도 1은 본 발명의 실시예에 따른 노드의 시간동기 제어 장치에 대한 블록 구성도이다.
도 2는 본 발명의 실시예에 따라 이웃 노드들과의 동기 정보 패킷의 송수신을 통해 시간동기를 관리하는 주요 과정을 도시한 순서도이다.
도 3은 테이블에 저장되는 패킷의 구성도이다.
도 4는 기존의 테이블에 본 발명에 따라 제공되는 마지막 시퀀스(Lastest sequence) 값을 추가한 형태를 보여주는 회귀 테이블의 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 노드의 시간동기 제어 장치에 대한 블록 구성도로서, 본 실시예의 시간동기 제어 장치(100)는 송수신부(102), 테이블 관리부(104), 패킷 관리부(106) 및 동기화 수행부(108) 등을 포함할 수 있다.
도 1을 참조하면, 송수신부(102)는 매 라운드마다 1씩 증가하는 각 노드의 시퀀스 값을 포함하는 동기 정보 패킷들을 네트워크를 통해 이웃 노드들로부터 수신하고, 이 수신된 동기 정보 패킷들을 테이블 관리부(104)로 전달하는 등의 기능을 제공할 수 있다.
또한, 송수신부(102)는 후술하는 패킷 관리부(106)로부터 제공되는 동기 패킷, 즉 자신 노드의 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드들에게 브로드캐스팅(전파)하는 등의 기능을 수행할 수 있다.
그리고, 테이블 관리부(104)는 송수신부(102)를 통해 이웃 노드들로부터 수신되는 동기 정보 패킷들(각 이웃 노드의 시퀀스 값을 포함하는 패킷)을 자신 노드의 시퀀스 값과 함께 테이블(도시 생략)에 저장하는 등의 기능을 수행할 수 있다. 즉, 테이블에는 이웃하는 각 노드들이 가지고 있는 시퀀스 값이 동기 정보와 함께 저장될 수 있다.
여기에서, 테이블 관리부(104)는 이웃하는 노드들끼리 동기 정보 패킷을 브로드캐스팅하는 각 라운드가 진행될 때마다 테이블에 저장되어 있는 정보 값(해당 노드의 시퀀스 값을 포함하는 동기 정보 패킷 값)을 업데이트하는 등의 기능을 수행할 수 있는데, 이때 테이블 관리부(104)에서는 각 라운드의 진행에 따라 업데이트되지 않는 정보 값들을 제거하는 등의 기능을 수행할 수 있다.
도 3은 테이블에 저장되는 패킷의 구성도이고, 도 4는 기존의 테이블에 본 발명에 따라 제공되는 마지막 시퀀스(Lastest sequence) 값을 추가한 형태를 보여주는 회귀 테이블의 예시도이다.
도 3 및 도 4를 참조하면, 각각의 모든 노드들은 자신만의 시퀀스 값을 가지는데, 이러한 시퀀스 값은 매 라운드마다 1씩 증가하며, 각 라운드에서 노드들은 다른 노드들로부터 패킷(동기 정보 패킷)을 받게 되면, 테이블에 수신한 다른 노드의 정보와 함께 자신이 가지고 있는 시퀀스 값을 함께 저장한다.
따라서, 기존 방식에서는 현재의 이웃 노드에서 받은 정보가 몇 번째 라운드에서 받았는지 명확히 알 수 없었으나, 본 실시예에 따르면 테이블에 시퀀스 값을 추가함으로써 패킷(메시지)을 수신한 라운드를 명확하게 알 수 있다.
도 4에 있어서,
Figure 112019035920340-pat00001
는 k 라운드에 노드 i(자신) Hardware Clock tick 수를,
Figure 112019035920340-pat00002
는 k 라운드에 노드 i(자신)의 Logical Clock tick 수를,
Figure 112019035920340-pat00003
는 k 라운드에 노드 j(이웃)의 Hardware Clock tick 수를,
Figure 112019035920340-pat00004
는 k 라운드에 노드 j(이웃)의 Logical Clock tick 수를,
Figure 112019035920340-pat00005
는 k 라운드에 노드 j(이웃)의 Relative Logical Clock Rate를,
Figure 112019035920340-pat00006
는 k 라운드에 노드 i(자신)를 중심으로 한 노드 j(이웃)의 Logical Clock Rate의 상대적인 비율을 각각 나타낸다.
다음에, 패킷 관리부(106)는 기 설정된 시간 동기화 시점(기 설정된 시간 동기 주기)이 되면, 테이블에 저장되어 있는 자신 노드의 현재 시퀀스 값과 이웃 노드들의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하고, 이 결정된 대상 노드들을 동기화 수행부(108)에 통지하는 등의 기능을 제공할 수 있다.
예컨대, 패킷 관리부(106)는 자신 노드의 현재 시퀀스 값보다 작은 시퀀스 값을 갖는 제외 대상 노드들을 시간 동기화 대상의 엔트리로부터 제거하는 방식으로 대상 노드들을 결정할 수 있다. 여기에서, 제외 대상 노드로는, 예컨대 네트워크에 새롭게 진입한 신규 노드와 네트워크로부터 이탈한 이탈 노드 등이 포함될 수 있다.
또한, 패킷 관리부(106)는 테이블 관리부(104)와 후술하는 동기화 수행부(108)를 통해 관리 및 업데이트되는 테이블의 데이터(각 노드의 시퀀스 값을 포함하는 동기 정보 패킷들)를 이용하여 시간 동기화를 위한 정보 패킷을 생성하고, 이 생성된 정보 패킷(동기 정보 패킷)의 브로트캐스팅을 위해 송수신부(102)로 전달하는 등의 기능을 제공할 수 있다.
그리고, 동기화 수행부(108)는 테이블에 저장되어 있는 이웃 노드들 중 패킷 관리부(106)에 의해 결정된 대상 노드들의 동기 정보에 의거하여, 자신 노드의 로지컬 클록(logical clock)을 업데이트(즉, 분산 시간동기 보정)하는 등의 기능을 제공할 수 있는데, 이를 위해 동기화 수행부(108)는 스큐(skew)와 오프셋(offset) 등을 계산(동기화)하는 프로세스를 수행할 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 실시예의 시간동기 제어 장치를 이용하여 네트워크 동적 환경에 따라 노드의 시간동기를 제어하는 일련의 과정들에 대하여 상세하게 설명한다.
도 2는 본 발명의 실시예에 따라 이웃 노드들과의 동기 정보 패킷의 송수신을 통해 시간동기를 관리하는 주요 과정을 도시한 순서도이다.
도 2를 참조하면, 송수신부(102)에서는 매 라운드마다 1씩 증가하는 각 노드의 시퀀스 값을 포함하는 동기 정보 패킷이 네트워크를 통해 이웃 노드들로부터 수신되면(단계 202), 수신된 동기 정보 패킷을 테이블 관리부(104)로 전달한다.
이에 응답하여, 테이블 관리부(104)에서는 송수신부(102)를 통해 이웃 노드들로부터 수신된 동기 정보 패킷(각 이웃 노드의 시퀀스 값을 포함하는 패킷)을 자신 노드의 시퀀스 값과 함께 테이블에 저장한다(단계 204).
이때, 테이블 관리부(104)에서는 이웃하는 노드들끼리 동기 정보 패킷을 브로드캐스팅하는 각 라운드가 진행될 때마다 테이블에 저장되어 있는 정보 값(해당 노드의 시퀀스 값을 포함하는 동기 정보 패킷 값)을 업데이트할 수 있고, 또한 각 라운드의 진행에 따라 업데이트되지 않는 정보 값들을 제거할 수 있다.
그리고, 패킷 관리부(106)에서는 기 설정된 시간 동기화 시점(기 설정된 시간 동기 주기)이 되면, 테이블에 저장되어 있는 자신 노드의 현재 시퀀스 값과 이웃 노드들의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정한다(단계 206).
예컨대, 패킷 관리부(106)는 자신 노드의 현재 시퀀스 값보다 작은 시퀀스 값을 갖는 제외 대상 노드들을 시간 동기화 대상의 엔트리로부터 제거하는 방식으로 대상 노드들을 결정할 수 있다. 여기에서, 제외 대상 노드로는, 예컨대 네트워크에 새롭게 진입한 신규 노드와 네트워크로부터 이탈한 이탈 노드 등이 포함될 수 있다.
이후, 동기화 수행부(108)에서는 테이블에 저장되어 있는 이웃 노드들 중 패킷 관리부(106)에 의해 결정된 대상 노드들의 동기 정보에 의거하여, 자신 노드의 로지컬 클록을 업데이트(즉, 분산 시간동기 보정의 수행)한다(단계 208). 이때, 동기화 수행부(108)에서는 스큐(skew)와 오프셋(offset) 등을 계산(동기화)하는 프로세스도 수행할 수 있다.
한편, 패킷 관리부(106)에서는, 이웃 노드들에게 동기 정보를 브로드캐스팅하는 시점이 될 때, 테이블 관리부(104)와 동기화 수행부(108)를 통해 관리 및 업데이트되는 테이블의 데이터(각 노드의 시퀀스 값을 포함하는 동기 정보 패킷들)를 이용하여 시간 동기화를 위한 정보 패킷을 생성하여 송수신부(102)로 전달할 수 있다.
이에 응답하여, 송수신부(102)에서는 패킷 관리부(106)로부터 제공되는 동기 패킷, 즉 자신 노드의 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드들에게 브로드캐스팅(전파)할 수 있다.
다른 한편, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리 등에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
102 : 송수신부
104 : 테이블 관리부
106 : 패킷 관리부
108 : 동기화 수행부

Claims (11)

  1. 매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 송수신부와,
    상기 송수신부를 통해 수신되는 상기 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 테이블 관리부와,
    시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드들의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 패킷 관리부와,
    상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 동기화 수행부
    를 포함하고,
    상기 패킷 관리부는,
    상기 테이블의 데이터를 이용하여 시간 동기화를 위한 정보 패킷을 생성하고, 상기 송수신부를 통해 상기 정보 패킷을 상기 이웃 노드들에게 브로드캐스팅하는
    노드의 시간동기 제어 장치.
  2. 제 1 항에 있어서,
    상기 테이블 관리부는,
    각 라운드가 진행될 때마다 상기 테이블에 저장된 정보 값을 업데이트하는
    노드의 시간동기 제어 장치.
  3. 제 2 항에 있어서,
    상기 테이블 관리부는,
    상기 각 라운드의 진행에 따라 업데이트되지 않는 정보 값들을 제거하는
    노드의 시간동기 제어 장치.
  4. 제 1 항에 있어서,
    상기 패킷 관리부는,
    상기 자신 노드의 현재 시퀀스 값보다 작은 시퀀스 값을 갖는 제외 대상 노드들을 시간 동기화 대상의 엔트리로부터 제거하는 방식으로 상기 대상 노드들을 결정하는
    노드의 시간동기 제어 장치.
  5. 제 4 항에 있어서,
    상기 제외 대상 노드들은,
    상기 네트워크에 새롭게 진입한 신규 노드와 상기 네트워크로부터 이탈한 이탈 노드를 포함하는
    노드의 시간동기 제어 장치.
  6. 매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 단계와,
    수신된 이웃 노드의 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 단계와,
    시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 단계와,
    상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 단계를 포함하는
    노드의 시간동기 제어 방법.
  7. 제 6 항에 있어서,
    상기 저장하는 단계는,
    각 라운드가 진행될 때마다 상기 테이블에 저장된 정보 값을 업데이트하는
    노드의 시간동기 제어 방법.
  8. 제 7 항에 있어서,
    상기 저장하는 단계는,
    상기 각 라운드의 진행에 따라 업데이트되지 않는 정보 값들을 제거하는
    노드의 시간동기 제어 방법.
  9. 제 6 항에 있어서,
    상기 결정하는 단계는,
    상기 자신 노드의 현재 시퀀스 값보다 작은 시퀀스 값을 갖는 제외 대상 노드들을 시간 동기화 대상의 엔트리로부터 제거하는 방식으로 상기 대상 노드들을 결정하는
    노드의 시간동기 제어 방법.
  10. 제 9 항에 있어서,
    상기 제외 대상 노드들은,
    상기 네트워크에 새롭게 진입한 신규 노드와 상기 네트워크로부터 이탈한 이탈 노드를 포함하는
    노드의 시간동기 제어 방법.
  11. 노드의 시간 동기화를 제어하는 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체로서,
    상기 노드의 시간 동기화를 제어하는 방법은,
    매 라운드마다 1씩 증가하는 시퀀스 값을 포함하는 동기 정보 패킷을 네트워크를 통해 이웃 노드로부터 수신하는 단계와,
    수신된 이웃 노드의 동기 정보 패킷을 자신 노드의 시퀀스 값과 함께 테이블에 저장하는 단계와,
    시간 동기화 시점이 되면, 상기 자신 노드의 현재 시퀀스 값과 이웃 노드의 시퀀스 값에 의거하여, 다수의 이웃 노드들 중 시간 동기화에 이용될 대상 노드들을 결정하는 단계와,
    상기 테이블에 저장된 상기 대상 노드들의 동기 정보에 의거하여, 상기 자신 노드의 로지컬 클록을 업데이트하는 단계를 포함하는
    컴퓨터 판독 가능한 기록매체.
KR1020190041031A 2019-04-08 2019-04-08 노드의 시간동기 제어 장치 및 그 방법 KR102180041B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190041031A KR102180041B1 (ko) 2019-04-08 2019-04-08 노드의 시간동기 제어 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190041031A KR102180041B1 (ko) 2019-04-08 2019-04-08 노드의 시간동기 제어 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200118714A KR20200118714A (ko) 2020-10-16
KR102180041B1 true KR102180041B1 (ko) 2020-11-17

Family

ID=73035306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190041031A KR102180041B1 (ko) 2019-04-08 2019-04-08 노드의 시간동기 제어 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102180041B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102556623B1 (ko) * 2021-08-05 2023-07-18 충북대학교 산학협력단 하이브리드 기법을 이용한 시간 동기 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126711A1 (en) 1998-01-14 2002-09-12 Robert Robinett Network distributed remultiplexer for video program bearing transport streams
US20020131443A1 (en) 1998-01-14 2002-09-19 Robert Robinett Bandwidth optimization of video program bearing transport streams
US20090122781A1 (en) 2007-11-08 2009-05-14 Harris Corporation Asynchronous dynamic network discovery for low power systems
US20140029603A1 (en) 2011-03-29 2014-01-30 Fujitsu Limited Method and device for time-synchronization in ad hoc network
US20160165557A1 (en) 2014-12-08 2016-06-09 Cooper Technologies Company Adaptive, predictive synchronization for reducing connection establishment delays in ad-hoc frequency hopping spread spectrum networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871431B1 (ko) 2013-11-20 2018-06-26 한국전자통신연구원 노드 간 시간 동기화 방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126711A1 (en) 1998-01-14 2002-09-12 Robert Robinett Network distributed remultiplexer for video program bearing transport streams
US20020131443A1 (en) 1998-01-14 2002-09-19 Robert Robinett Bandwidth optimization of video program bearing transport streams
US20090122781A1 (en) 2007-11-08 2009-05-14 Harris Corporation Asynchronous dynamic network discovery for low power systems
US20140029603A1 (en) 2011-03-29 2014-01-30 Fujitsu Limited Method and device for time-synchronization in ad hoc network
US20160165557A1 (en) 2014-12-08 2016-06-09 Cooper Technologies Company Adaptive, predictive synchronization for reducing connection establishment delays in ad-hoc frequency hopping spread spectrum networks

Also Published As

Publication number Publication date
KR20200118714A (ko) 2020-10-16

Similar Documents

Publication Publication Date Title
US9577774B2 (en) Time synchronization method and system
EP3140932B1 (en) A method for robust ptp synchronization with default 1588v2 profile
EP2725751B1 (en) Routing table updating
KR20180035145A (ko) 통신 네트워크들 내의 에러 검출
EP2093925A1 (en) A method, an apparatus and a network element for tracing clock
KR101488233B1 (ko) 패킷-스위칭된 네트워크의 마스터 및 슬레이브 클록들을 동기화하기 위한 비-간섭적인 방법, 및 연관된 동기화 디바이스들
EP2738971A1 (en) Mehtod and device for clock synchronization
RU2012125261A (ru) Конфигурация сети синхронизации
US20160170441A1 (en) Feed-forward time transfer mechanism for time synchronization
US10178636B2 (en) Clock synchronization method and device and communications system
US20120027030A1 (en) Network terminal, network system, time synchronization method, and time synchronization program
CN105634714A (zh) 一种跨域时钟同步方法、装置和系统
CN109412736A (zh) 一种窄带自组网定时同步方法
KR102180041B1 (ko) 노드의 시간동기 제어 장치 및 그 방법
AU2019295486B2 (en) Coordinating communications between nodes having asynchronous time slot schedules
CN112235861A (zh) 适用于自组织网络的时间同步方法、时间同步系统和设备
CN105227458B (zh) Trill isis的路由计算方法及装置
US20100008351A1 (en) Method and system for route synchronization using time synchronization
JP4999674B2 (ja) アドホックネットワークシステム
KR102174377B1 (ko) 노드 시간동기 제어 장치 및 그 방법
CN101335609B (zh) 网络时钟跟踪的方法、网络设备和网络系统
WO2019134653A1 (zh) 同步信息传输方法、同步方法、网络节点及存储介质
CN106301643B (zh) 一种用于配置时钟跟踪的方法及控制设备
JP4046096B2 (ja) ネットワークの時刻同期方法
CN108462548B (zh) 时间同步方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant