KR102205958B1 - 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법 - Google Patents

시간 동기화를 위한 루트 노드 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR102205958B1
KR102205958B1 KR1020180162260A KR20180162260A KR102205958B1 KR 102205958 B1 KR102205958 B1 KR 102205958B1 KR 1020180162260 A KR1020180162260 A KR 1020180162260A KR 20180162260 A KR20180162260 A KR 20180162260A KR 102205958 B1 KR102205958 B1 KR 102205958B1
Authority
KR
South Korea
Prior art keywords
node
root node
nodes
root
temporary
Prior art date
Application number
KR1020180162260A
Other languages
English (en)
Other versions
KR20200073742A (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 KR1020180162260A priority Critical patent/KR102205958B1/ko
Publication of KR20200073742A publication Critical patent/KR20200073742A/ko
Application granted granted Critical
Publication of KR102205958B1 publication Critical patent/KR102205958B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에 따른 시간 동기화를 위한 루트 노드 관리 장치는, 다수의 노드 중 하나의 노드를 루트 노드로 결정하는 노드 결정부와, 결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 클러스터 구성부와, 상기 클러스터 내의 각 노드들이 임시 루트 노드가 되어 브로드캐스팅하는 각 타임스탬프 메시지를 수신하는 메시지 송수신부와, 수신된 상기 각 타임스탬프 메시지에 의거하여 상기 루트 노드 및 각 임시 루트 노드들의 홉수를 카운트하고, 카운트 결과에 의거하여 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 신규 노드 선정부를 포함할 수 있다.

Description

시간 동기화를 위한 루트 노드 관리 장치 및 그 방법{APPARATUS AND METHOD FOR MANAGING ROOT NODE FOR TIME SYNCHRONIZATION}
본 발명은 시간 동기화를 위한 루트 노드를 관리하는 기법에 관한 것으로, 더욱 상세하게는 루트 노드를 기준으로 최대 홉수(hop count)가 가장 작도록 새로운 루트 노드를 선정할 수 있는 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법에 관한 것이다.
알려진 바와 같이, 다양한 형태의 네트워크, 예컨대 모바일 애드훅(Mobile ad-hoc) 네트워크, 센서 네트워크 및 군 전술 네트워크 등에서는 정확한 정보 획득을 위하여 통신 노드들 사이의 시간 동기를 맞추는 것이 반드시 필요하다.
또한, 시분할 다중 접속 방식(time division multiple access: TDMA) 등과 같은 통신의 프로토콜을 지원하기 위해서도 통신 노드들 사이에 시간 동기화는 필수적이다.
일반적으로, 통신 노드들 사이의 시간 동기화에서 기지국 기반의 셀룰러 망의 경우에는 기지국이 주기적으로 프리앰블(preamble)을 전송하여 이를 기준으로 시간을 동기화시키는 방식을 취하고 있다.
반면에, 기지국이 존재하지 않는 애드훅(ad-hoc) 네트워크의 경우에는 전송하고자 하는 노드에서 프리앰블을 포함하여 패킷을 전송하고 수신 노드에서 이를 기준으로 동기를 맞추는 방식을 취하고 있다.
그러나, 애드훅 네트워크에서는, 기지국과는 달리 각 노드의 자체 시간 정확도가 떨어지며, 또한 여러 홉수를 다단계로 거치면서 오차가 누적되기 때문에, 프리앰블을 사용하여 전송할 노드가 자신의 전송 시점을 1개의 슬롯 바운더리(slot boundary) 안에서 정확하게 결정하기가 어렵다는 문제가 있다.
또한, 애드훅 네트워크에서는 노드가 데이터를 획득하는 경우에도 정확한 획득 시점을 알아내기도 어렵다는 문제가 있다.
따라서, 상술한 바와 같은 이유로 인해 애드훅 및 센서 네트워크 등에서는 프리앰블이 사용되어도 추가적으로 노드들 사이의 글로벌(global) 시간 동기화가 필요하며, 이러한 글로벌 시간 동기화는 주로 노드들 사이에 자신의 타임스탬프(timestamp)를 주고받는 방식으로 이루어진다.
여기에서, 타임스탬프를 기반으로 네트워크의 시간 동기화를 달성하는 방식은 크게 2가지 방식으로 나누어질 수 있다.
첫 번째는 루트 노드 기반의 시간 동기화 방식인 것으로, 이것은 네트워크 안에서 루트 노드를 선정하고 해당 루트 노드의 타임스탬프를 기준으로 나머지 노드의 시간을 동기화시키는 방식인데, 예컨대 특정 노드로부터 온 하나의 패킷을 라우터에 접속되어 있는 다른 모든 노드로 전달하는 방식의 FTSP(Flooding Time Sychronization Protocol) 등이 대표적일 수 있다.
두 번째는 루트 노드가 존재하지 않고, 노드들의 타임스탬프가 서로 간에 전달되면 이를 평균화하여 재전송하는 방식인 것으로, 네트워크 전체의 시간 동기화를 달성하는 모델로써, 예컨대 GTSP(Gradient Time Synchronization Protocol) 등이 대표적일 수 있다.
도 1은 루트 노드에 기반한 시간 동기화를 보여주는 예시적인 개념도이고, 도 2는 루트 노드의 변경을 설명하기 위한 예시적인 개념도이다.
도 1을 참조하면, 루트 노드에 기반한 시간 동기화 기법으로서 빨간색의 화살표는 노드 간에 이루어지는 타임스탬프의 전달을 의미한다.
즉, 루트 노드가 타임스탬프를 전달하면 주변 노드는 이를 수신한 후에 수신한 타임스탬프를 기준으로 자신의 클록(clock)을 보정하고, 다시 자신의 타임스탬프를 주변 노드에 전달하게 된다.
이러한 과정에서 타임스탬프가 생성되는 시점과 이의 수신 시점이 다르기 때문에 이를 바탕으로 자신의 타임스탬프를 다시 생성하는 시점도 당연히 달라지게 된다.
따라서, 상술한 바와 같이 자신의 타임스탬프를 다시 생성하여 포워딩하는 과정에 다양한 오차가 들어가게 되는데, 루트 노드에서부터의 홉수가 증가할수록 오차가 증가하게 되는 문제가 유발된다.
다시 도 1을 참조하면, 루트 노드로부터 최대 홉수는 3이 되는데, 도 2에서와 같이 동일한 토폴로지(topology)에서 루트 노드를 하단의 노드로 선정하는 경우 최대 홉수는 5로 증가하게 되는 것을 알 수 있다.
한국등록특허 제10-1685467호(공고일: 2016. 12. 12.)
본 발명은, 루트 노드를 기준으로 최대 홉수(hop count)가 가장 작도록 새로운 루트 노드를 선정할 수 있는 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법을 제공하고자 한다.
본 발명은 토폴로지(topology)의 변화에 따라 루트 노드를 동적으로 새롭게 선정할 수 있는 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법을 제공하고자 한다.
본 발명은 루트 노드를 기준으로 최대 홉수가 가장 작도록 새로운 루트 노드를 선정하고, 토폴로지의 변화에 따라 루트 노드를 동적으로 새롭게 선정할 수 있는 시간 동기화를 위한 루트 노드 관리 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 다수의 노드 중 하나의 노드를 루트 노드로 결정하는 노드 결정부와, 결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 클러스터 구성부와, 상기 클러스터 내의 각 노드들이 임시 루트 노드가 되어 브로드캐스팅하는 각 타임스탬프 메시지를 수신하는 메시지 송수신부와, 수신된 상기 각 타임스탬프 메시지에 의거하여 상기 루트 노드 및 각 임시 루트 노드들의 홉수를 카운트하고, 카운트 결과에 의거하여 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 신규 노드 선정부를 포함하는 시간 동기화를 위한 루트 노드 관리 장치를 제공할 수 있다.
본 발명의 상기 노드 결정부는, 상기 다수의 노드 중 어느 하나를 상기 루트 노드로 랜덤하게 결정할 수 있다.
본 발명의 상기 노드 결정부는, 상기 다수의 노드 중 각 노드의 ID를 바탕으로 ID 값이 가장 높거나 혹은 상기 ID 값이 가장 낮은 노드를 상기 루트 노드로 결정할 수 있다.
본 발명의 상기 신규 노드 선정부는, 네트워크의 토폴로지 변화가 감지될 때 상기 새로운 루트 노드를 선정할 수 있다.
본 발명의 상기 토폴로지 변화는, 신규 노드의 추가, 기존 노드 중의 일부 삭제, 기존 노드의 이동 중 적어도 하나일 수 있다.
본 발명의 상기 신규 노드 선정부는, 기 설정된 시간 간격으로 상기 새로운 루트 노드를 선정할 수 있다.
본 발명의 상기 신규 노드 선정부는, 상기 최대 홉수가 동일한 노드가 다수 개이면, 상기 최대 홉수를 갖는 플로우(flow)의 개수가 가장 작은 노드를 상기 새로운 루트 노드로 선정할 수 있다.
본 발명의 상기 신규 노드 선정부는, 상기 최대 홉수가 동일한 노드가 다수 개이면, ID 값이 가장 높거나 혹은 상기 ID 값이 가장 낮은 노드를 상기 새로운 루트 노드로 선정할 수 있다.
본 발명은, 다른 관점에 따라, 다수의 노드 중 하나의 노드를 루트 노드로 결정하는 단계와, 결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 단계와, 상기 클러스터 내의 각 노드들이 임시 루트 노드가 되어 브로드캐스팅하는 각 타임스탬프 메시지를 수신하는 단계와, 수신된 상기 각 타임스탬프 메시지에 의거하여 상기 루트 노드 및 각 임시 루트 노드들의 홉수를 카운트하고, 카운트 결과에 의거하여 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 단계를 포함하는 시간 동기화를 위한 루트 노드 관리 방법을 제공할 수 있다.
본 발명의 상기 루트 노드는, 상기 다수의 노드 중 어느 하나가 랜덤하게 결정되는 노드일 수 있다.
본 발명의 상기 루트 노드는, 상기 다수의 노드 중 각 노드의 ID를 바탕으로 ID 값이 가장 높은 노드이거나 혹은 상기 ID 값이 가장 낮은 노드일 수 있다.
본 발명의 상기 새로운 루트 노드의 선정은, 네트워크의 토폴로지 변화가 감지될 때 수행될 수 있다.
본 발명의 상기 새로운 루트 노드의 선정은, 기 설정된 시간 간격으로 자동 수행될 수 있다.
본 발명의 상기 새로운 루트 노드로 선정하는 단계는, 상기 최대 홉수가 동일한 노드가 다수 개이면, 상기 최대 홉수를 갖는 플로우(flow)의 개수가 가장 작은 노드를 상기 새로운 루트 노드로 선정할 수 있다.
본 발명의 상기 새로운 루트 노드로 선정하는 단계는, 상기 최대 홉수가 동일한 노드가 다수 개이면, ID 값이 가장 높거나 혹은 상기 ID 값이 가장 낮은 노드를 상기 새로운 루트 노드로 선정할 수 있다.
본 발명은, 또 다른 관점에 따라, 시간 동기화를 위한 루트 노드 관리 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체로서, 상기 루트 노드 관리 방법은, 다수의 노드 중 하나의 노드를 루트 노드로 결정하는 단계와, 결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 단계와, 상기 클러스터 내의 각 노드들이 임시 루트 노드가 되어 브로드캐스팅하는 각 타임스탬프 메시지를 수신하는 단계와, 수신된 상기 각 타임스탬프 메시지에 의거하여 상기 루트 노드 및 각 임시 루트 노드들의 홉수를 카운트하고, 카운트 결과에 의거하여 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 단계를 포함하는 컴퓨터 판독 가능한 기록매체를 제공할 수 있다.
본 발명의 실시예에 따르면, 루트 노드 기반의 시간 동기화에서 홉수가 가장 작은 노드를 새로운 루트 노드로 선정함으로써, 타임스탬프에서의 오차 증가를 효과적으로 억제할 수 있다.
본 발명의 실시예에 따르면, 네트워크 전체에서 시간 동기화의 오차가 효과적으로 절감해 줌으로써, 네트워크 전체의 성능 향상을 도모할 수 있다.
본 발명의 실시예에 따르면, 데이터의 수집에 있어서 네트워크 전체의 정밀한 시간 동기화를 실현할 수 있으므로 데이터 수집의 정확성을 높일 수 있다.
본 발명의 실시예에 따르면, TDMA 기반의 통신 방식에 있어서 통신 노드가 슬롯 바운더리(slot boundary)를 넘어서 프레임을 전송하는 경우를 줄여 줌으로써, 통신 효율을 높일 수 있을 뿐만 아니라 전송율을 개선할 수 있다.
본 발명의 실시예에 따르면, 이동형 네트워크에 있어서 네트워크의 토폴로지 변화에 강인한 시간 동기화 기법을 실현할 수 있다.
도 1은 루트 노드에 기반한 시간 동기화를 보여주는 예시적인 개념도이다.
도 2는 루트 노드의 변경을 설명하기 위한 예시적인 개념도이다.
도 3은 본 발명의 실시예에 따른 루트 노드 관리 장치에 대한 블록 구성도이다.
도 4는 본 발명의 실시예에 따라 루트 노드를 중심으로 클러스터를 구성하는 원리를 설명하기 위한 예시적인 개념도이다.
도 5는 본 발명의 실시예에 따라 최대 홉수에 기반하여 새로운 루트 노드를 선정하는 원리를 설명하기 위한 예시적인 개념도이다.
도 6은 본 발명의 실시예에 따라 시간 동기화를 위해 루트 노드를 관리하는 주요 과정을 도시한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
도 3은 본 발명의 실시예에 따른 루트 노드 관리 장치에 대한 블록 구성도로서, 노드 결정부(302), 클러스터 구성부(304), 메시지 송수신부(306) 및 신규 노드 선정부(308) 등을 포함할 수 있다. 여기에서, 본 실시예에 따른 루트 노드 관리 장치는, 예컨대 각 루트 노드에 포함되는 노드 관리 장치일 수 있다.
도 3을 참조하면, 노드 결정부(302)는 다수의 노드 중의 어느 한 노드를 루트 노드로 결정하는 등의 기능을 제공할 수 있다.
예컨대, 노드 결정부(302)는 다수의 노드 중 어느 하나를 루트 노드로 랜덤하게 결정하거나 혹은 각 노드의 ID를 바탕으로 ID 값이 가장 높거나 혹은 ID 값이 가장 낮은 노드를 루트 노드로 결정할 수 있다.
그리고, 클러스터 구성부(304)는 노드 결정부(302)를 통해 결정된 루트 노드에 인접하는 노드들을 클러스터로 구성하는 등의 기능을 제공할 수 있는데, 일례로서 도 4에 도시된 바와 같이, 루트 노드(노드 3)로부터 1홉 반경 내에 있는 노드들(노드 1, 노드 2, 노드 4, 노드 5)이 하나의 클러스터로 구성될 수 있다.
여기에서, 클러스터에 속한 노드들은 다른 노드들의 ID를 모두 인지하고 있는데, 클러스터에 속한 노드들은 ID를 기반으로 순서대로 임시 루트 노드가 되어 자신의 타임스탬프를 전송(브로드캐스팅)할 수 있다.
예컨대, 도 4의 노드 1 내지 노드 5가 순서대로 임시 루트 노드가 되어 자신의 타임스탬프를 주변의 노드들에게 전송할 수 있다.
또한, 메시지 송수신부(306)는 구성된 클러스터 내의 각 노드들이 임시 루트 노드가 되어 브로드캐스팅하는 각 타임스탬프 메시지를 수신하여 신규 노드 선정부(308)로 전달하는 등의 기능을 제공할 수 있다.
다음에, 신규 노드 선정부(308)는 메시지 송수신부(306)를 통해 수신된 각 노드의 타임스탬프 메시지에 의거하여 루트 노드(예컨대, 도 4의 노드 3) 및 각 임시 루트 노드들(예컨대, 도 4의 노드 1, 노드 2, 노드 4, 노드 5)의 홉수를 카운트하고, 카운트 결과에 의거하여 최대 홉수(hop count)가 가장 작은 노드를 새로운 루트 노드로 선정하는 등의 기능을 제공할 수 있다.
도 4는 본 발명의 실시예에 따라 루트 노드를 중심으로 클러스터를 구성하는 원리를 설명하기 위한 예시적인 개념도이다.
도 4에 있어서, 노드 3의 최대 홉수가 4이고, 노드 4의 최대 홉수가 3이므로, 노드 4가 새로운 루트 노드로 선정될 수 있다.
여기에서, 최대 홉수에 대한 정보를 획득하는 과정은 다음과 같다.
1) 모든 노드는 타임스탬프를 브로드캐스트하는데, 각 타임스탬프 메시지에는 시퀀스(sequence) 번호가 포함되어 있어서 중복 전송되지 않는다. 여기에서, 추가로 루트 노드를 기준으로 자기 자신까지의 홉수를 추가 전송한다.
2) 타임스탬프 메시지의 수신 노드는 시퀀스 번호가 중복이 아니면 홉수 1을 증가하여 포워딩한다.
3) 타임스탬프를 전송한 노드는 일정 시간 간격 안에 중복된 시퀀스 넘버의 타임스탬프가 도착하지 않으면 자신을 마지막 홉에 위치한 노드로 인식하고, 최대 홉수를 피드백(feedback)하는 과정을 시작한다. 여기에서, 피드백은 시퀀스 번호와 최대 홉수로 구성된 프레임(frame)의 전달을 의미한다.
4) 프레임의 피드백 과정에서 중간의 노드들은 동일한 기퀀스 넘버를 기준으로 최대 홉수가 새롭게 갱신되면 이를 전송한다.
그리고, 신규 노드 선정부(308)는 네트워크의 토폴로지 변화가 감지될 때 새로운 루트 노드를 선정하거나 혹은 기 설정된 시간 간격으로 새로운 루트 노드를 선정할 수 있는데, 이것은 새로운 루트 노드의 선정을 위해 임시 루트 노드의 최대 홉수룰 알아내는 과정이 상당한 오버헤드를 필요로 하기 때문이다.
여기에서, 토폴로지 변화라 함은, 예컨대 신규 노드가 추가되거나, 기존 노드 중의 일부가 삭제되거나, 기존 노드가 이동하는 경우 등을 의미할 수 있다.
또한, 신규 노드 선정부(308)는 최대 홉수가 동일한 노드가 다수 개일 때, 최대 홉수를 갖는 플로우(flow)의 개수를 비교하여 플로우의 개수가 가장 작은 노드를 새로운 루트 노드로 선정할 수 있다.
상기와는 달리, 신규 노드 선정부(308)는 최대 홉수가 동일한 노드가 다수 개일 때, ID 값이 가장 높거나 혹은 ID 값이 가장 낮은 노드를 새로운 루트 노드로 선정할 수 있다.
도 5는 본 발명의 실시예에 따라 최대 홉수에 기반하여 새로운 루트 노드를 선정하는 원리를 설명하기 위한 예시적인 개념도이다.
여기에서, 최대 홉수가 2개 이상일 경우에 루트 노드를 선정하는 과정은 다음과 같다.
1) 최대 홉수가 동일한 노드가 2개 이상일 경우, 우선 최대 홉수를 갖는 플로우의 개수를 비교하여 플로우의 개수가 작은 쪽을 루트 노드로 선정할 수 있다.
예컨대, 도 4의 경우 노드 11이 없는 상황, 예컨대 도 5의 상황에서는 노드 3과 노드 4의 최대 홉수가 3으로 동일하게 되는데, 노드 3은 각 노드까지의 홉수가 3인 경우가 1개, 홉수가 2인 경우가 3개, 홉수가 1인 경우가 1개가 되며, 노드 4는 각 노드까지의 홉수가 3인 경우가 2개, 홉수가 2인 경우가 2개, 홉수가 1인 경우가 1개가 된다.
2) 최대 홉수가 나오는 경우가 동일할 경우, 그다음 최대 홉수를 갖는 경우를 비교하게 되며, 차이가 발생할 때까지 그 다음 최대 홉수를 계속 비교하여 새로운 루트 노드를 선정한다.
3) 모든 홉수가 동일하게 되면 노드의 ID를 바탕으로 새로운 루트 노드를 선정할 수 있는데, 예컨대 ID 값이 가장 높거나 혹은 ID 값이 가장 낮은 노드를 루트 노드로 선정할 수 있다.
상술한 바와 같이 일정 시간 간격으로 클러스터를 구성하고, 해당 클러스터에서 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 구성하는 일을 반복하게 되면, 전체 네트워크에서 홉수가 가장 작은 노드가 루트 노드로 선정되는 방향으로 접근하게 되며, 이를 통해 네트워크의 전체 토폴로지가 바뀌더라도 이에 맞게 새로운 루트 노드가 선정될 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 실시예의 루트 노드 관리 장치를 이용하여 최대 홉수를 기반으로 루트 노드를 동적으로 관리하는 일련의 과정들에 대하여 상세하게 설명한다.
도 6은 본 발명의 실시예에 따라 시간 동기화를 위해 루트 노드를 관리하는 주요 과정을 도시한 순서도이다.
도 6을 참조하면, 노드 결정부(302)에서는 다수의 노드 중의 어느 한 노드를 루트 노드로 결정, 예컨대 다수의 노드 중 어느 하나를 루트 노드로 랜덤하게 결정하거나 혹은 각 노드의 ID를 바탕으로 ID 값이 가장 높거나 혹은 ID 값이 가장 낮은 노드를 루트 노드로 결정한다(단계 602).
다음에, 클러스터 구성부(304)에서는 노드 결정부(302)를 통해 결정된 루트 노드에 인접하는 노드들을 클러스터로 구성, 일례로서 도 4에 도시된 바와 같이, 루트 노드(노드 3)로부터 1홉 반경 내에 있는 노드들(노드 1, 노드 2, 노드 4, 노드 5)이 하나의 클러스터로 구성한다(단계 604). 여기에서, 클러스터에 속한 노드들은 다른 노드들의 ID를 모두 인지하고 있는데, 클러스터에 속한 노드들은 ID를 기반으로 순서대로 임시 루트 노드가 되어 자신의 타임스탬프를 전송(브로드캐스팅)할 수 있다.
그리고, 클러스터에 속한 루트 노드 및 각 노드들은 자신의 타임스템프를 브로드캐스팅하는데, 메시지 송수신부(306)에서는 클러스터 내의 각 노드들이 임시 루트 노드가 되어 브로드캐스팅하는 각 타임스탬프 메시지를 수신하여 신규 노드 선정부(308)로 전달한다(단계 606).
이후, 신규 노드 선정부(308)에서는 메시지 송수신부(306)를 통해 수신된 각 노드의 타임스탬프 메시지에 의거하여 루트 노드 및 각 임시 루트 노드들의 홉수를 카운트하고, 카운트 결과에 의거하여 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정한다(단계 608).
여기에서, 신규 노드 선정부(308)는 네트워크의 토폴로지 변화가 감지될 때 새로운 루트 노드를 선정하거나 혹은 기 설정된 시간 간격으로 새로운 루트 노드를 선정할 수 있는데, 이것은 새로운 루트 노드의 선정을 위해 임시 루트 노드의 최대 홉수룰 알아내는 과정이 상당한 오버헤드를 필요로 하기 때문이다.
또한, 신규 노드 선정부(308)에서는 최대 홉수가 동일한 노드가 다수 개일 때, 최대 홉수를 갖는 플로우)의 개수를 비교하여 플로우의 개수가 가장 작은 노드를 새로운 루트 노드로 선정하거나 혹은 ID 값이 가장 높거나 혹은 ID 값이 가장 낮은 노드를 새로운 루트 노드로 선정할 수 있다.
한편, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리 등에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
302 : 노드 결정부
304 : 클러스터 구성부
306 : 메시지 송수신부
308 : 신규 노드 선정부

