KR20210028446A - 노드 시간 재설정 방법 - Google Patents

노드 시간 재설정 방법 Download PDF

Info

Publication number
KR20210028446A
KR20210028446A KR1020190109542A KR20190109542A KR20210028446A KR 20210028446 A KR20210028446 A KR 20210028446A KR 1020190109542 A KR1020190109542 A KR 1020190109542A KR 20190109542 A KR20190109542 A KR 20190109542A KR 20210028446 A KR20210028446 A KR 20210028446A
Authority
KR
South Korea
Prior art keywords
node
time
offset
drift
message
Prior art date
Application number
KR1020190109542A
Other languages
English (en)
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 KR1020190109542A priority Critical patent/KR20210028446A/ko
Publication of KR20210028446A publication Critical patent/KR20210028446A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/0055Synchronisation arrangements determining timing error of reception due to propagation delay
    • H04W56/0065Synchronisation arrangements determining timing error of reception due to propagation delay using measurement of signal travel time
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

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

Abstract

무선 네트워크를 구성하는 임의의 제1 노드가 주기적으로 기준 노드에 맞추어 시간을 재설정하는 방법에 있어서, 상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋에, 이전 재설정 주기에서의 시간 드리프트를 더하여 현재 재설정 주기의 시간 드리프트를 결정하는 단계, 및 상기 현재 재설정 주기의 시간에 상기 오프셋 및 상기 현재 재설정 주기의 시간 드리프트를 적용하여 시간 재설정하는 단계를 포함할 수 있다.

Description

