KR100813966B1 - 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치 - Google Patents

단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치 Download PDF

Info

Publication number
KR100813966B1
KR100813966B1 KR1020050112003A KR20050112003A KR100813966B1 KR 100813966 B1 KR100813966 B1 KR 100813966B1 KR 1020050112003 A KR1020050112003 A KR 1020050112003A KR 20050112003 A KR20050112003 A KR 20050112003A KR 100813966 B1 KR100813966 B1 KR 100813966B1
Authority
KR
South Korea
Prior art keywords
delay time
host
time
way
measured
Prior art date
Application number
KR1020050112003A
Other languages
English (en)
Other versions
KR20070054037A (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 KR1020050112003A priority Critical patent/KR100813966B1/ko
Priority to US11/601,759 priority patent/US7720109B2/en
Publication of KR20070054037A publication Critical patent/KR20070054037A/ko
Application granted granted Critical
Publication of KR100813966B1 publication Critical patent/KR100813966B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치가 개시된다. 그 방법은, 네트워크에 연결되어 소정의 패킷을 주고 받는 두 호스트간의 단방향 지연시간을 추정하는 방법에 있어서, (a) 상기 일측 호스트에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 상기 타측 호스트에서 k 및 k+1번째 전송 시점을 측정하는 단계; (d) 상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 구하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 m번째 상기 단방향 지연시간을 구하는 단계; (e) 상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치하는지 판단하는 단계; 및 (f) 일치한다고 판단되면, 상기 구해진 단방향 지연시간 이하의 값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것을 특징으로 한다. 그러므로, 본 발명은, 종래에 단방향 지연시간을 추정하는 경우에 비하여 추정 오차가 적으며, 두 호스트가 비대칭으로 연결되어 있는 경우에도 단방향 지연시간을 예측할 수 있는 효과를 갖는다.

Description

단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치{Clock synchronization method and apparatus using estimated one-way delay}
도 1은 본 발명에 의해 단방향 지연시간이 추정되는 두 호스트의 연결 상태를 설명하기 위한 참고도이다.
도 2는 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 일 실시예의 블록도이다.
도 3은 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 일 참고도이다.
도 4는 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 다른 참고도이다.
도 5는 두 호스트가 주고 받는 패킷의 구조의 일 례를 나타낸 도면이다.
도 6은 본 발명에 의한 단방향 지연시간 추정방법을 설명하기 위한 일 실시예의 플로우챠트이다.
도 7은 도 6에 도시된 제622 단계에 대한 본 발명에 의한 바람직한 일 실시예를 설명하기 위한 플로우챠트이다.
도 8은 도 6에 도시된 제622 단계에 대한 본 발명에 의한 바람직한 다른 실시예를 설명하기 위한 플로우챠트이다.
< 도면의 주요 부분에 대한 부호의 설명 >
210 : 시간 측정부 212 : 에러 검출 및 정정부
214 : 오프셋 설정부 216 : 산출부
218 : 검사부 220 : 비교부
222 : 지연시간 추정부 224 : 클럭 조정부
본 발명은 두 호스트간의 단방향 지연시간 추정에 관한 것으로, 보다 상세하게는, 왕복 지연시간을 이용하여 구해진 m번째 단방향 지연시간이 각각의 호스트에서 측정된 m번째 전송 시점간의 시간차와 일치하는 경우, 그 구해진 m번째 단방향 지연시간 이하의 어떠한 값을 그 추정하고자 하는 단방향 지연시간으로서 결정하는 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치에 관한 것이다.
이격된 두 호스트 각각의 클럭은 서로 동기화되어 있을 수도 있고, 동기화되어 있지 않을 수도 있다. 동기화되어 있지 않은 두 호스트 각각의 클럭을 동기화하기 위한 방안의 하나로서, 인공위성이나 셀룰러 폰(cellular phone)의 기지국으로부터 두 호스트 모두 동일한 타이밍 정보를 수신하고, 그 수신된 타이밍 정보에 클럭을 동기시키는 방안이 있다. 그러나, 이러한 방안은 그 타이밍 정보를 수신하기 위해, 호스트에 안테나 등 고가의 수신장비가 마련되어야 한다는 점에서 활용도가 낮다는 문제점을 갖는다.
한편, 동기화되어 있지 않은 두 호스트 각각의 클럭을 동기화하기 위한 다른 방안으로서, 일측 호스트에서 측정된 왕복 지연시간의 중간값을 그 두 호스트간의 단방향 지연시간으로서 추정하고, 그 추정된 단방향 지연시간을 이용하여 두 클럭을 동기시키는 방안이 있다.
이 다른 방안은, 마련된 두 호스트가 인공위성이나 기지국 등과 같이 기준이 될 수 있는 타이밍 정보를 수신할 수 없는 환경 하에 있다면, 클럭을 동기화하기 위한 방안으로 유용하게 사용될 수 있다. 다만, 이 다른 방안은 동기(synchronization)의 정확도를 왕복 지연시간의 중간값 이상 보장할 수 없다는 한계를 지니며, 그에 따라 이러한 한계를 극복하기 위한 개선안이 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는, 왕복 지연시간을 이용하여 구해진 m번째 단방향 지연시간이 각각의 호스트에서 측정된 m번째 전송 시점간의 시간차와 일치하는 경우, 그 구해진 m번째 단방향 지연시간 이하의 어떠한 값을 그 추정하고자 하는 단방향 지연시간으로서 결정하는 단방향 지연시간 추정방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 왕복 지연시간을 이용하여 구해진 m번째 단방향 지연시간이 각각의 호스트에서 측정된 m번째 전송 시점간의 시간차와 일치하는 경우, 그 구해진 m번째 단방향 지연시간 이하의 어떠한 값을 그 추정하고자 하는 단방향 지연시간으로서 결정하는 단방향 지연시간 추정장치를 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 왕복 지연시간을 이용하여 구해진 m번째 단방향 지연시간이 각각의 호스트에서 측정된 m번째 전송 시점간의 시간차와 일치하는 경우, 그 구해진 m번째 단방향 지연시간 이하의 어떠한 값을 그 추정하고자 하는 단방향 지연시간으로서 결정하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것이다.
상기 과제를 이루기 위해, 본 발명에 의한 단방향 지연시간 추정방법은, 네트워크에 연결되어 소정의 패킷을 주고 받는 두 호스트간의 단방향 지연시간을 추정하는 방법에 있어서, (a) 상기 일측 호스트에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 상기 타측 호스트에서 k 및 k+1번째 전송 시점을 측정하는 단계; (d) 상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 구하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 m번째 상기 단방향 지연시간을 구하는 단계; (e) 상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치하는지 판단하는 단계; 및 (f) 일치한다고 판단되면, 상기 구해진 단방향 지연시간 이하의 값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것을 특징으로 한다.
본 발명의 상기 (f) 단계는, 상기 구해진 단방향 지연시간의 중간값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 것이 바람직하다. 본 발명의 상기 (f) 단계는, (f11) 일치한다고 판단되면, 상기 구해진 k번째 단방향 지연시간과 상기 구해진 k+1번째 단방향 지연시간 중 크지 않은 값을 판단하는 단계; 및 (f12) 크지 않다고 판단된 상기 단방향 지연시간의 중간값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것이 바람직하다.
본 발명은 (g) 상기 추정된 단방향 지연시간을 이용하여 상기 두 호스트를 동기화하는 단계를 더 구비하는 것이 바람직하다.
본 발명은 (c) 상기 타측 호스트에서 측정된 m번째 전송 시점을 상기 일측 호스트에서 측정된 m번째 전송 시점으로 변경하는 단계를 더 구비하는 것이 바람직하다. 또는, 본 발명은 (c) 상기 타측 호스트에서 측정된 k+1번째 전송 시점을 상기 일측 호스트에서 측정된 k+1번째 전송 시점에 상기 타측 호스트에서 구해진 k번째 왕복 지연시간을 가산한 결과로 변경하고, 상기 타측 호스트에서 측정된 k번째 전송 시점을 상기 변경된 k+1번째 전송 시점으로부터 상기 타측 호스트에서 구해진 k번째 왕복 지연시간을 감산한 결과로 변경하는 단계를 더 구비하는 것이 바람직하다.
본 발명의 상기 (d) 단계는, 상기 일측 호스트에서 k 및 k+1번째 왕복 지연시간을 구하고, 상기 타측 호스트에서 k번째 왕복 지연시간을 구하고, 하나 이상의 상기 구해진 왕복 지연시간을 이용하여 m번째 상기 단방향 지연시간을 구하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 본 발명에 의한 단방향 지연시간 추정장치는, 네트워크에 연결되어 소정의 패킷을 주고 받는 두 호스트간의 단방향 지연시간을 추정하는 장치에 있어서, 상기 일측 호스트에서 k(단, k는 자연수), k+1 및 k+2 번째 전송 시점을 측정하고, 상기 타측 호스트에서 k 및 k+1번째 전송 시점을 측정하는 시간 측정부; 상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 산출하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 m번째 상기 단방향 지연시간을 산출하는 산출부; 상기 산출된 시간차가 상기 산출된 단방향 지연시간과 일치하는지 검사하는 검사부; 및 상기 검사된 결과에 응답하여, 상기 추정하고자 하는 단방향 지연시간으로서 상기 산출된 단방향 지연시간 이하의 값을 출력하는 지연시간 추정부를 구비하는 것을 특징으로 한다.
상기 또 다른 과제를 이루기 위해, 본 발명에 의한 컴퓨터로 읽을 수 있는 기록매체는, 네트워크에 연결되어 소정의 패킷을 주고 받는 두 호스트간의 단방향 지연시간을 추정하는 방법에 있어서, 상기 일측 호스트에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 상기 타측 호스트에서 k 및 k+1번째 전송 시점을 측정하는 단계; 상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 구하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 m번째 상기 단방향 지연시간을 구하는 단계; 상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치하는지 판단하는 단계; 및 일치한다고 판단되면, 상기 구해진 단방향 지연시간 이하의 값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 단방향 지연시간 추정방법을 수행하는 컴퓨터 프로그램을 저장함을 특징으로 한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치의 일 실시예에 대해 상세히 설명한다. 다만, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 당해 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명에 의해 단방향 지연시간이 추정되는 두 호스트의 연결 상태를 설명하기 위한 참고도이다. 도시된 바에 따르면, 두 호스트(110 및 120)가 네트워크(130)에 연결되어 있다. 이 때, 네트워크(130)는 유선 네트워크일 수도 있고, 무선 네트워크일 수도 있다.
또한, 그 네트워크(130)에는 하나 이상의 호스트(host)가 연결될 수 있으나, 본 발명은 단방향 지연시간의 추정 방안을 제시하고, 그 단방향 지연시간이란 어떤 하나의 호스트에서 또 다른 호스트로의 데이터 전송시 소요되는 시간을 의미하므로, 이하, 그 네트워크에 복수의 호스트가 연결되어 있다 할지라도, 두 호스트에 대해 설명하도록 한다.
여기서, 어떤 하나의 호스트는 이하 일측 호스트(110)라 명명하며, 또 다른 호스트는 이하 타측 호스트(120)라 명명한다. 본 발명에서 '호스트'란 클럭을 구비한 디바이스(device)를 의미하며, 퍼스널 컴퓨터(PC : personal computer)는 호스트의 일 례가 될 수 있다. 한편, 본 발명에서 '호스트'란 네트워킹(networking) 기능을 갖는 임의의 디바이스를 의미함이 바람직하다.
그 두 호스트는 네트워크에 대칭(symmetric)으로 연결되어 있을 수도 있고, 비대칭(asymmetric)으로 연결되어 있을 수도 있다. 여기서, 비대칭으로 연결되어 있다 함은 일측 호스트(110)에서 타측 호스트(120)로 데이터가 전송되는데 소요되는 시간과 타측 호스트(120)에서 일측 호스트(110)로 데이터가 전송되는데 소요되는 시간이, 동일한 순간에 동일한 환경에 측정할 지라도 서로 다른 경우를 의미한다.
인공위성이나 기지국으로부터 기준이 될 타이밍(timing) 정보를 수신할 상황이 못 되어, 두 호스트간의 클럭 동기화의 정확성을 보장받지 못하는 환경 하에서, 클럭의 동기를 위해 단방향 지연시간을 추정하고 그 추정된 결과를 이용하는 방안은 이미 전술한 바이다.
종래에는 이 경우, 단방향 지연시간을 왕복 지연시간의 중간값으로 추정하였다. 본 발명에서는 그 추정의 정확도를 높이기 위한 방안을 제시하고, 그 결과 클럭 동기화의 정확도를 높이는 방안을 제시한다. 이하, 도 2 내지 도 8을 설명하며 제시하도록 한다.
도 2는 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 일 실시예의 블록도로서, 시간 측정부(210), 에러 검출 및 정정부(212), 오프셋 설정부(214), 산출부(216), 검사부(218), 비교부(220), 지연시간 추정부(222) 및 클럭 조정부(224)로 이루어진다.
일측 호스트(110)와 타측 호스트(120)는 네트워크에 연결되어 있으며, 두 호스트(110 및 120)는 서로 소정의 데이터를 주고 받는다. 이하, 데이터는 패킷(packet)이라 명명한다.
일측 호스트(110)에서 타측 호스트(120)에 패킷을 송신하면, 타측 호스트 (120)는 일측 호스트(110)에서 그 패킷이 송신된 시점으로부터 단방향 지연시간을 경과한 시점에 그 패킷을 수신하게 된다.
패킷을 수신한 타측 호스트(120)는 그 패킷을 수신한 즉시 일측 호스트(110)에 그 수신된 패킷을 송신한다. 이 경우, 일측 호스트(110)는 타측 호스트(120)에서 그 패킷이 송신된 시점으로부터 단방향 지연시간을 경과한 시점에 그 패킷을 수신하게 된다.
이 후, 그 일측 호스트(110)는 그 패킷을 타측 호스트(120)에 재차 송신하게 되며, 전술한 과정이 반복된다. 두 호스트(110 및 120)간의 이러한 주고 받음을 이하 '동기화된 핑퐁(synchronized ping-ponging)'이라 명명한다. 한편, 이하 '전송'이란 '송신' 및/또는 '수신'을 의미한다.
시간 측정부(210)는 일측 호스트(110)에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 타측 호스트(120)에서 k 및 k+1번째 전송 시점을 측정한다. 여기서, '전송'은 문맥상 '송신'만을 의미할 수도 있고, '수신'만을 의미할 수도 있고, '송신'과 '수신' 모두를 의미할 수도 있다.
즉, 시간 측정부(210)는, 일측 호스트(110)가 패킷을 k번째 전송한 시점, 타측 호스트(120)가 그 패킷을 k번째 전송받은/전송한 시점, 일측 호스트(110)가 그 패킷을 k+1번째 전송받은/전송한 시점, 타측 호스트(120)가 그 패킷을 k+1번째 전송받은/전송한 시점, 및 일측 호스트(110)가 그 패킷을 k+2번째 전송받은 시점을 측정한다. 여기서, 전송한다 함은 송신을 의미하고, 전송받는다 함은 수신을 의미한다.
이하, 일측 호스트(110)에서 측정한다 함은 일측 호스트(110)에 마련된 클럭으로 측정함을 의미하고, 타측 호스트(120)에서 측정한다 함은 타측 호스트(120)에 마련된 클럭으로 측정함을 의미한다.
에러 검출 및 정정부(212)는 그 주고 받는 패킷에 에러가 존재하는지 검사한다. 즉, 에러 검출 및 정정부(212)는 그 주고 받는 패킷 중 손실된 부분이 존재하는지 판단하고, 존재한다고 판단되면 그 손실을 보정한다. 결국, 에러 검출 및 정정부(212)는 손실된 패킷을 검출하고, 그 검출된 손실을 정정한다.
오프셋 설정부(214)는 일측 호스트(110)의 클럭과 타측 호스트(120)의 클럭간에 양의 오프셋 또는 음의 오프셋을 의도적으로 설정한다. 이 때, 양의 오프셋을설정할지 아니면 음의 오프셋을 설정할지는 사용자에 의해 지정될 수 있다.
만일, 사용자가 음의 오프셋이 설정되길 원한다면, 오프셋 설정부(214)는, 타측 호스트(120)에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점을, 일측 호스트(110)에서 측정된 m번째 전송 시점으로 변경할 수 있다. 이 때, 오프셋 설정부(214)는, 타측 호스트(120)에서 측정된 m번째 전송 시점을, 일측 호스트(110)에서 측정된 m번째 전송 시점에 소정의 양의 값(
Figure 112006083823116-pat00088
)을 가산한 결과로 변경함이 바람직하다.
오프셋 설정부(214)의 이와 같은 동작은 다음과 같은 수학식으로 표현될 수 있다.
[수학식 1]
Figure 112005067327992-pat00001
이하, A는 일측 호스트(110)를 의미하고, B는 타측 호스트(120)를 의미하고,
Figure 112005067327992-pat00002
,
Figure 112005067327992-pat00003
는 시간 측정부(210)에서 측정된 k번째 전송 시점을 의미한다. 보다 구체적으로,
Figure 112005067327992-pat00004
는 일측 호스트(110)에서 측정된 k번째 전송 시점을 의미하고,
Figure 112005067327992-pat00005
는 타측 호스트(120)에서 측정된 k번째 전송 시점을 의미한다.
한편,
Figure 112006083823116-pat00089
는 다음의 수학식을 만족하도록 설정됨이 바람직하다.
[수학식 2]
Figure 112005067327992-pat00006
<
Figure 112005067327992-pat00007
<
Figure 112005067327992-pat00008
Figure 112005067327992-pat00009
<
Figure 112005067327992-pat00010
<
Figure 112005067327992-pat00011
그에 반해, 사용자가 양의 오프셋이 설정되길 원한다면, 오프셋 설정부(214)는, 타측 호스트(120)에서 측정된 k+1번째 전송 시점을, 일측 호스트(110)에서 측정된 k+1번째 전송 시점에 타측 호스트(120)에서 구해진 k번째 왕복 지연시간을 가산한 결과로 변경한다. 이 때, 오프셋 설정부(214)는, 타측 호스트(120)에서 측정된 k+1번째 전송 시점을 그 가산한 결과로부터 소정의 양의 값(
Figure 112006083823116-pat00090
)을 감산한 결과로 변경함이 바람직하다.
오프셋 설정부(214)의 그와 같은 동작은 다음과 같은 수학식으로 표현될 수 있다.
[수학식 3]
Figure 112006083823116-pat00012
=
Figure 112006083823116-pat00013
+
Figure 112006083823116-pat00014
-
Figure 112006083823116-pat00091
여기서,
Figure 112006083823116-pat00015
는 타측 호스트(120)에서 산출된 k번째 왕복 지연시간을 나타낸다. 한편,
Figure 112006083823116-pat00092
는 수학식 2를 만족하도록 설정됨이 바람직하다.
또한, 오프셋 설정부(214)는 타측 호스트(120)에서 측정된 k번째 전송 시점을 그 변경된 k+1번째 전송 시점으로부터 타측 호스트(120)에서 구해진 k번째 왕복 지연시간을 감산한 결과로 변경할 수 있다. 이는 다음의 수학식으로 표현될 수 있다.
[수학식 4]
Figure 112005067327992-pat00016
=
Figure 112005067327992-pat00017
-
Figure 112005067327992-pat00018
한편, 왕복 지연시간은 후술할 산출부(216)에서 산출되는 값이므로, 오프셋을 양으로 설정하고자 하는 오프셋 설정부(214)는 그 산출된 왕복 지연시간의 수치를 산출부(216)에서 제공받음이 바람직하다.
한편, 오프셋의 양, 음이 어떤 의미를 지니는지, 오프셋의 양, 음을 미리 의도적으로 설정하는 이유에 관해서는 후술할 도 3 및 도 4에 대한 설명에서 후술하도록 한다.
산출부(216)는 일측 호스트(110)에서 측정된 m번째 전송 시점과 타측 호스트(120)에서 측정된 m번째 전송 시점의 시간차를 산출한다.
또한, 산출부(216)는 하나 이상의 그 측정된 전송 시점 수치를 이용하여 m번째 단방향 지연시간을 산출한다. 보다 구체적으로, 산출부(216)는 일측 호스트(110)에서 k 및 k+1번째 왕복 지연시간을 산출하고, 타측 호스트(120)에서 k번째 왕복 지연시간을 산출한다. 그 후, 산출부(216)는 하나 이상의 그 구해진 왕복 지연시간 수치를 이용하여 m번째 단방향 지연시간을 산출한다.
즉, 왕복 지연시간은 다음의 수학식으로 표현될 수 있다.
[수학식 5]
Figure 112005067327992-pat00019
=
Figure 112005067327992-pat00020
-
Figure 112005067327992-pat00021
Figure 112005067327992-pat00022
=
Figure 112005067327992-pat00023
-
Figure 112005067327992-pat00024
Figure 112005067327992-pat00025
=
Figure 112005067327992-pat00026
-
Figure 112005067327992-pat00027
여기서,
Figure 112005067327992-pat00028
는 일측 호스트(110)에서 산출된 k번째 왕복 지연시간을 나타내고,
Figure 112005067327992-pat00029
는 타측 호스트(120)에서 산출된 k번째 왕복 지연시간을 나타내고,
Figure 112005067327992-pat00030
는 일측 호스트(110)에서 산출된 k+1번째 왕복 지연시간을 나타낸다.
왕복 지연시간이란 패킷이 두 호스트(110 및 120) 사이를 왕복하는데 소요되는 시간을 의미한다. 결국, 왕복 지연시간은 일측 호스트(110)에서 산출될 수도 있고, 타측 호스트(120)에서 산출될 수도 있다.
일측 호스트(110)에서 산출하는 경우, 시간 측정부(210)는 일측 호스트(110)에서 두 시점을 측정하면 족하다. 여기서, 두 시점이란 '일측 호스트(110)에서 패킷이 송신된 시점'과 '그 패킷이 타측 호스트(120)에 수신된 즉시 일측 호스트(110)로 송신되어 일측 호스트(110)에 그 패킷이 수신된 시점'을 의미한다.
일측 호스트(110)에서 측정된 왕복 지연시간이든, 타측 호스트(120)에서 측정된 왕복 지연시간이든, 그 측정된 값은 100%의 정확도를 보장할 수 있다. 이는 '왕복 지연시간'은 '동일'한 호스트에서 측정된 두 시점의 시간차이므로, 일측 호스트(110)와 타측 호스트(120)간의 클럭 동기가 맞지 않음에 영향을 받지 않기 때문이다.
한편, 산출부(216)는 하나 이상의 그 구해진 왕복 지연시간 수치를 이용하여 m번째 단방향 지연시간을 산출함에 있어서, 다음의 수학식들을 이용함이 바람직하다.
[수학식 6]
Figure 112005067327992-pat00031
Figure 112005067327992-pat00032
Figure 112005067327992-pat00033
Figure 112005067327992-pat00034
여기서, a는 일측 호스트(110)에서 산출된 k번째 단방향 지연시간을 나타내고, a'는 일측 호스트(110)에서 산출된 k+1번째 단방향 지연시간을 나타내고, b는 타측 호스트(120)에서 산출된 k번째 단방향 지연시간을 나타내고, b'는 타측 호스트(120)에서 산출된 k+1번째 단방향 지연시간을 나타낸다.
일측 호스트(110)에서 산출된 단방향 지연시간이란, 패킷이 타측 호스트(120)에서 일측 호스트(110)로 전송되는데 소요되는 시간을 의미한다. 마찬가지로, 타측 호스트(120)에서 산출된 단방향 지연시간이란, 패킷이 일측 호스트(110)에서 타측 호스트(120)로 전송되는데 소요되는 시간을 의미한다.
'산출부(216)가 산출한 m번째 단방향 지연시간'은 본 발명에 의해 '추정하고자 하는 단방향 지연시간'이라 단정지을 수 없다. 즉, 수학식 6은 소정의 조건을 만족하는 경우에 한해 성립된다.
그 소정의 조건은 다음의 수학식 7로 표현될 수 있다.
[수학식 7]
Figure 112005067327992-pat00035
where,
Figure 112005067327992-pat00036
Figure 112005067327992-pat00037
여기서, J는 지터(jitter)를 의미한다. 지터란 인접한 단방향 지연시간간의 차이를 의미한다.
한편, 왕복 지연시간은 다음의 수학식으로 정의된다.
[수학식 8]
Figure 112005067327992-pat00038
Figure 112005067327992-pat00039
그러므로,
Figure 112005067327992-pat00040
,
Figure 112005067327992-pat00041
는 수학식 5에서와 같이 표현될 수 있다. 다만, 이 때,
Figure 112005067327992-pat00042
는 정확히 다음의 수학식 9로 표현된다.
[수학식 9]
Figure 112005067327992-pat00043
여기서, S(t)는 시간의 경과에 따라 발생되는 클럭 주파수의 차이를 나타낸 다. 그러나, k와 k-1 사이의 시간차는 매우 작으므로,
Figure 112005067327992-pat00044
는 수학식 5에서처럼 표현될 수 있다.
한편, 수학식 7 및 8을 이용하면, 다음의 수학식이 도출된다.
[수학식 10]
Figure 112005067327992-pat00045
=
Figure 112005067327992-pat00046
Figure 112005067327992-pat00047
=
Figure 112005067327992-pat00048
그러므로, 다음의 수학식 11이 도출된다.
[수학식 11]
Figure 112005067327992-pat00049
이러한 수학식 11이 전술한 수학식 7이 되기 위해서는, 다음의 수학식 12를 만족해야 한다.
[수학식 12]
Figure 112005067327992-pat00050
결국, 수학식 7에 개시된 조건은 수학식 12에 개시된 조건과 동일한 조건이다. 이러한 수학식 7 및 12에 개시된 바를 이용하면 다음의 수학식 13 및 14가 도출된다.
[수학식 13]
Figure 112005067327992-pat00051
[수학식 14]
Figure 112005067327992-pat00052
결국, 100%의 정확성을 보장하며 측정할 수 없는 두 수치인 '단방향 지연시간'과 '지터'의 비율은, 100%의 정확성이 보장되며 측정할 수 있는 수치인 '왕복 지연시간'의 비율로서 표현된다.
이러한 수학식 13 및 14를 이용하면 전술한 수학식 6이 도출된다. 수학식 6에 도출된 단방향 지연시간은 전술한 바와 같이, 특정한 조건을 만족하는 경우에 한해 성립되므로, 본 발명에 의해 추정하고자 하는 단방향 지연시간이라 단정할 수 없다.
또한, 그 특정한 조건을 만족하는지의 여부를 사용자는 알 수 없다. 그러므로, 본 발명에 의해 단방향 지연시간을 추정하기 위해서는, [수학식 15]로 표현되는 다음의 조건을 만족해야 한다. 이 때, 다음의 수학식 15에 제시된 네 가지 조건 중 하나의 조건만 만족해도 족하다.
[수학식 15]
Figure 112005067327992-pat00053
Figure 112005067327992-pat00054
Figure 112005067327992-pat00055
Figure 112005067327992-pat00056
이를 위해, 검사부(218)는 수학식 15에 기재된 수학식을 만족하는지 검사한 다. 이 때, 검사부(218)는 수학식 15에 기재된 모든 수학식에 대해 검사할 필요는 없으며, 하나의 수학식에 대해 검사해도 족하다. 결국, 검사부(218)는 그 산출된 m번째 시간차가 그 산출된 m번째 단방향 지연시간과 일치하는지 검사한다.
비교부(220)는 그 산출된 k번째 단방향 지연시간과 그 산출된 k+1번째 단방향 지연시간을 비교하고, 그 비교된 단방향 지연시간 중 크지 않은 값을 단방향 최소지연시간으로서 출력한다.
즉, 비교부(220)는 산출된 k번째 단방향 지연시간과 산출된 k+1번째 단방향 지연시간 중 작은 값을 단방향 최소지연시간으로서 출력하며, 만일, 산출된 k번째 단방향 지연시간과 산출된 k+1번째 단방향 지연시간이 동일하다면 그 동일한 값을 단방향 최소지연시간으로서 출력한다.
지연시간 추정부(222)는 검사부(218)에서 검사된 결과에 응답하여, 그 추정하고자 하는 단방향 지연시간으로서 그 산출된 m번째 단방향 지연시간 이하의 값을 출력한다.
구체적으로, 검사부(218)에서 수학식 15가 만족된다고 검사하면, 지연시간 추정부(222)는 그 산출된 m번째 단방향 지연시간 이하의 값을 그 추정하고자 하는 단방향 지연시간으로서 결정한다.
보다 구체적으로, 검사부(218)에서 수학식 15가 만족된다고 검사하면, 지연시간 추정부(222)는 비교부(220)에서 출력된 단방향 최소지연시간 이하의 값을 그 추정하고자 하는 단방향 지연시간으로서 결정한다. 특히, 지연시간 추정부(222)는 그 단방향 지연시간의 중간값을 그 추정하고자 하는 단방향 지연시간으로서 결정할 수 있다. 이로써, 단방향 지연시간이 추정된다.
한편, 검사부(218)는 수학식 15가 만족된다고 검사부(218)에서 검사된 k가 n개 발견될 때까지, k를 1씩 증가하며 재차 검사할 수 있다. 여기서, n은 사전에 결정된 임의의 자연수이다. 그 후, 비교부(220)는 그 검사된 n개의 산출된 단방향 지연시간 중 최소값을 상기 단방향 최소지연시간으로서 출력할 수 있다.
클럭 조정부(224)는 지연시간 추정부(222)에서 추정한 단방향 지연시간을 이용하여 두 호스트의 클럭들을 동기화한다.
도 3은 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 일 참고도이다. 도시된 바에서, A는 일측 호스트(110)를 의미하고, B는 타측 호스트(120)를 의미한다. 그 밖의 기호가 의미하는 바는 이미 도 2에서 전술하였다.
도시된 바는, 수학식 7 및 12에 개시된 그 소정의 조건이 만족되는 경우를 나타낸다. 한편, 도시된 바에서 일측 호스트(110)의 클럭과 타측 호스트(120)의 클럭이 동기화된 것은 설명의 편의를 위함이다.
도 4는 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 다른 참고도이다. 도시된 바에서, 점선으로 표시된 화살표는 도 3에 도시된 화살표를 의미한다. 단, 도 3의
Figure 112005067327992-pat00057
Figure 112005067327992-pat00058
각각은 도 4의
Figure 112005067327992-pat00059
각각을 의미한다. 즉,
Figure 112005067327992-pat00061
는 타측 호스트(120)에서 측정된 k번째 전송 시점을 의미한다.
한편, 도시된 바에서, 일측 호스트(110)의 클럭과 타측 호스트(120)의 클럭 은 동기화되어 있지 않다. 즉, 타측 호스트(120)에서 측정된 전송 시점인
Figure 112005067327992-pat00062
Figure 112005067327992-pat00063
각각에는 오프셋(ofs)이 포함되어 있다. 도시된 바와 같은 오프셋을 양의 오프셋이라 명명한다. 즉,
Figure 112005067327992-pat00064
Figure 112005067327992-pat00065
보다 작다면 그 때의 오프셋은 음의 오프셋이라 명명한다. 편의상, 측정된 k번째 전송 시점에 포함된 오프셋을 이하 ofs(k)라 표기한다.
결국, 본 발명에 의해 추정하고자 하는 단방향 지연시간은 a, b, a', 또는 b'가 아닌, 도시된 바에 표기된 A, B, A', 또는 B'이다.
이미 전술한 바와 같이, 수학식 7 및 12에 개시된 그 소정의 조건을 만족하는지의 여부는 사용자가 확인할 수 없다. 다만, 수학식 7 및 12에 개시된 수학식이 만족된다면 수학식 15에 개시된 수학식이 만족되므로, 수학식 15가 만족된다고 검사부(218)에서 검사되는 경우에 한해, 지연시간 추정부(222)는 동작한다.
즉, 수학식 15가 k번째 전송 시점에 대하여 만족된다고 검사되었다면, 지연시간 추정부(222)는, 오프셋이 양인 경우, B는 b보다 작은 어떤 값을 가지며, A는 a보다 큰 어떤 값을 가진다고 추정할 수 있다.
마찬가지로, 수학식 15가 k+1번째 전송 시점에 대하여 만족된다고 검사되었다면, 지연시간 추정부(222)는, 오프셋이 양인 경우, B'는 b'보다 작은 어떤 값을 가지며, A'는 a'보다 작은 어떤 값을 가진다고 추정할 수 있다.
즉, 전술한 바와 같이, 지연시간 추정부(222)가 그 산출된 m번째 단방향 지연시간 '이하'의 값이라고 단방향 지연시간을 추정하는 경우, 그 추정된 단방향 지 연시간은 '일측 호스트(110)에서 타측 호스트(120)로 패킷이 전송되는데 소요되는 시간'일 수도 있고, '타측 호스트(120)에서 일측 호스트(110)로 패킷이 전송되는데 소요되는 시간'일 수도 있다.
만일, 도시된 바와 같이 오프셋이 양인 경우에는, 본 발명이 '일측 호스트(110)에서 타측 호스트(120)로 패킷이 전송되는데 소요되는 시간'을 추정한 것이며, 도시된 바와 달리 오프셋이 음인 경우에는, 본 발명이 '타측 호스트(120)에서 일측 호스트(110)로 패킷이 전송되는데 소요되는 시간'을 추정한 것이다.
도 4에서와 같이 오프셋이 양인 경우, 지연시간 추정부(222)는 b(또는 b')보다 작은 어떤 값이 B(또는 B')라고 추정할 수 있다. 이 경우, 오프셋은 다음과 같이 추정된다. 실제 오프셋을 ofs라 할 때, 추정된 오프셋은
Figure 112005067327992-pat00066
이라 한다.
[수학식 16]
Figure 112005067327992-pat00067
= min [b, b'] / 2 where ofs>0
Figure 112005067327992-pat00068
= - min [a, a'] / 2 where ofs<0
결국, 추정된 오프셋이 가질 수 있는 오차(
Figure 112005067327992-pat00069
)는 실제 오프셋(ofs)으로부터 추정된 오프셋(
Figure 112005067327992-pat00070
)을 감산하여 얻을 수 있다. 이는 다음의 수학식으로 표현된다.
[수학식 17]
|
Figure 112005067327992-pat00071
| ≤ min [b, b'] / 2 where ofs>0
|
Figure 112005067327992-pat00072
| ≤ min [a, a'] / 2 where ofs<0
이처럼, 지연시간 추정부(222)가 추정하는 단방향 지연시간은 오프셋이 양인지 아니면 음인지에 따라서도 달라질 수 있다.
다만, 오프셋이 양인지 아니면 음인지의 여부도 수학식 7 및 12가 만족되는지의 여부와 마찬가지로 확인할 수 있는 방법이 없다.
수학식 7 및 12가 만족되는지의 여부를 알 수 없으므로, 그 대신, 수학식 15가 만족되는지를 검사하듯이, 오프셋이 양인지 아니면 음인지의 여부를 알 수 없으므로, 오프셋을 의도적으로 양 또는 음으로 초기화함이 바람직하다.
이를 위해, 본 발명에 의한 단방향 지연시간 추정장치는 오프셋 설정부(214)를 마련함이 바람직하다. 오프셋 설정부(214)의 이와 같은 동작은 이미 도 2에 대한 설명에서 개시되었다.
도 5는 두 호스트가 주고 받는 패킷의 구조의 일 례를 나타낸 도면이다. 도시된 바에 따르면, 패킷은 전송횟수 데이터(510), 전송시점 데이터(512), 왕복지연시간 데이터(514), 및 지터 데이터(516)로 이루어진다. 이 때, 도시된 바에 나타난 그 데이터들의 배열 순서는 설명의 편의를 위한 것으로 이에 제한되지 않는다.
전송횟수 데이터(510)는 두 호스트(110 및 120)간에 현재까지 전송이 몇 번 수행된 바 있는지를 나타내며, 전송시점 데이터(512)는 가장 최근에 측정된 전송 시점을 나타내며, 왕복지연시간 데이터(514)는 가장 최근에 산출된 왕복 지연시간을 나타내며, 지터 데이터(516)는 가장 최근에 산출된 지터를 나타낸다.
도 6은 본 발명에 의한 단방향 지연시간 추정방법을 설명하기 위한 일 실시예의 플로우챠트로서, 왕복 지연시간을 이용하여 구해진 m번째 단방향 지연시간이 각각의 호스트에서 측정된 m번째 전송 시점간의 시간차와 일치하는 경우, 그 구해진 m번째 단방향 지연시간 이하의 어떠한 값을 그 추정하고자 하는 단방향 지연시간으로서 결정하는 단계들(제610 ~ 624 단계들)로 이루어진다.
시간 측정부(210)는
Figure 112005067327992-pat00073
,
Figure 112005067327992-pat00074
,
Figure 112005067327992-pat00075
,
Figure 112005067327992-pat00076
, 및
Figure 112005067327992-pat00077
를 측정하고(제610 단계), 에러 검출 및 정정부(212)는 두 호스트(110 및 120)간에 전송되는 패킷에 손실이 존재하는지 판단하고(제612 단계), 존재한다고 판단되면 그 손실을 보정한다(제614 단계).
제614 단계 후에, 또는 제612 단계에서 패킷에 손실이 존재하지 않는다고 판단된 후에, 오프셋 설정부(214)는 오프셋을 양으로 또는 음으로 설정한다(제616 단계). 단, 양으로 설정할지 아니면 음으로 설정할지의 여부는 사용자에 의해 미리 선택됨이 바람직하다.
산출부(216)는
Figure 112005067327992-pat00078
Figure 112005067327992-pat00079
의 시간차를 구하고, 제610 단계에서 측정된 전송 시점을 이용하여 m번째 단방향 지연시간을 구한다(제618 단계). 이 때, 산출부(216)는 m번째 왕복 지연시간을 제610 단계에서 측정된 전송 시점을 이용하여 구하고, 그 구해진 왕복 지연시간을 이용하여 m번째 단방향 지연시간을 구함이 바람직하다.
검사부(218)는 그 구해진 시간차와 그 구해진 m번째 단방향 지연시간이 일치하는지 판단한다(제620 단계).
만일, 제620 단계에서 일치한다고 판단되면, 지연시간 추정부(222)는 그 구 해진 m번째 단방향 지연시간 이하의 값을 단방향 지연시간으로서 추정하고(제622 단계), 클럭 조정부(224)는 그 추정된 단방향 지연시간을 이용하여 두 호스트의 클럭을 동기화한다(제624 단계).
도 7은 도 6에 도시된 제622 단계에 대한 본 발명에 의한 바람직한 일 실시예(622A)를 설명하기 위한 플로우챠트로서, 산출부(216)에서 구해진 k번째 단방향 지연시간과 k+1번째 단방향 지연시간 중 최소값 이하의 값을 단방향 지연시간으로서 추정하는 단계들(제710 ~ 714 단계들)로 이루어진다.
비교부(220)는 산출부(216)에서 구해진 k번째 단방향 지연시간이 구해진 k+1번째 단방향 지연시간 이하인지 판단한다(제710 단계).
만일, 제710 단계에서 이하라고 판단되면, 지연시간 추정부(222)는 그 구해진 k번째 단방향 지연시간의 중간값이 단방향 지연시간이라고 추정한다(제712 단계).
그에 반해, 제710 단계에서 이하가 아니라고 판단되면, 지연시간 추정부(222)는 그 구해진 k+1번째 단방향 지연시간의 중간값이 단방향 지연시간이라고 추정한다(제714 단계).
도 8은 도 6에 도시된 제622 단계에 대한 본 발명에 의한 바람직한 다른 실시예(622B)를 설명하기 위한 플로우챠트로서, 검사부(218)는 수학식 15가 만족된다고 검사부(218)에서 검사된 k가 소정 개수만큼 발견될 때까지 k를 1씩 증가하며 재차 검사하며, 비교부(220)는 그 검사된 n개의 산출된 단방향 지연시간 중 최소값을 검색하고, 지연시간 추정부(222)는 그 검색된 최소값 이하의 값을 단방향 지연시간 으로서 결정하는 단계들(제810 ~ 820 단계들)로 이루어진다.
검사부(218)는 k를 1을 가산하여 갱신하고(제810 단계), 제810 단계 후에, 제610 단계 내지 제618 단계는 그 갱신된 k에 대해 재차 수행된다(제812 단계).
검사부(218)는 그 갱신된 k에 대해 제812 단계에서 구해진 '시간차'와 'm번째 단방향 지연시간'이 일치하는지 판단한다(제814 단계).
제814 단계에서 일치한다고 판단되면, 비교부(220)는 제812 단계의 누적된 수행 횟수가 미리 설정된 임계치 이하인지 판단한다(제816 단계). 만일, 제816 단계에서 이하라고 판단되면 제810 단계로 진행하지만, 제816 단계에서 이하가 아니라고 판단되면 비교부(220)는 현재까지 구해진 m번째 단방향 지연시간들 중 최소값을 검색한다(제818 단계). 제818 단계 후에, 지연시간 추정부(222)는 그 최소값 이하의 값을 단방향 지연시간이라고 추정한다(제820 단계).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분 야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 설명한 것은 본 발명에 따른 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치는, 종래에 단방향 지연시간을 추정하는 경우에 비하여 추정 오차가 적으며, 두 호스트가 비대칭으로 연결되어 있는 경우에도 단방향 지연시간을 예측할 수 있는 효과를 갖는다. 나아가, 본 발명에 의한 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및 장치에 의하면, 그 두 호스트가 마련된 계층(layer)의 종류에 관계없이 단방향 지연시간을 추정할 수 있다.

Claims (22)

  1. 네트워크에 연결되어 소정의 패킷을 주고 받는 일측 호스트와 타측 호스트간의 단방향 지연시간을 추정하는 방법에 있어서,
    (a) 상기 일측 호스트에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 상기 타측 호스트에서 k 및 k+1번째 전송 시점을 측정하는 단계;
    (b) 상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 구하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 m번째 상기 단방향 지연시간을 구하는 단계;
    (c) 상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치하는지 판단하는 단계; 및
    (d) 상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치한다고 판단되면, 상기 구해진 단방향 지연시간 이하의 값들 중 하나의 값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  2. 제1 항에 있어서, 상기 (d) 단계는,
    상기 구해진 단방향 지연시간의 중간값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  3. 제1 항에 있어서, 상기 (d) 단계는,
    (d11) 상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치한다고 판단되면, 상기 구해진 k번째 단방향 지연시간과 상기 구해진 k+1번째 단방향 지연시간 중 크지 않은 값을 판단하는 단계; 및
    (d12) 크지 않다고 판단된 상기 단방향 지연시간의 중간값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  4. 제1 항에 있어서, 상기 단방향 지연시간 추정방법은,
    (e) 상기 추정된 단방향 지연시간을 이용하여 상기 두 호스트를 동기화하는 단계를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  5. 제1 항에 있어서, 상기 단방향 지연시간 추정방법은
    상기 (a) 단계 후에, 상기 타측 호스트에서 측정된 m번째 전송 시점을 상기 일측 호스트에서 측정된 m번째 전송 시점으로 변경하는 단계를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  6. 제5 항에 있어서, 상기 변경하는 단계는
    상기 타측 호스트에서 측정된 m번째 전송 시점을 상기 일측 호스트에서 측정된 m번째 전송 시점에 소정의 양의 값을 가산한 결과로 변경하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  7. 제1 항에 있어서, 상기 단방향 지연시간 추정방법은
    상기 (a) 단계 후에, 상기 패킷에 손실이 존재하는지 판단하고, 존재한다고 판단되면 상기 손실을 보정하는 단계를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  8. 제1 항에 있어서, 상기 (b) 단계는,
    상기 일측 호스트에서 k 및 k+1번째 왕복 지연시간을 구하고, 상기 타측 호스트에서 k번째 왕복 지연시간을 구하고, 하나 이상의 상기 구해진 왕복 지연시간을 이용하여 m번째 상기 단방향 지연시간을 구하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  9. 네트워크에 연결되어 소정의 패킷을 주고 받는 일측 호스트와 타측 호스트간의 단방향 지연시간을 추정하는 장치에 있어서,
    상기 일측 호스트에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 상기 타측 호스트에서 k 및 k+1번째 전송 시점을 측정하는 시간 측정부;
    상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 산출하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 m번째 상기 단방향 지연시간을 산출하는 산출부;
    상기 산출된 시간차가 상기 산출된 단방향 지연시간과 일치하는지 검사하는 검사부; 및
    상기 검사된 결과에 응답하여, 상기 추정하고자 하는 단방향 지연시간으로서 상기 산출된 단방향 지연시간 이하의 값들 중 하나의 값을 출력하는 지연시간 추정부를 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  10. 제9 항에 있어서, 상기 지연시간 추정부는,
    상기 추정하고자 하는 단방향 지연시간으로서 상기 산출된 단방향 지연시간의 중간값을 출력하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  11. 제10 항에 있어서, 상기 단방향 지연시간 추정장치는,
    상기 산출된 k번째 단방향 지연시간과 상기 산출된 k+1번째 단방향 지연시간을 비교하고, 상기 비교된 단방향 지연시간 중 크지 않은 값을 단방향 최소지연시간으로서 출력하는 비교부를 더 구비하고,
    상기 지연시간 추정부는, 상기 추정하고자 하는 단방향 지연시간으로서 상기 단방향 최소지연시간의 중간값을 출력하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  12. 제9 항에 있어서, 상기 단방향 지연시간 추정장치는,
    상기 타측 호스트에서 측정된 m번째 전송 시점을 상기 일측 호스트에서 측정된 m번째 전송 시점으로 변경하는 오프셋 설정부를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  13. 제12 항에 있어서, 상기 오프셋 설정부는,
    상기 타측 호스트에서 측정된 m번째 전송 시점을 상기 일측 호스트에서 측정된 m번째 전송 시점에 소정의 양의 값을 가산한 결과로 변경하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  14. 제9 항에 있어서, 상기 산출부는,
    상기 일측 호스트에서 측정된 m(단, m은 k 또는 k+1)번째 전송 시점과 상기 타측 호스트에서 측정된 m번째 전송 시점의 시간차를 산출하고, 상기 일측 호스트에서 k 및 k+1번째 왕복 지연시간을 산출하고, 상기 타측 호스트에서 k번째 왕복 지연시간을 산출하고, 하나 이상의 상기 산출된 왕복 지연시간을 이용하여 m번째 상기 단방향 지연시간을 산출하며,
    상기 단방향 지연시간 추정장치는,
    상기 타측 호스트에서 측정된 k+1번째 전송 시점을 상기 일측 호스트에서 측정된 k+1번째 전송 시점에 상기 타측 호스트에서 산출된 k번째 왕복 지연시간을 가산한 결과로 변경하고, 상기 타측 호스트에서 측정된 k번째 전송 시점을 상기 변경된 k+1번째 전송 시점으로부터 상기 타측 호스트에서 산출된 k번째 왕복 지연시간을 감산한 결과로 변경하는 오프셋 설정부를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  15. 제14 항에 있어서, 상기 오프셋 설정부는,
    상기 타측 호스트에서 측정된 k+1번째 전송 시점을 상기 합산한 결과로부터 소정의 양의 값을 감산한 결과로 변경하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  16. 제9 항에 있어서, 상기 단방향 지연시간 추정장치는,
    상기 추정된 단방향 지연시간을 이용하여 상기 두 호스트를 동기화하는 클럭 조정부를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  17. 제9 항에 있어서, 상기 단방향 지연시간 추정장치는,
    손실된 상기 패킷을 검출하고, 상기 검출된 손실을 정정하는 에러 검출 및 정정부를 더 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  18. 제1 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
  19. 네트워크에 연결되어 소정의 패킷을 주고 받는 일측 호스트와 타측 호스트간의 단방향 지연시간을 추정하는 방법에 있어서,
    상기 일측 호스트 및 상기 타측 호스트에서, 연속적이고(successive) 순차적인(sequential) 전송 시점들간의 시간차를 구하는 단계;
    하나 이상의 상기 전송 시점을 이용하여 상기 단반향 지연시간을 구하는 단계;
    상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치하는지 판단하는 단계; 및
    상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치한다고 판단되면, 상기 구해진 단방향 지연시간 이하의 값들 중 하나의 값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  20. 네트워크에 연결되어 소정의 패킷을 주고 받는 일측 호스트와 타측 호스트간의 단방향 지연시간을 추정하는 방법에 있어서,
    상기 일측 호스트에서 1, 2, 및 3번째 전송 시점을 측정하고, 상기 타측 호스트에서 1, 및 2번째 전송 시점을 측정하는 단계;
    상기 일측 호스트에서 측정된 1번째 전송 시점과 상기 타측 호스트에서 측정된 1번째 전송 시점간의 시간차를 구하거나, 상기 일측 호스트에서 측정된 2번째 전송 시점과 상기 타측 호스트에서 측정된 2번째 전송 시점간의 시간차를 구하는 단계;
    하나 이상의 상기 측정된 전송 시점을 이용하여 상기 단방향 지연시간을 구하는 단계:
    상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치하는지 판단하는 단계; 및
    상기 구해진 시간차가 상기 구해진 단방향 지연시간과 일치한다고 판단되면, 상기 구해진 단방향 지연시간 이하의 값들 중 하나의 값을 상기 추정하고자 하는 단방향 지연시간으로서 결정하는 단계를 구비하는 것을 특징으로 하는 단방향 지연시간 추정방법.
  21. 네트워크에 연결되어 소정의 패킷을 주고 받는 일측 호스트와 타측 호스트간의 단방향 지연시간을 추정하는 장치에 있어서,
    상기 일측 호스트 및 상기 타측 호스트에서, 연속적이고(successive) 순차적인(sequential) 전송 시점들간의 시간차를 산출하고, 하나 이상의 상기 전송 시점을 이용하여 상기 단반향 지연시간을 산출하는 산출부;
    상기 산출된 시간차가 상기 산출된 단방향 지연시간과 일치하는지 검사하는 검사부; 및
    상기 검사된 결과에 응답하여, 상기 산출된 단방향 지연시간 이하의 값들 중 하나의 값을 상기 추정하고자 하는 단방향 지연시간으로서 출력하는 지연시간 추정부를 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
  22. 네트워크에 연결되어 소정의 패킷을 주고 받는 일측 호스트와 타측 호스트간의 단방향 지연시간을 추정하는 장치에 있어서,
    상기 일측 호스트에서 1, 2, 및 3번째 전송 시점을 측정하고, 상기 타측 호스트에서 1, 및 2번째 전송 시점을 측정하는 시간 측정부;
    상기 일측 호스트에서 측정된 1번째 전송 시점과 상기 타측 호스트에서 측정된 1번째 전송 시점간의 시간차를 산출하거나, 상기 일측 호스트에서 측정된 2번째 전송 시점과 상기 타측 호스트에서 측정된 2번째 전송 시점간의 시간차를 산출하고, 하나 이상의 상기 측정된 전송 시점을 이용하여 상기 단방향 지연시간을 산출하는 산출부;
    상기 산출된 시간차가 상기 산출된 단방향 지연시간과 일치하는지 검사하는 검사부; 및
    상기 검사된 결과에 응답하여, 상기 산출된 단방향 지연시간 이하의 값들 중 하나의 값을 상기 추정하고자 하는 단방향 지연시간으로서 출력하는 지연시간 추정부를 구비하는 것을 특징으로 하는 단방향 지연시간 추정장치.
KR1020050112003A 2005-11-22 2005-11-22 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치 KR100813966B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050112003A KR100813966B1 (ko) 2005-11-22 2005-11-22 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치
US11/601,759 US7720109B2 (en) 2005-11-22 2006-11-20 One-way delay time estimation method and apparatus and clock synchronization method and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050112003A KR100813966B1 (ko) 2005-11-22 2005-11-22 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치

Publications (2)

Publication Number Publication Date
KR20070054037A KR20070054037A (ko) 2007-05-28
KR100813966B1 true KR100813966B1 (ko) 2008-03-14

Family

ID=38053464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050112003A KR100813966B1 (ko) 2005-11-22 2005-11-22 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치

Country Status (2)

Country Link
US (1) US7720109B2 (ko)
KR (1) KR100813966B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11985416B2 (en) 2021-12-28 2024-05-14 Samsung Electronics Co., Ltd. Electronic device and method with independent time point management

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1990938A1 (en) * 2007-05-10 2008-11-12 Deutsche Thomson OHG Method for synchronizing a clock of a network component with a clock of a further network component and network component therefor
US7848248B2 (en) * 2008-02-21 2010-12-07 At&T Intellectual Property I, L.P. Method and apparatus for measuring one way transmission delay
KR101114702B1 (ko) * 2008-12-18 2012-02-29 삼성전자주식회사 무선 통신 시스템에서 노드들간의 시간 동기화 방법 및 시스템
US8718482B1 (en) 2009-11-10 2014-05-06 Calix, Inc. Transparent clock for precision timing distribution
KR101033239B1 (ko) * 2010-03-29 2011-05-06 엘아이지넥스원 주식회사 무선 애드혹 네트워크에서의 다중홉 음성 통신 방법 및, 무선 애드혹 네트워크에서의 다중홉 음성 통신을 위한 음성 데이터 패킷 설계 방법.
US9369362B2 (en) * 2013-07-19 2016-06-14 Rad Data Communications Ltd. Triangle loopback
JP2015039131A (ja) * 2013-08-19 2015-02-26 株式会社東芝 計測装置および方法
US9760114B1 (en) * 2014-01-03 2017-09-12 Juniper Networks, Inc. Systems and methods for improving clock synchronization between master and slave devices
CN105553599B (zh) * 2016-01-26 2017-10-17 北京浩瀚深度信息技术股份有限公司 网络对时的误差修正方法
RU172333U1 (ru) * 2016-07-26 2017-07-04 федеральное государственное автономное образовательное учреждение высшего образования "Самарский национальный исследовательский университет имени академика С.П. Королева" Программно-аппаратный комплекс для измерения метрик производительности IP-сетей
US9787461B1 (en) * 2016-11-28 2017-10-10 Rad Data Communications Ltd. One-way packet delay measurement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040054934A (ko) * 2002-12-18 2004-06-26 엘지전자 주식회사 이동통신 시스템에서의 호 처리 지연시간 측정 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4569042A (en) * 1983-12-23 1986-02-04 At&T Bell Laboratories Time measurements in a transmission path
US6434606B1 (en) * 1997-10-01 2002-08-13 3Com Corporation System for real time communication buffer management
US20050058149A1 (en) * 1998-08-19 2005-03-17 Howe Wayne Richard Time-scheduled and time-reservation packet switching
BR9915633A (pt) * 1998-11-24 2001-11-13 Niksun Inc Aparelho e método para coleta e análise de dadosde comunicações
US6366762B1 (en) 1999-03-31 2002-04-02 Qualcomm, Inc. System and method for measuring round trip delay on the paging and access channels
US6445681B1 (en) 1999-09-15 2002-09-03 Vocaltec Communications Ltd. Method for measuring delay parameters in a network
US7039418B2 (en) * 2000-11-16 2006-05-02 Qualcomm Incorporated Position determination in a wireless communication system with detection and compensation for repeaters
DE10210712A1 (de) * 2002-03-12 2003-10-02 Deutsche Telekom Ag Verfahren zur Übertragung von Messdaten von einem Messrechner zu einem Steuerrechner eines Messsystems
JP2004140596A (ja) 2002-10-17 2004-05-13 Nippon Telegr & Teleph Corp <Ntt> Tcp上のデータ転送における品質を推定する方法およびシステム
JP4234448B2 (ja) 2003-01-10 2009-03-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 片道遅延時間測定方法及び片道遅延時間測定装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040054934A (ko) * 2002-12-18 2004-06-26 엘지전자 주식회사 이동통신 시스템에서의 호 처리 지연시간 측정 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11985416B2 (en) 2021-12-28 2024-05-14 Samsung Electronics Co., Ltd. Electronic device and method with independent time point management

Also Published As

Publication number Publication date
KR20070054037A (ko) 2007-05-28
US20070116064A1 (en) 2007-05-24
US7720109B2 (en) 2010-05-18

Similar Documents

Publication Publication Date Title
KR100813966B1 (ko) 단방향 지연시간 추정 및 이를 이용한 클럭 동기화 방법 및장치
EP3542477B1 (en) One-way packet delay measurement
US20100020909A1 (en) Synchronizing apparatus and method in packet network
US8416812B2 (en) Network timing synchronization systems
CN101112112B (zh) 测量两个无线电通信装置之间的距离的方法和适于实现该方法的装置
US8391270B2 (en) Network synchronization with reduced energy consumption
CN113194032B (zh) 一种用于路径区分的装置和方法及计算机可读介质
US7912164B2 (en) Synchronization system and method for wireless communicating nodes
US8340022B2 (en) Wireless location determination system and method
CN108322280B (zh) 一种分布式计算机网络时钟同步延时补偿方法
US7120090B2 (en) Method of determining a timing offset between a first clock and a second clock in a communications network
WO2005067686A3 (en) Method and apparatus for synchronizing wireless location servers
CN101116258A (zh) 用于确定相关最大值的设备和方法
US11281250B2 (en) Method, system, and computer program product for producing accurate IEEE 1588 PTP timestamps in a system with variable PHY latency
US20110016232A1 (en) Time stamping apparatus and method for network timing synchronization
US9213317B2 (en) Method and arrangement for transferring a time of day value between network elements
US7764751B1 (en) Fine synchronization of a signal in the presence of time shift caused by doppler estimation error
EP2315480B1 (en) Device and method for delay mean value computation in a trasmission path
EP3068076A1 (en) Automatic determination of asymmetrical delay in transmission networks
KR20080033074A (ko) 단방향 지연시간 추정방법 및 장치
Hajikhani et al. A recursive method for bias estimation in asymmetric packet-based networks
US12107748B2 (en) Information processing device, non-transitory computer-readable storage medium, and information processing method
JP2020053737A (ja) 情報通信システム
Aledo et al. Temporal synchronization of radar and lidar streams
JP2020053738A (ja) 情報通信システム

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
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170223

Year of fee payment: 10