Claims (16)

  1. 다수의 노드 중 하나의 노드를 루트 노드로 결정하는 노드 결정부와,
    결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 클러스터 구성부와,
    상기 클러스터 내의 노드들이 임시 루트 노드들이 되어, 상기 임시 루트 노드들 각각이, 상기 임시 루트 노드들 각각에 대응되는 시퀀스 번호가 포함된 타임스탬프 메시지 및 상기 루트 노드를 기준으로한 홉수를 브로드캐스팅한 것에 응답하여, 상기 임시 루트 노드들 각각에 대응되는 상기 시퀀스 번호가 포함된 타임스탬프 메시지 중 적어도 하나의 임시 루트 노드에 대응되는 타임스탬프 메시지를 수신하는 메시지 송수신부와,
    상기 적어도 하나의 임시 루트 노드에 대응되는 타임스탬프 메시지의 수신에 의거하여 상기 임시 루트 노드들 각각의 홉수를 카운트하고, 카운트 결과에 의거하여 상기 임시 루트 노드들의 최대 홉수들을 확인하여, 상기 임시 루트 노드들 중 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 신규 노드 선정부
    를 포함하며,
    상기 임시 루트 노드들의 상기 최대 홉수들은,
    상기 임시 루트 노드들 각각이, 상기 브로드캐스팅 이후 기 설정된 시간 내에 중복된 시퀀스 번호를 포함하는 타임스탬프의 수신 여부에 기초하여, 결정되는,
    시간 동기화를 위한 루트 노드 관리 장치.
  2. 제 1 항에 있어서,
    상기 노드 결정부는,
    상기 다수의 노드 중 어느 하나를 상기 루트 노드로 랜덤하게 결정하는
    시간 동기화를 위한 루트 노드 관리 장치.
  3. 제 1 항에 있어서,
    상기 노드 결정부는,
    상기 다수의 노드 중 각 노드의 ID를 바탕으로 ID 값이 가장 높거나 혹은 상기 ID 값이 가장 낮은 노드를 상기 루트 노드로 결정하는
    시간 동기화를 위한 루트 노드 관리 장치.
  4. 제 1 항에 있어서,
    상기 신규 노드 선정부는,
    네트워크의 토폴로지 변화가 감지될 때 상기 새로운 루트 노드를 선정하는
    시간 동기화를 위한 루트 노드 관리 장치.
  5. 제 4 항에 있어서,
    상기 토폴로지 변화는,
    신규 노드의 추가, 기존 노드 중의 일부 삭제, 기존 노드의 이동 중 적어도 하나인
    시간 동기화를 위한 루트 노드 관리 장치.
  6. 제 1 항에 있어서,
    상기 신규 노드 선정부는,
    기 설정된 시간 간격으로 상기 새로운 루트 노드를 선정하는
    시간 동기화를 위한 루트 노드 관리 장치.
  7. 제 1 항에 있어서,
    상기 신규 노드 선정부는,
    상기 최대 홉수가 동일한 노드가 다수 개이면, 상기 최대 홉수를 갖는 플로우(flow)의 개수가 가장 작은 노드를 상기 새로운 루트 노드로 선정하는
    시간 동기화를 위한 루트 노드 관리 장치.
  8. 제 1 항에 있어서,
    상기 신규 노드 선정부는,
    상기 최대 홉수가 동일한 노드가 다수 개이면, ID 값이 가장 높거나 혹은 상기 ID 값이 가장 낮은 노드를 상기 새로운 루트 노드로 선정하는
    시간 동기화를 위한 루트 노드 관리 장치.
  9. 다수의 노드 중 하나의 노드를 루트 노드로 결정하는 단계와,
    결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 단계와,
    상기 클러스터 내의 노드들이 임시 루트 노드들이 되어, 상기 임시 루트 노드들 각각이, 상기 임시 루트 노드들 각각에 대응되는 시퀀스 번호가 포함된 타임스탬프 메시지 및 상기 루트 노드를 기준으로한 홉수를 브로드캐스팅한 것에 응답하여, 상기 임시 루트 노드들 각각에 대응되는 상기 시퀀스 번호가 포함된 타임스탬프 메시지 중 적어도 하나의 임시 루트 노드에 대응되는 타임스탬프 메시지를 수신하는 단계와,
    상기 적어도 하나의 임시 루트 노드에 대응되는 타임스탬프 메시지의 수신에 의거하여 상기 임시 루트 노드들 각각의 홉수를 카운트하고, 카운트 결과에 의거하여 상기 임시 루트 노드들의 최대홉수들을 확인하여, 상기 임시 루트 노드들 중 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 단계
    를 포함하며,
    상기 임시 루트 노드들의 상기 최대 홉수들은,
    상기 임시 루트 노드들 각각이, 상기 브로드캐스팅 이후 기 설정된 시간 내에 중복된 시퀀스 번호를 포함하는 타임스탬프의 수신 여부에 기초하여, 결정되는
    시간 동기화를 위한 루트 노드 관리 방법.
  10. 제 9 항에 있어서,
    상기 루트 노드는,
    상기 다수의 노드 중 어느 하나가 랜덤하게 결정되는 노드인
    시간 동기화를 위한 루트 노드 관리 방법.
  11. 제 9 항에 있어서,
    상기 루트 노드는,
    상기 다수의 노드 중 각 노드의 ID를 바탕으로 ID 값이 가장 높은 노드이거나 혹은 상기 ID 값이 가장 낮은 노드인
    시간 동기화를 위한 루트 노드 관리 방법.
  12. 제 9 항에 있어서,
    상기 새로운 루트 노드의 선정은,
    네트워크의 토폴로지 변화가 감지될 때 수행되는
    시간 동기화를 위한 루트 노드 관리 방법.
  13. 제 9 항에 있어서,
    상기 새로운 루트 노드의 선정은,
    기 설정된 시간 간격으로 자동 수행되는
    시간 동기화를 위한 루트 노드 관리 방법.
  14. 제 9 항에 있어서,
    상기 새로운 루트 노드로 선정하는 단계는,
    상기 최대 홉수가 동일한 노드가 다수 개이면, 상기 최대 홉수를 갖는 플로우(flow)의 개수가 가장 작은 노드를 상기 새로운 루트 노드로 선정하는
    시간 동기화를 위한 루트 노드 관리 방법.
  15. 제 9 항에 있어서,
    상기 새로운 루트 노드로 선정하는 단계는,
    상기 최대 홉수가 동일한 노드가 다수 개이면, ID 값이 가장 높거나 혹은 상기 ID 값이 가장 낮은 노드를 상기 새로운 루트 노드로 선정하는
    시간 동기화를 위한 루트 노드 관리 방법.
  16. 시간 동기화를 위한 루트 노드 관리 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체로서,
    상기 루트 노드 관리 방법은,
    다수의 노드 중 하나의 노드를 루트 노드로 결정하는 단계와,
    결정된 상기 루트 노드에 인접하는 노드들을 클러스터로 구성하는 단계와,
    상기 클러스터 내의 노드들이 임시 루트 노드들이 되어, 상기 임시 루트 노드들 각각이, 상기 임시 루트 노드들 각각에 대응되는 시퀀스 번호가 포함된 타임스탬프 메시지 및 상기 루트 노드를 기준으로한 홉수를 브로드캐스팅한 것에 응답하여, 상기 임시 루트 노드들 각각에 대응되는 상기 시퀀스 번호가 포함된 타임스탬프 메시지 중 적어도 하나의 임시 루트 노드에 대응되는 타임스탬프 메시지를 수신하는 단계와,
    상기 적어도 하나의 임시 루트 노드에 대응되는 타임스탬프 메시지의 수신에 의거하여 상기 임시 루트 노드들 각각의 홉수를 카운트하고, 카운트 결과에 의거하여 상기 임시 루트 노드들의 최대홉수들을 확인하여, 상기 임시 루트 노드들 중 최대 홉수가 가장 작은 노드를 새로운 루트 노드로 선정하는 단계
    를 포함하며,
    상기 임시 루트 노드들의 상기 최대 홉수들은,
    상기 임시 루트 노드들 각각이, 상기 브로드캐스팅 이후 기 설정된 시간 내에 중복된 시퀀스 번호를 포함하는 타임스탬프의 수신 여부에 기초하여, 결정되는
    컴퓨터 판독 가능한 기록매체.