노드 시간 재설정 방법{Method to reset node time}
본 발명의 실시예들은 복수 개의 노드들이 통신하는데 있어서, 노드들의 시간을 재설정하는 방법에 관한 것이다. 구체적으로는, 상기 시간을 주기마다 재설정하는데, 한 주기 전의 시간 드리프트를 이용하여 시간을 재설정할 수 있다.
무선 센서 네트워크 (WSNs)는 의료 어플리케이션, 공장 자동화 및 환경 모니터링과 같은 분야에서의 기술적 진보로 인해 최근에 세계적으로 주목을 받아왔다. WSN은 대개 환경과 상호 작용하여 환경 데이터를 측정하고 협력하여 다중 홉 통신(Multi-hop communication)을 통해 데이터를 전파할 수 있는 여러 센서로 구성된다. 상기와 같은 센서 노드는 처리 및 컴퓨팅 리소스가 상대적으로 제한적이다. 다수의 센서 노드는 배터리로 제공되는 장치이고, 이므로 배터리 수명을 늘리기 위해 전력 소비를 최소화하는 것이 매우 중요하다. 또한, 센서 노드는 종종 저가의 하드웨어 클락 오실레이터(Clock Oscillator)를 갖추고 있어, 정확히 시간 동기화를 맞추는 것이 어렵다. 결과적으로, 정확한 동기화 절차가 주기적으로 수행되지 않는 한, 노드들의 시간 동기화는 오랜 시간 동안 유지될 수 없다.
WSN에 대해 여러 가지 동기화 프로토콜이 제안되었는데, 상기 프로토콜의 목적은 네트워크 시간 동기화에 일반적으로 사용되는 타이밍 메시지 교환을 통해 대규모 네트워크의 모든 센서 노드를 동기화하는 것이다.
대한민국 특허공개공보 제10-2011-0068815호(공개일: 2011년 06월 22일) 대한민국 특허공개공보 제10-2009-0006757호(공개일: 2009년 01월 15일) 대한민국 특허공개공보 제10-2009-0055887호(공개일: 2009년 06월 03일)
일실시예에 따른 무선 네트워크를 구성하는 임의의 제1 노드가 주기적으로 기준 노드에 맞추어 시간을 재설정하는 방법은 상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋에, 이전 재설정 주기에서의 시간 드리프트를 더하여 현재 재설정 주기의 시간 드리프트를 결정하는 단계, 및 상기 현재 재설정 주기의 시간에 상기 오프셋 및 상기 현재 재설정 주기의 시간 드리프트를 적용하여 시간 재설정하는 단계를 포함할 수 있다.
다른 일실시예에 따르면 상기 기준 노드가 상기 제1 노드와 구별되는 제2 노드, 및 제1 노드로 제1 메시지를 전송하는 단계, 상기 제2 노드가 상기 기준 노드로 제2 메시지를 전송하는 단계, 및 상기 제1 메시지, 및 상기 제2 메시지를 이용하여 상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋을 계산하는 단계를 더 포함할 수 있다.
또한, 제2 노드가 상기 제1 메시지를 전송 받기까지 소요된 시간과 상기 기준 노드가 상기 제2 메시지를 전송 받기까지 소요된 시간의 차이로 상기 제2 노드와 상기 기준 노드 사이의 시간차 오프셋을 구하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 제1 노드가 상기 제1 메시지를 전송 받기까지 소요된 시간과 상기 제2 노드가 상기 제1 메시지를 전송 받기까지 소요된 시간의 차이로 상기 제1 노드와 상기 제2 노드 사이의 시간차 오프셋을 구하는 단계를 더 포함할 수 있다.
상기 실시예의 제1 노드와 상기 기준 노드 사이의 시간차 오프셋은 상기 제2 노드와 상기 기준 노드 사이의 시간차 오프셋과 상기 제1 노드와 상기 제2 노드 사이의 시간차 오프셋을 더하여 계산할 수 있다.
또한, 상기 제1 노드 및 제2 노드는 상기 기준 노드의 이웃 노드일 수 있다.
도1은 일실시예에 따른 서로 다른 두 노드가 드리프트 요소로 인해 이상적인 타임과 차이가 생기는 것을 그래프로 도시한다.
도 2는 일실시예에 따른 타임 오프셋 및 시간 드리프트에 관한 노드의 시간 오차를 고려하여 노드의 시간을 재설정하는 순서도를 도시한다.
도3은 일실시예에 따른 노드의 시간을 재설정하는 방법을 도시한다.
도4는 일실시예에 따라 일정 주기의 서로 다른 시점에서 서로 다른 시간 드리프트를 갖는 것을 도시한다.
도 5는 일실시예에 따라 노드의 시간을 재설정한 후 한 주기가 지난 시점에서 기준 노드 기준 타임 오프셋을 도시한다.
도6은 일실시예에 따라 시간차 오프셋을 구하기 위해 기준 노드, 제1, 2 노드가 메시지를 전송하는 것을 도시한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
상호 간에 연결된 복수개의 노드는 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 후술하는 프로세스가 구현될 수 있다. 예를 들어, 최상위 노드는 센싱 데이터를 단말간 통신하는 통신 단말에서 통신하는 시간을 동기화하기 위해 스케쥴링하는데 이용될 수 있다.
노드 자신의 시간을 재설정하는 상기 노드는 프로세서 및 메모리로 구성될 수 있다. 메모리는 방법의 동작을 수행하는 프로그램을 기록할 수 있다. 프로세서는 메모리에 기록된 프로그램을 로딩하여 방법의 동작을 수행할 수 있다.
도1은 일실시예에 따른 서로 다른 두 노드가 드리프트 요소로 인해 이상적인 타임과 차이가 생기는 것을 그래프(100)로 도시한다.
먼저 도1a는 서로 다른 두 노드i,j의 클락이 이상적인 타임을 기준으로 하여 갖는 로컬 타임을 나타낸다.
모든 노드에는 고유 한 ID 번호가 있으며 하드웨어 클락이 장착되어 있다. 노드의 하드웨어 클락의 이상적인 시간은
Figure pat00001
로 표시되며, 부정확한 로컬 시간 값
Figure pat00002
는 수학식1 로 표현될 수 있다. 초당 시간 드리프트는 각 단위 시간 (1초) 동안 로컬 하드웨어 클럭에 의해 유도된 시간 오류로 정의된다. 드리프트 요소인
Figure pat00003
는 이상적인 시간
Figure pat00004
과 대조적으로 현지 시간
Figure pat00005
의 기울기로 정의된다.
Figure pat00006
상기
Figure pat00007
는 로컬 하드웨어 클락으로부터의 판독되는 시간이고,
Figure pat00008
Figure pat00009
는 각각 이상적인 시간
Figure pat00010
에 대한 노드 i의 드리프트 요소 및 시간 오프셋이다.
Figure pat00011
Figure pat00012
는 짧은 기간 동안 일정하다고 가정한다. 상기 노드i와 구별되는 노드 j의 이상적인 시간 값에 비해 부정확한 로컬 타임
Figure pat00013
는 수학 식 2로 정의된다.
Figure pat00014
상기
Figure pat00015
는 이상적인 시간
Figure pat00016
에 대한 노드 j의 로컬 시간 판독 값을 나타내며,
Figure pat00017
Figure pat00018
는 각각 드리프트 요소 및 시간 오프셋을 나타낸다. 상기 두 노드 i와 j의 로컬 시간 값은 수학식 3과 같이 선형적으로 계산될 수 있다.
Figure pat00019
상기 수학식3의
Figure pat00020
이고
Figure pat00021
이며,
Figure pat00022
Figure pat00023
는 로컬 시간
Figure pat00024
에 대한 로컬 시간
Figure pat00025
의 상대적인 드리프트 요소와 타임 오프셋 값이다.
도1b는 노드 i의 로컬 타임에 대한 노드 j의 로컬 타임의 관계를 그래프(110)으로 나타낸다. 기준 시간을
Figure pat00026
로 취하면, 주기
Figure pat00027
에서 노드 j와 노드 i 사이의 시간 드리프트
Figure pat00028
는 수학식 4에 의해 계산될 수있다.
Figure pat00029
도 1c는 노드 i를 기준 노드로 하여 계산된 노드 j의 오프셋이 보상된 것을 그래프(120)으로 나타낸 것이다. 모든
Figure pat00030
기간 동안, 노드 j는 측정된 오프셋
Figure pat00031
에 의해 부정확하게 된 로컬 타임을 보상하고, 노드 j의 로컬 타임은 특정 시점의 이상적인 타임으로부터 계속하여 벗어나게 된다.
종래의 노드 시간 재설정 방법은
Figure pat00032
를 계산하기 위해 부정확한 접근법을 사용하므로
Figure pat00033
를 최소화하지 못한다. 상기 종래 노드 시간 재설정 방법은 상대적으로 짧은
Figure pat00034
으로 반복된 시간 동기화를 필요로 하나, 후술하는 실시예은 정확하게
Figure pat00035
값을 추정할 수 있으므로,
Figure pat00036
을 더욱 길게 만들 수 있으며 결과적으로 동기화 빈도가 낮은 저전력 동기화가 가능할 수 있다.
도 2는 일실시예에 따른 타임 오프셋 및 시간 드리프트에 관한 노드의 시간 오차를 고려하여 노드의 시간을 재설정하는 순서도를 도시한다.
일실시예에 따라 무선 네트워크를 구성하는 임의의 제1 노드가 주기적으로 기준 노드에 맞추어 시간을 재설정하는 방법에 있어서, 상기 방법은 상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋에, 이전 재설정 주기에서의 시간 드리프트를 더하여 현재 재설정 주기의 시간 드리프트를 결정하는 단계(210), 및 상기 현재 재설정 주기의 시간에 상기 오프셋 및 상기 현재 재설정 주기의 시간 드리프트를 적용하여 시간 재설정하는 단계(220)를 포함할 수 있다.
상기 시간차 오프셋은 제1 노드의 시간을 기준 노드의 시간으로 동기화하기 위한 값일 수 있으며, 오프셋을 계산하는 단계(200)은 도6을 통해 상세히 설명하도록 한다.
도3은 일실시예에 따른 노드의 시간을 재설정하는 방법을 도시한다.
임의의 노드의 클락은 예시적으로 32.768 kHz에서 작동되는 낮은 주파수 안정도를 갖는 저주파 크리스탈 오실레이터(Crystal Oscillator)를 사용할 수 있다. 예를 들어, 크리스탈 오실레이터의 주파수로 인한 시간 드리프트는 약 40ppm일 수 있는데, 이를 보상하기 위해서는 매우 짧은 기간 동안 지속적으로 재 동기화가 필요할 수 있다. 예시적으로 상기 노드는 센서 노드일 수 있는데, 상기 센서의 정확한 시간에 맞춰 데이터를 수집하여 상위 노드로 전송하기 위해서 센서 네트워크는 모든 센서의 시간 오프셋이 5 ms 미만이어야 할 수 있다. 40ppm 오프셋의 오실레이터를 사용하면
Figure pat00037
가 125초만큼 짧아야하는데, 이것은 네트워크가 에너지 소비를 최소화하기 위해 대부분의 시간을 슬립 모드로 유지해야하는 저전력으로 복수 개의 노드를 운용하는데에 있어서 비실용적일 수 있다. 따라서,
Figure pat00038
를 합리적인 범위로 늘리려면, 송신기 클락에 대한 수신 클락의 드리프트를 보상해야 한다.
종래의 방법들은 시간 드리프트를 보상하기 위해 상기 시간 드리프트를 선형적으로 추정했다. 그러나 실제로 클록 드리프트는 선형이 아니고, 온도, 센서의 노화 및 전원 전압 변동과 같은 환경 요인으로 인해 드리프트 요소가 영향을 미쳐 비선형적이게 된다. 따라서 종래의 방법대로 클락 드래프트를 선형적으로 계산하여 장시간 보상을 수행하면 시간 드리프트 보상이 부정확하게 될 수 있다. 또한 각 노드의 부족한 자원으로 인해 과도한 계산 및 저장이 필요하게 된다. 이에 반해, 후술하는 실시예에서 각 노드는
Figure pat00039
이 지나는 시점마다 클락를 조정하고, 수학식 5에 따라 상기 시점의 시간 드리프트는 이전 시점의 드리프트 값을 사용하여 현재 드리프트 값을 추정할 수 있다.
Figure pat00040
상기 m은 1부터 시작하여 일정 주기가 지나는 시점마다 반복하여 증가하는 시간 재설정 횟수를 나타낸다. 초기 시간 드리프트인
Figure pat00041
으로 하여 시간 드리프트 값을 추정하기 시작한 다음, 반복되어 증가하는 m 에 대해 직전 시점의 시간 드리프트를 이용하여
Figure pat00042
을 업데이트할 수 있다. 각 노드j는 미리 정해진 주기인
Figure pat00043
마다 시간 드리프트
Figure pat00044
를 동적으로 추정할 수 있다. 상기의 경우, 노드 j가 슬립 모드로 들어가기 직전에, 노드 j는 수학 식 6에서와 같이 시간 드리프트를 보상하기 위해
Figure pat00045
로부터 새로운
Figure pat00046
를 계산할 수 있다.
Figure pat00047
상기 수학식 6은 타임 오프셋 및 시간 드리프트를 모두 포함한다. 제 1 보상 사이클에서, 기준 노드(Rn) 및 노드j는 아직 동기화되지 않았다. 각각의 주기적인 동기화 시간 (예를 들어, C1, C2, C3??)에서, 기준 노드 Rn은 노드 j에 오프셋 값을 전송한다. 첫 번째 시점 C1에서, 노드j는 타임 오프셋 O [1](311)을 수신하더라도, C1에서의 시간 드리프트를 알지 못하므로, 노드j는 O[1](311)만으로 로컬 시간을 보상한다. 두 번째 사이클에서 시작하여, C2 시점에서 노드j는 현재의 시간 드리프트를 추정 할 수 있으며 상기 수학식 6을 사용하여 O[2](312)와
Figure pat00048
(322)를 사용하여 로컬 시간을 보다 정확하게 보상할 수 있다.
Figure pat00049
마다 노드j는 상기의 프로세스를 반복할 수 있다.
같은 방법으로, C3, C4에서는 O[3](313)와
Figure pat00050
(323), O[3](314)와
Figure pat00051
(324)를 이용하여 시간 재설정할 수 있다.
도4는 일실시예에 따라 일정 주기의 서로 다른 시점에서 서로 다른 시간 드리프트를 갖는 것을 도시한다.
도4는 3개의 노드에 대해 3일(72시간) 동안의 타임 오프셋을 측정한 것을 보여주는데, 기준 노드는 다른 2개의 노드의 타임 오프셋을 측정하기 위한 기준이 된다. 기준 노드에 대한 노드(N1 및 N2)의 타임 오프셋은 다른 시점마다 상이한 레이트로 증가된다는 것을 알 수 있다. 유사한 패턴의 타임 오프셋 변경은 매일 반복되는데, 이러한 규칙적인 패턴은 낮의 온도 변화에 따라 달라지는 시간 드리프트 속도에 기인한다.
도 5는 일실시예에 따라 노드의 시간을 재설정한 후 한 주기가 지난 시점에서 기준 노드 기준 타임 오프셋을 도시한다.
일실시예에 따른 시간 재설정 방법은 주기의 두번째 시점부터 시간 드리프트의 추정을 시작하기 때문에, 매 반복마다 정확하게 다음 시점의 드리프트 추정을 업데이트할 수 있다. 따라서 결과적인 타임 오프셋 값은 상당히 작아지고, 매우 작은 값으로 빠르게 수렴한다. 양수 타임 오프셋은 다음 시점에서
Figure pat00052
가 증가한다는 것을 의미하지만 음수 오프셋은
Figure pat00053
가 다음 반복에서 감소 할 것임을 의미한다. 반면에 영점 오프셋은 최적의
Figure pat00054
가 얻어 졌음을 의미하므로 기준 노드와 완벽히 동기화된 것을 의미한다.
도5는 예시적으로 시간 드리프트를 이용하여 제1 노드의 시간을 재설정한 결과 값인데, Y축의 0을 기준으로 하여 윗부분에 위치한 값들은 시간 재설정하지 않은 오리지널 오프셋 값들(510,511)이다. 두번째 시점의 오리지널 오프셋(511)을 보상하기 위해 기준 노드와의 시간차 오프셋을 0으로 만든 후, 시간 드리프트 값(520)만큼 더 빼줄 수 있다. 이에 따라, 두번째 시점의 오프셋 값(531)은 오리지널 오프셋 값(511)보다 훨씬 작아진 값을 갖는 다는 것을 알 수 있다. 세번째 시점에서도 매우 작은 오프셋 값을 갖게 하기 위해 첫번째 시점의 시간 드리프트 값(520)과 두번째 시점의 오프셋 값(531)을 더하여 두번째 시점의 시간 드리프트 값(521)을 계산할 수 있다.
상기 실시예에 따르면, 시간 드리프트 추정은 상기 시간 드리프트 레이트의 단기간의 변화를 적응적으로 추적할 수 있다. 결과적으로, 도4에서와 같이 온도에 따른 단조로운 변화를 보이는 오실레이터 동작을 예측하는 데 가장 적합할 수 있다. 종래의 실시예들은 오실레이터의 실제 동작을 무시하고, 타임 오프셋이 무작위로 변경된다고 가정하여, 다소 많은 타임 오프셋 샘플 수집하고, 상기 샘플에 대해 평균을 취하여 시간 드리프트를 계산한다.
도6은 일실시예에 따라 시간차 오프셋을 구하기 위해 기준 노드, 제1, 2 노드가 메시지를 전송하는 것을 도시한다.
일실시예에 따르면, 기준 노드(Rn)는 시간 T1에서 제1 메시지를 모든 인접 노드들에 브로드 캐스팅할 수 있다. 상기 모든 인접 노드는 임의의 제1 노드를 포함하며, 상기 기준 노드와 제1 노드 사이의 시간차 오프셋을 계산하기 위한 또 다른 기준 노드인 제2 노드를 포함할 수 있다. 제2 노드는 시간차 오프셋을 측정하기 위해 기준이 되는 노드로, 제1 노드의 시간 재설정하기 위해 직접적으로 제1 노드와 통신되어야 할 필요는 없다. 제1 노드는 제1 메시지의 도착 시간 T2(1)에 대한 타임 스탬프를 유지할 수 있다. 제1 노드는 기준 노드의 무선 범위에 있는 동기화되지 않은 이웃 노드 중 하나일 수 있다. 제2 노드는 제1 메시지의 도착 시간 T2(2)에 대한 타임 스탬프를 유지할 수 있다.
제2 노드는 제2 메시지를 다시 기준 노드로 전송할 수 있다. 상기 제1 메시지, 및 제2 메시지는 시간 동기화를 위해 복수 개의 노드들끼리 주고 받는 시간에 관한 정보를 포함할 수 있으며, 패킷 형태로 전송될 수 있다. 제2 메시지는 제2 메시지의 전송 시간 T3와 제1 메시지의 도착 시간 T2(2)에 관한 시간 정보로 구성될 수 있다. 기준 노드는 모든 타임 스탬프 T1, T2(2), T3, 및 제2 메시지를 수신한 직후의 시간인 T4를 수집하여, 수학식 7을 사용하여 제2 노드와 기준 노드 사이의 시간차 오프셋을 추정할 수 있다.
Figure pat00055
기준 노드는 오프셋 전송 메시지를 모든 인접 노드에 브로드 캐스팅할 수 있는데, 상기 오프셋 전송 메시지는 시간 T2(2) 및
Figure pat00056
에 관한 정보를 포함할 수 있다. 오프셋 전송 메시지를 수신한 제1 노드는 수학식 8를 사용하여 제1 노드 및 제2 노드의 시간차 오프셋을 계산할 수 있다.
Figure pat00057
수학식 7, 8을 통해 계산된
Figure pat00058
,
Figure pat00059
로 시간 재설정에 필요한 제1 노드 및 기준 노드 사이의 오프셋을 계산할 수 있다.
Figure pat00060
상기 방법으로 계산된 시간차 오프셋으로 제1 노드의 시간을 재설정하는 것은, 최소한의 기준 노드의 세트로 모든 노드들을 포괄할 수 있다. 또한, 주기적 동기화 프로세스 중 전력 소비를 줄일 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (7)

  1. 무선 네트워크를 구성하는 임의의 제1 노드가 주기적으로 기준 노드에 맞추어 시간을 재설정하는 방법에 있어서, 상기 방법은:
    상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋에, 이전 재설정 주기에서의 시간 드리프트를 더하여 현재 재설정 주기의 시간 드리프트를 결정하는 단계; 및
    상기 현재 재설정 주기의 시간에 상기 오프셋 및 상기 현재 재설정 주기의 시간 드리프트를 적용하여 시간 재설정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 기준 노드가 상기 제1 노드와 구별되는 제2 노드, 및 제1 노드로 제1 메시지를 전송하는 단계;
    상기 제2 노드가 상기 기준 노드로 제2 메시지를 전송하는 단계; 및
    상기 제1 메시지, 및 상기 제2 메시지를 이용하여 상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋을 계산하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    제2 노드가 상기 제1 메시지를 전송 받기까지 소요된 시간과 상기 기준 노드가 상기 제2 메시지를 전송 받기까지 소요된 시간의 차이로 상기 제2 노드와 상기 기준 노드 사이의 시간차 오프셋을 구하는 단계
    를 더 포함하는 방법.
  4. 제3항에 있어서,
    제1 노드가 상기 제1 메시지를 전송 받기까지 소요된 시간과 상기 제2 노드가 상기 제1 메시지를 전송 받기까지 소요된 시간의 차이로 상기 제1 노드와 상기 제2 노드 사이의 시간차 오프셋을 구하는 단계
    를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋은 상기 제2 노드와 상기 기준 노드 사이의 시간차 오프셋과 상기 제1 노드와 상기 제2 노드 사이의 시간차 오프셋을 더하여 계산하는 방법.
  6. 제2항에 있어서,
    상기 제1 노드 및 제2 노드는 상기 기준 노드의 이웃 노드인 노드 시간 재설정 방법.
  7. 무선 네트워크를 구성하는 노드 장치에 있어서, 상기 노드 장치는 상기 무선 네트워크에서 상기 노드 장치와 연결되는 기준 노드에 맞추어 주기적으로 시간을 재설정하고, 상기 노드 장치는:
    상기 제1 노드와 상기 기준 노드 사이의 시간차 오프셋에, 이전 재설정 주기에서의 시간 드리프트를 더하여 현재 재설정 주기의 시간 드리프트를 결정하는 결정부; 및
    상기 현재 재설정 주기의 시간에 상기 오프셋 및 상기 현재 재설정 주기의 시간 드리프트를 적용하여 시간을 재설정하는 설정부
    를 포함하는 노드 장치.