KR1020180162260A 2018-12-14 2018-12-14 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법 KR102205958B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180162260A KR102205958B1 (ko) 2018-12-14 2018-12-14 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180162260A KR102205958B1 (ko) 2018-12-14 2018-12-14 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200073742A KR20200073742A (ko) 2020-06-24
KR102205958B1 true KR102205958B1 (ko) 2021-01-21

Family

ID=71407764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180162260A KR102205958B1 (ko) 2018-12-14 2018-12-14 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102205958B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100695333B1 (ko) 2006-03-21 2007-03-16 한국전자통신연구원 무선 네트워크에서의 동적 예비클러스터 헤드를 이용한토폴로지 관리 방법
JP2013065957A (ja) 2011-09-15 2013-04-11 Nec Corp マルチホップ無線ネットワークの経路制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100768588B1 (ko) * 2005-09-01 2007-10-19 연세대학교 산학협력단 애드 혹 무선 네트워크에서 예비 클러스터를 이용한토폴로지 관리 방법 및 이를 구현하기 위한 프로그램을기록한 기록매체
KR101237502B1 (ko) * 2009-04-16 2013-02-27 연세대학교 산학협력단 무선 애드 혹(ab hoc) 네트워크에서 스케줄링 방법 및스케줄링 정보의 동기화 방법
KR20130019907A (ko) * 2011-08-18 2013-02-27 목포대학교산학협력단 센서 네트워크 내 클러스터 헤드 선출 방법
KR101685467B1 (ko) 2015-12-31 2016-12-12 경북대학교 산학협력단 무선 센서 네트워크, 이의 싱크 노드와 센서 노드, 그리고 무선 센서 네트워크의 초기 설정 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100695333B1 (ko) 2006-03-21 2007-03-16 한국전자통신연구원 무선 네트워크에서의 동적 예비클러스터 헤드를 이용한토폴로지 관리 방법
JP2013065957A (ja) 2011-09-15 2013-04-11 Nec Corp マルチホップ無線ネットワークの経路制御方法

Also Published As

Publication number Publication date
KR20200073742A (ko) 2020-06-24

Similar Documents

Publication Publication Date Title
US10349335B2 (en) Methods and apparatus for use in selecting a connection path for low-latency, deterministic multi-hop D2D communications
EP2015477B1 (en) TDMA communications system with configuration beacon and associated method
US8908621B2 (en) Dynamic common broadcast schedule parameters for overlaying an independent unicast schedule
US8050196B2 (en) Method and apparatus for controlling packet transmissions within wireless networks to enhance network formation
EP1976164B1 (en) TDMA mobile ad-hoc network (MANET) with second order timing and tracking
CN109788542B (zh) 自组网信道接入方法、装置、计算机设备及可读存储介质
KR20200006540A (ko) 텔레그램 스플릿팅을 위한 특정 도약 패턴
CN101518116A (zh) 用于使用具有高效带宽利用的多个tdma网状网络通信的系统和方法
CN101518113A (zh) 用于同步tdma网状网络的系统和方法
TW200841676A (en) Distributed channel allocation method and wireless mesh network therewith
CN106686685B (zh) 多跳移动无线自组织网络拓扑快速发现方法
AU2019295486B2 (en) Coordinating communications between nodes having asynchronous time slot schedules
KR100645431B1 (ko) 무선네트워크에서 브로드캐스트 방법 및 그 방법을사용하는 통신장치
KR101304745B1 (ko) 적어도 하나의 타이밍 분배 프로토콜을 통해 제 1 및 제 2 데이터를 분리 전송함으로써 클록들을 동기화시키는 방법, 및 연관된 시스템 및 모듈
CN105072586B (zh) 嵌入式无线自组织网络中对广播消息的转发的管理方法
KR102205958B1 (ko) 시간 동기화를 위한 루트 노드 관리 장치 및 그 방법
KR20110015795A (ko) 무선 인지 환경에서 멀티채널 ad-hoc 네트워크를 위한 분산적 협력 공통 제어 채널 선택 방법
KR101107326B1 (ko) 센서 네트워크에서의 이웃 노드 발견 및 보고 방법
KR102174377B1 (ko) 노드 시간동기 제어 장치 및 그 방법
US11451469B2 (en) On-demand table and route update after a node failure in a wireless network
KR102180041B1 (ko) 노드의 시간동기 제어 장치 및 그 방법
KR101020336B1 (ko) 무선 센서 네트워크에서 클러스터 간 충돌을 방지하기 위한 위치 기반 나선형 클러스터링 방법
KR102264684B1 (ko) 시분할다중접속 기반 네트워크 구성방법
Belogaev et al. Analytical study of incremental approach for information dissemination in wireless networks
Abedi et al. Agile Spectrum mobility aided spectrum-aware routing protocol for cognitive radio ad hoc networks

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right