KR1020190109542A 2019-09-04 2019-09-04 노드 시간 재설정 방법 KR20210028446A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190109542A KR20210028446A (ko) 2019-09-04 2019-09-04 노드 시간 재설정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190109542A KR20210028446A (ko) 2019-09-04 2019-09-04 노드 시간 재설정 방법

Publications (1)

Publication Number Publication Date
KR20210028446A true KR20210028446A (ko) 2021-03-12

Family

ID=75177497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190109542A KR20210028446A (ko) 2019-09-04 2019-09-04 노드 시간 재설정 방법

Country Status (1)

Country Link
KR (1) KR20210028446A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090006757A (ko) 2007-07-12 2009-01-15 한국전자통신연구원 무선 센서 네트워크에서 시간 동기화 방법 및 예약 기법을이용한 저전력 라우팅 방법, 그리고 이를 수행하기 위한장치
KR20090055887A (ko) 2007-11-29 2009-06-03 한국전자통신연구원 무선센서네트워크에서의 시각 동기화 방법
KR20110068815A (ko) 2009-12-15 2011-06-22 순천대학교 산학협력단 코디네이터, 센서 노드, 이동 노드, 고정 노드, 라우터, 센서 네트워크 및 그 동기화 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090006757A (ko) 2007-07-12 2009-01-15 한국전자통신연구원 무선 센서 네트워크에서 시간 동기화 방법 및 예약 기법을이용한 저전력 라우팅 방법, 그리고 이를 수행하기 위한장치
KR20090055887A (ko) 2007-11-29 2009-06-03 한국전자통신연구원 무선센서네트워크에서의 시각 동기화 방법
KR20110068815A (ko) 2009-12-15 2011-06-22 순천대학교 산학협력단 코디네이터, 센서 노드, 이동 노드, 고정 노드, 라우터, 센서 네트워크 및 그 동기화 방법

Similar Documents

Publication Publication Date Title
US10595274B2 (en) Time synchronization in resource constrained networks
US8959381B2 (en) Method and system for clock offset and skew estimation
US10739814B2 (en) Time-synchronizing a group of nodes
US8873589B2 (en) Methods and devices for clock synchronization
Yoon et al. Tiny-sync: Tight time synchronization for wireless sensor networks
Swain et al. A model for the classification and survey of clock synchronization protocols in WSNs
Ping Delay measurement time synchronization for wireless sensor networks
US9374214B2 (en) Communication apparatus, communication system, and communication method
US10505652B2 (en) Methods and systems for estimating offset skew and drift
Elsts et al. Temperature-resilient time synchronization for the internet of things
EP2893656B1 (en) Method and system for clock offset and skew estimation
Resner et al. Speculative Precision Time Protocol: submicrosecond clock synchronization for the IoT
CN112866098A (zh) 网关授时方法、装置、电子设备及计算机可读介质
CN104837197A (zh) 一种无线传感网络双向时间同步方法
Mongelli et al. A neural approach to synchronization in wireless networks with heterogeneous sources of noise
JPWO2020149103A1 (ja) モニタリングシステム、および同期方法
US20230010155A1 (en) Time correction apparatus, time correction method, and computer readable medium
Coviello et al. A novel low-power time synchronization algorithm based on a fractional approach for wireless body area networks
Leva et al. High-precision low-power wireless nodes’ synchronization via decentralized control
KR20210028446A (ko) 노드 시간 재설정 방법
Ageev Time synchronization and energy efficiency in wireless sensor networks
US9778679B2 (en) Time synchronization system
Kosanovic et al. RPATS–Reliable power aware time synchronization protocol
Shenoy et al. Swarm-Sync: A distributed global time synchronization framework for swarm robotic systems
Kosanovic et al. Delay compensation method for time synchronization in wireless sensor networks

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination