KR20080033074A - Method and apparatus for estimating one-way delay - Google Patents
Method and apparatus for estimating one-way delay Download PDFInfo
- Publication number
- KR20080033074A KR20080033074A KR1020070101040A KR20070101040A KR20080033074A KR 20080033074 A KR20080033074 A KR 20080033074A KR 1020070101040 A KR1020070101040 A KR 1020070101040A KR 20070101040 A KR20070101040 A KR 20070101040A KR 20080033074 A KR20080033074 A KR 20080033074A
- Authority
- KR
- South Korea
- Prior art keywords
- client
- server
- delay time
- time
- way delay
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
Abstract
Description
본 발명은 두 호스트들간의 단방향 지연시간을 추정하는 방안에 관한 것으로, 보다 구체적으로는, 클라이언트의 클럭을 서버의 클럭에 동기시키기 위해 필요한 정보인 클라이언트와 서버간의 단방향 지연시간을 추정하는 방안에 관한 것이다.The present invention relates to a method for estimating a one-way delay time between two hosts, and more particularly, to a method for estimating a one-way delay time between a client and a server, which is information necessary for synchronizing a clock of a client with a clock of a server. will be.
서로 이격된 호스트들의 클럭들은 서로 동기되어 있을 수도 있고, 동기되어 있지 않을 수도 있다. Clocks of hosts that are spaced apart from each other may be synchronized to each other or may not be synchronized.
동기되어 있지 않은 호스트들의 클럭들을 서로 동기시키기 위한 방안의 하나로서, 그 호스트들 모두 인공위성이나 셀룰러 폰(cellular phone)의 기지국으로부터 동일한 타이밍(timing) 정보를 수신하고, 그 호스트들 각각의 클럭을 그 수신된 타이밍 정보에 동기시키는 방안이 있다. 그러나, 이러한 방안은, 호스트들 각각에 안테나 등 고가의 수신 장비를 갖춰야 한다는 점에서 활용도가 낮다는 문제점을 갖는다.As a way to synchronize the clocks of unsynchronized hosts with each other, they all receive the same timing information from the base station of the satellite or cellular phone, There is a way to synchronize the received timing information. However, this method has a problem in that the utilization is low in that each host must have expensive receiving equipment such as an antenna.
한편, 동기되어 있지 않은 호스트들의 클럭들을 서로 동기시키기 위한 다른 방안으로서, 그 호스트들 중 하나인 클라이언트가 그 호스트들 중 다른 하나인 서버로 패킷을 전송한 시점부터, 클라이언트가 서버로부터 그 패킷을 되돌려 받은 시점까지의 시간인 왕복 지연시간을 측정하고, 측정된 왕복 지연시간의 중간값을 서버와 클라이언트간의 단방향 지연시간으로서 추정하고, 추정된 단방향 지연시간을 이용하여 클라이언트의 클럭을 서버의 클럭에 동기시키는 방안이 있다. 이 다른 방안은, 클라이언트와 서버가 인공위성이나 기지국 등과 같이 기준이 될 수 있는 타이밍 정보를 제공받는 환경 하에 있지 않더라도, 클라이언트의 클럭을 서버의 클럭에 동기시킬 수 있는 방안이다. 하지만, 이 다른 방안은, 서버와 클라이언트간의 단방향 지연시간을 언제나 서버와 클라이언트간의 왕복 지연시간의 중간값이라 추정하고, 추정된 단방향 지연시간을 이용하여 클라이언트의 클럭을 서버의 클럭에 동기시키므로, 클라이언트의 클럭과 서버의 클럭간의 실제 시간차를 정확히 추정하는 데 한계를 가질 수 밖에 없다. 이에 따라, 그 다른 방안은, 클라이언트의 클럭을 서버의 클럭에 정확히 동기시키는 데 한계를 갖는 문제점을 갖는다.On the other hand, as another method for synchronizing the clocks of unsynchronized hosts with each other, the client returns the packet from the server when the client, one of the hosts, transmits the packet to the server, the other of the hosts. It measures the round trip delay time, which is the time until the received point, estimates the median value of the round trip delay time as the one-way delay time between the server and the client, and synchronizes the client clock with the server clock using the estimated one-way delay time. There is a way to make it. Another alternative is to synchronize the clock of the client with the clock of the server even if the client and server are not in an environment in which timing information such as satellite or base station is provided. However, this alternative approach assumes that the one-way delay between the server and the client is always the median of the round trip delay between the server and the client, and uses the estimated one-way delay to synchronize the client's clock with the server's clock. There is no limit to accurately estimating the actual time difference between the clock of the server and the clock of the server. Accordingly, the other approach has a problem in that the clock of the client is accurately synchronized with the clock of the server.
본 발명이 해결하고자 하는 기술적 과제는, 클라이언트와 서버가 동일한 타이밍 정보를 제공받을 수 없더라도, 클라이언트와 서버간의 단방향 지연시간을 정확히 추정함으로써, 클라이언트의 클럭을 서버의 클럭에 정확히 동기시키기 위한 단방향 지연시간 추정방법을 제공하는 데 있다.The technical problem to be solved by the present invention is that the unidirectional delay time for accurately synchronizing the clock of the client with the clock of the server by accurately estimating the unidirectional delay time between the client and the server even if the client and the server cannot be provided with the same timing information. To provide an estimation method.
본 발명이 해결하고자 하는 다른 기술적 과제는, 클라이언트와 서버가 동일 한 타이밍 정보를 제공받을 수 없더라도, 클라이언트와 서버간의 단방향 지연시간을 정확히 추정함으로써, 클라이언트의 클럭을 서버의 클럭에 정확히 동기시키기 위한 단방향 지연시간 추정장치를 제공하는 데 있다.Another technical problem to be solved by the present invention is unidirectional for accurately synchronizing the clock of the client with the clock of the server by accurately estimating the unidirectional delay time between the client and the server even if the client and server cannot be provided with the same timing information. The present invention provides a delay estimation apparatus.
상기 과제를 이루기 위해, 본 발명에 의한 단방향 지연시간 추정방법은, 클라이언트, 및 표준 IP 프로토콜에 따라 ICMP 패킷을 상기 클라이언트와 주고 받는 서버 각각에서, 상기 ICMP 패킷의 전송 시점을 측정하는 단계; 상기 서버에서 측정된 전송 시점과 상기 클라이언트에서 측정된 전송 시점간의 시간차를 연산하고, 상기 클라이언트의 클럭이 상기 서버의 클럭에 동기된 경우의 상기 서버와 상기 클라이언트간의 단방향 지연시간을 연산하는 단계; 상기 연산된 시간차가 상기 연산된 단방향 지연시간과 일치하는가 판단하는 단계; 및 상기 연산된 시간차가 상기 연산된 단방향 지연시간과 일치한다고 판단되면, 상기 연산된 단방향 지연시간 이하의 값들 중 하나의 값을 상기 서버와 상기 클라이언트간의 단방향 지연시간으로서 결정하는 단계를 포함하는 것이 바람직하다.In order to achieve the above object, the present invention provides a method for estimating a unidirectional delay time, the method comprising: measuring a transmission time of the ICMP packet at a client and a server that sends and receives an ICMP packet according to a standard IP protocol; Calculating a time difference between a transmission time measured by the server and a transmission time measured by the client, and calculating a one-way delay time between the server and the client when the clock of the client is synchronized with the clock of the server; Determining whether the calculated time difference coincides with the calculated one-way delay time; And if it is determined that the calculated time difference coincides with the calculated one-way delay time, determining one of values below the calculated one-way delay time as a one-way delay time between the server and the client. Do.
상기 다른 과제를 이루기 위해, 본 발명에 의한 단방향 지연시간 추정장치는, 클라이언트, 및 표준 IP 프로토콜에 따라 ICMP 패킷을 상기 클라이언트와 주고 받는 서버 각각에서, 상기 ICMP 패킷의 전송 시점을 측정하는 시간 측정부; 상기 서버에서 측정된 전송 시점과 상기 클라이언트에서 측정된 전송 시점간의 시간차를 연산하고, 상기 클라이언트의 클럭이 상기 서버의 클럭에 동기된 경우의 상기 서버와 상기 클라이언트간의 단방향 지연시간을 연산하는 연산부; 상기 연산된 시간차 를 상기 연산된 단방향 지연시간과 비교하는 비교부; 및 상기 비교된 결과에 응답하여, 상기 연산된 단방향 지연시간 이하의 값들 중 하나의 값을 상기 서버와 상기 클라이언트간의 단방향 지연시간으로서 결정하는 지연시간 추정부를 포함하는 것이 바람직하다.In order to achieve the above object, the apparatus for estimating a unidirectional delay time according to the present invention includes a time measuring unit for measuring a transmission time of the ICMP packet in a client and a server that transmits and receives an ICMP packet to and from the client according to a standard IP protocol. ; A calculation unit calculating a time difference between a transmission time measured by the server and a transmission time measured by the client, and calculating a one-way delay time between the server and the client when the clock of the client is synchronized with the clock of the server; A comparison unit comparing the calculated time difference with the calculated one-way delay time; And a delay time estimator for determining, as a one-way delay time between the server and the client, one of values calculated below the calculated one-way delay time in response to the comparison result.
본 발명에 의한 단방향 지연시간 추정방법 및 장치는, 클라이언트, 및 표준 IP 프로토콜에 따라 ICMP 패킷을 클라이언트와 주고 받는 서버 각각에서 그 ICMP 패킷의 전송 시점을 측정한 뒤, 서버에서 측정된 전송 시점과 클라이언트에서 측정된 전송 시점간의 시간차를 연산하고, 클라이언트의 클럭이 서버의 클럭에 동기된 경우의 서버와 클라이언트간의 단방향 지연시간을 연산하고, 연산된 시간차가 그 연산된 단방향 지연시간과 일치하는 경우, 그 연산된 단방향 지연시간 이하의 값들 중 하나의 값을 서버와 클라이언트간의 단방향 지연시간으로서 결정하므로, 본 발명의 일 실시예에 따르면, 클라이언트와 서버가 동일한 타이밍 정보를 제공받을 수 없더라도, 클라이언트와 서버간의 단방향 지연시간을 정확히 추정할 수 있고, 이에 따라, 클라이언트의 클럭을 서버의 클럭에 정확히 동기시킬 수 있다.The method and apparatus for estimating a unidirectional delay time according to the present invention measure the transmission time of the ICMP packet in the client and the server that exchanges the ICMP packet with the client according to the standard IP protocol, and then measure the transmission time and the client measured in the server. Calculates the time difference between the transmission time points measured at, and calculates the one-way delay time between the server and the client when the clock of the client is synchronized with the clock of the server, and if the calculated time difference coincides with the calculated one-way delay time. Since one of the values below the calculated one-way delay time is determined as the one-way delay time between the server and the client, according to an embodiment of the present invention, even if the client and the server cannot be provided with the same timing information, One-way latency can be estimated accurately, and thus The clock can be synchronized exactly to the server's clock.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that illustrate preferred embodiments of the present invention and the accompanying drawings.
이하, 본 발명에 의한 단방향 지연시간 추정방법 및 장치를 첨부한 도면들을 참조하여 다음과 같이 설명한다.Hereinafter, a method and apparatus for estimating a unidirectional delay time according to the present invention will be described with reference to the accompanying drawings.
도 1은 네트워크에 연결된 서버와 클라이언트를 나타내는 도면이다. 도시된 바에 따르면, 서버(server)(110)와 클라이언트(client)(120)가 네트워크(130)에 연결되어 있다.1 is a diagram illustrating a server and a client connected to a network. As shown, a
서버(110)와 클라이언트(120)는 표준 IP(Internet Protocol) 프로토콜에 따라 통신한다. WWW(World Wide Web)와 같은 인터넷 환경이 구현된 개인용 컴퓨터(PC : Personal Computer)는 서버(110)와 클라이언트(120) 각각의 일 례이다.
서버(110)와 클라이언트(120)는 서로 소정의 데이터를 주고 받는다. 구체적으로, 서버(110)와 클라이언트(120)는 ICMP(Internet Control Message Protocol) 패킷(packet)을 서로 주고 받는다. 여기서, ICMP 패킷은 RFC (Request For Comments) 문서 792, 1122, 1812 등에 정의되어 있다. The
보다 구체적으로, 클라이언트(120)가 ICMP 패킷을 RFC 문서에 규정된 Type 13의 포맷으로서 서버(110)로 전송하면, 서버(110)는 클라이언트(120)로부터 그 ICMP 패킷이 전송된 시점으로부터 단방향 지연시간이 경과한 시점에 그 ICMP 패킷을 전송받는다. 이 후, 서버(110)는 클라이언트(120)로부터 그 ICMP 패킷을 전송받은 즉시, 그 ICMP 패킷을 RFC 문서에 규정된 Type 14의 포맷으로서 클라이언트(120)로 전송한다. 이 경우, 클라이언트(120)는 서버(110)로부터 그 ICMP 패킷이 전송된 시점으로부터 단방향 지연시간이 경과한 시점에 그 ICMP 패킷을 전송받는다. 이와 같이 서버(110)와 클라이언트(120)은, ICMP 패킷을 서로 주고 받는다. More specifically, when the
이러한 주고 받음은, 복수 번 수행될 수 있다. 즉, 클라이언트(120)는 서 버(110)로부터 ICMP 패킷을 전송받은 즉시, 그 ICMP 패킷을 RFC 문서에 규정된 Type 13의 포맷으로서 서버(110)로 전송한다. 이 경우, 서버(110)는 클라이언트(120)로부터 그 ICMP 패킷이 전송된 시점으로부터 단방향 지연시간이 경과한 시점에 그 ICMP 패킷을 전송받는다. 이 후, 서버(110)는 클라이언트(120)로부터 그 ICMP 패킷을 전송받은 즉시, 그 ICMP 패킷을 RFC 문서에 규정된 Type 14의 포맷으로서 클라이언트(120)로 전송한다. 이 경우, 클라이언트(120)는 서버(110)로부터 그 ICMP 패킷이 전송된 시점으로부터 단방향 지연시간이 경과한 시점에 그 ICMP 패킷을 전송받는다.This exchange may be performed multiple times. That is, as soon as the
본 명세서에서, 단방향 지연시간(one-way delay)은, 클라이언트(120)가 서버(110)로 전송한 패킷(packet)이 클라이언트(120)를 출발한 시점부터 서버(110)에 도착한 시점까지의 시간을 의미할 수도 있고, 서버(110)가 클라이언트(120)로 전송한 패킷이 서버(110)를 출발한 시점부터 클라이언트(120)에 도착한 시점까지의 시간을 의미할 수도 있다.In the present specification, the one-way delay is a time from a time when a packet transmitted by the
서버(110)와 클라이언트(120)는 대칭적(symmetric)으로 연결되어 있을 수도 있고, 비대칭적(asymmetric)으로 연결되어 있을 수도 있다. 여기서, 비대칭적으로 연결되어 있다 함은 서버(110)에서 클라이언트(120)로 데이터가 전송되는데 소요되는 시간과 클라이언트(120)에서 서버(110)로 데이터가 전송되는데 소요되는 시간이 서로 다름을 의미한다.The
네트워크(130)는 유선 네트워크일 수도 있고, 무선 네트워크일 수도 있다.The
네트워크(130)에는 하나 이상의 호스트(host)들이 연결될 수 있으며, 본 발 명은 그 호스트들 중 하나인 서버(110)와 그 호스트들 중 다른 하나인 클라이언트(120)간의 단방향 지연시간을 추정하는 방안을 다음과 같이 제시한다.One or more hosts may be connected to the
도 2는 본 발명에 의한 단방향 지연시간 추정장치의 일 례를 설명하기 위한 블록도로서, 시간 측정부(210), 에러 검출 및 정정부(212), 오프셋 설정부(214), 연산부(216), 비교부(218), 지연시간 추정부(220) 및 클럭 조정부(222)로 이루어진다.2 is a block diagram for explaining an example of the unidirectional delay time estimation apparatus according to the present invention. The
시간 측정부(210)는 서버(110)에서 k(단, k는 자연수), k+1 및 k+2번째 전송 시점을 측정하고, 클라이언트(120)에서 k 및 k+1번째 전송 시점을 측정한다. 여기서, 서버(110)에서 측정한다 함은 서버(110)에 마련된 클럭으로 측정함을 의미하고, 클라이언트(120)에서 측정한다 함은 클라이언트(120)에 마련된 클럭으로 측정함을 의미한다. 또한, '전송'은 문맥상 '송신'만을 의미할 수도 있고, '수신'만을 의미할 수도 있고, '송신'과 '수신' 모두를 의미할 수도 있다.The
즉, 시간 측정부(210)는, 서버(110)가 ICMP 패킷을 k번째 전송한 시점, 클라이언트(120)가 그 ICMP 패킷을 k번째 전송받은 시점, 클라이언트(120)가 그 ICMP 패킷을 k번째 전송한 시점, 서버(110)가 그 ICMP 패킷을 k+1번째 전송받은 시점, 서버(110)가 그 ICMP 패킷을 k+1번째 전송한 시점, 클라이언트(120)가 그 ICMP 패킷을 k+1번째 전송받은 시점, 클라이언트(120)가 그 ICMP 패킷을 k+1번째 전송한 시점, 서버(110)가 그 ICMP 패킷을 k+2번째 전송받은 시점을 측정한다. 여기서, 전송한다 함은 송신을 의미하고, 전송받는다 함은 수신을 의미한다.That is, the
에러 검출 및 정정부(212)는 그 주고 받는 ICMP 패킷에 에러 즉, 손실된 부 분이 존재하는지 검사하고, 존재한다고 검사되면 그 손실된 부분을 복원한다.The error detection and
오프셋 설정부(214)는 서버(110)의 클럭이 가리키는 시각과 클라이언트(120)의 클럭이 가리키는 시각간에 양의 오프셋 또는 음의 오프셋을 의도적으로 설정한다. 이 때, 양의 오프셋을 설정할지 아니면 음의 오프셋을 설정할지는 사용자에 의해 지정될 수 있다. 구체적으로, 오프셋 설정부(214)는 클라이언트(120)에서 측정된 전송 시점에 오프셋(α, 또는 β)을 의도적으로 반영한다.The
만일, 사용자가 음의 오프셋이 설정되길 원한다면, 오프셋 설정부(214)는, 클라이언트(120)에서 측정된 m(단, m은 k, k+1, k+2 중 하나)번째 전송 시점을, 서버(110)에서 측정된 m번째 전송 시점에 미리 설정된 양의 값(α)을 가산한 결과로 변경할 수 있다.If the user wants to set a negative offset, the offset setting
오프셋 설정부(214)의 이와 같은 동작은 다음과 같은 수학식으로 표현될 수 있다.This operation of the offset setting
[수학식 1][Equation 1]
t_B_(m) = t_A_(m) + αt_B_ (m) = t_A_ (m) + α
이하, A는 서버(110)를 의미하고, B는 클라이언트(120)를 의미하고, t_B_(m)은 서버(110)에서 측정된 m번째 전송 시점을 의미하고, t_A_(m)은 클라이언트(120)에서 측정된 m번째 전송 시점을 의미한다. Hereinafter, A means
한편, α는 다음의 수학식을 만족하도록 설정됨이 바람직하다.On the other hand, α is preferably set to satisfy the following equation.
[수학식 2][Equation 2]
t_A_(k) < t_B_(k) < t_A_(k+1) 및t_A_ (k) <t_B_ (k) <t_A_ (k + 1) and
t_A_(k+1) < t_B_(k+1) < t_A_(k+2)t_A_ (k + 1) <t_B_ (k + 1) <t_A_ (k + 2)
그에 반해, 사용자가 양의 오프셋이 설정되길 원한다면, 오프셋 설정부(214)는, 클라이언트(120)에서 측정된 k+1번째 전송 시점을, '서버(110)에서 측정된 k+1번째 전송 시점'에 '클라이언트(120)에서 연산된 k번째 왕복 지연시간'을 가산한 결과로부터 미리 설정된 양의 값(β)을 감산한 결과로 변경할 수 있다. 본 명세서에서, 서버(110)에서 연산된 왕복 지연시간(RTT: round-trip time)은, 서버(110)에서 클라이언트(120)로 전송된 패킷이 다시 서버(110)로 되돌아오는 경우, 그 패킷이 서버(110)를 출발하여 서버(110)에 다시 도착할 때까지 소요된 시간을 의미한다. 마찬가지로, 클라이언트(120)에서 연산된 왕복 지연시간은, 클라이언트(120)에서 서버(110)로 전송된 패킷이 다시 클라이언트(120)로 되돌아오는 경우, 그 패킷이 클라이언트(120)를 출발하여 클라이언트(120)에 다시 도착할 때까지 소요된 시간을 의미한다.On the contrary, if the user wants to set a positive offset, the offset setting
오프셋 설정부(214)의 이와 같은 동작은 다음과 같은 수학식으로 표현될 수 있다.This operation of the offset setting
[수학식 3][Equation 3]
t_B_(k+1) = t_A_(k+1) + R_B_(k) - βt_B_ (k + 1) = t_A_ (k + 1) + R_B_ (k)-β
여기서, R_B_(k)는 클라이언트에서 연산된 k번째 왕복 지연시간을 의미한다.Here, R_B_ (k) means the k-th round trip delay time calculated by the client.
한편, β는 전술한 수학식 2를 만족하도록 설정됨이 바람직하다.On the other hand, β is preferably set to satisfy the above equation (2).
이처럼 사용자가 양의 오프셋이 설정되길 원한다면, 오프셋 설정부(214)는 클라이언트(120)에서 측정된 k번째 전송 시점을, 수학식 3에 따라 변경된 '클라이 언트(120)에서의 k+1 번째 전송 시점'으로부터 클라이언트(120)에서 연산된 k번째 왕복 지연시간을 감산한 결과로 변경할 수 있다. 이는 다음의 수학식으로 표현될 수 있다.In this way, if the user wants to set a positive offset, the offset setting
[수학식 4][Equation 4]
t_B_(k) = t_B_(k+1) - R_B_(k)t_B_ (k) = t_B_ (k + 1)-R_B_ (k)
전술한 수학식 3, 4에서 사용되는 왕복 지연시간은 후술할 연산부(216)에서 연산되는 값이므로, 오프셋을 양으로 설정하고자 하는 오프셋 설정부(214)는 그 연산된 왕복 지연시간의 수치를 연산부(216)에서 제공받음이 바람직하다.Since the round trip delay time used in Equations 3 and 4 described above is a value calculated by the
한편, 오프셋의 양, 음이 어떤 의미를 지니는지, 오프셋의 양, 음을 미리 의도적으로 설정하는 이유에 관해서는 후술할 도 3 및 도 4에 대한 설명에서 개진하기로 한다.On the other hand, the meaning of the offset amount and sound, and the reason for intentionally setting the offset amount and sound in advance will be described in the description of FIGS. 3 and 4 to be described later.
연산부(216)는 서버(110)에서 측정된 m번째 전송 시점과 클라이언트(120)에서 측정된 m번째 전송 시점의 시간차를 연산한다. 엄밀하게는, 연산부(216)는 '서버(110)에서 측정된 m번째 전송 시점'과 '클라이언트(120)에서 측정된 m번째 전송 시점에 오프셋 설정부(214)에 의해 설정된 오프셋이 반영된 시점'의 시간차를 연산한다.The
또한, 연산부(216)는, 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되었다고 가정하고, 시간 측정부(210)에서 측정된 하나 이상의 전송 시점들을 이용하여 m번째 단방향 지연시간을 연산한다. 이 때, 이용되는 전송 시점들 중 클라이언트(120)에서 측정된 전송 시점들 각각은, 오프셋 설정부(214)에 의해 설정된 오프 셋이 반영된 시점이다.In addition, the
보다 구체적으로, 연산부(216)는 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되었다고 가정하고, 서버(110)에서 k 및 k+1번째 왕복 지연시간을 연산하고, 클라이언트(120)에서 k번째 왕복 지연시간을 연산한다. 이 때, 왕복 지연시간은 다음의 수학식으로 표현될 수 있다.More specifically, the
[수학식 5][Equation 5]
R_A_(k) = t_A_(k+1) - t_A_(k)R_A_ (k) = t_A_ (k + 1)-t_A_ (k)
R_B_(k) = t_B_(k+1) - t_B_(k)R_B_ (k) = t_B_ (k + 1)-t_B_ (k)
R_A_(k+1) = t_A_(k+2) - t_A_(k+1)R_A_ (k + 1) = t_A_ (k + 2)-t_A_ (k + 1)
여기서, R_A_(k)는 서버(110)에서 연산된 k번째 왕복 지연시간을 의미하고, R_B_(k)는 클라이언트(120)에서 연산된 k번째 왕복 지연시간을 의미하고, R_A_(k+1)는 서버(110)에서 연산된 k+1번째 왕복 지연시간을 나타낸다. 한편, 수학식 5에서 R_A_(k)는 엄격하게는 다음의 수학식 9로 표현되어야 하지만, t_A_(k)와 t_A_(k+1)의 차이가 매우 작으므로, R_A_(k) 역시 수학식 5에서처럼 표현될 수가 있다.Here, R_A_ (k) means the k-th round trip delay time calculated in the
[수학식 6][Equation 6]
R_A_(k) = t_A_(k+1) - (S_A_(t)를 t= t_A_(k)부터 t= t_A_(k+1)까지 적분한 결과) - t_A_(k)R_A_ (k) = t_A_ (k + 1)-(The result of integrating S_A_ (t) from t = t_A_ (k) to t = t_A_ (k + 1))-t_A_ (k)
여기서, S_A_(t)는 시간의 경과에 따라 발생되는 '서버(110)의 클럭 주파수와 클라이언트(120)의 클럭 주파수간의 차이'를 의미한다. Here, S_A_ (t) means 'difference between the clock frequency of the
이 후, 연산부(216)는 이러한 왕복 지연시간들을 이용하여, '클라이언트(120)의 클럭이 서버(110)의 클럭에 동기된 경우'의 m번째 단방향 지연시간을 연산한다. 이는 다음의 수학식 7으로서 표현된다.Thereafter, the
[수학식 7][Equation 7]
b = [ (R_B_(k) - R_A_(k)) / (R_A_(k+1) - R_A_(k)) ] * R_A_(k)b = [(R_B_ (k)-R_A_ (k)) / (R_A_ (k + 1)-R_A_ (k))] * R_A_ (k)
a = [ (R_A_(k+1) - R_B_(k)) / (R_A_(k+1) - R_A_(k)) ] * R_A_(k)a = [(R_A_ (k + 1)-R_B_ (k)) / (R_A_ (k + 1)-R_A_ (k))] * R_A_ (k)
b' = [ (R_B_(k) - R_A_(k)) / (R_A_(k+1) - R_A_(k)) ] * R_A_(k+1)b '= [(R_B_ (k)-R_A_ (k)) / (R_A_ (k + 1)-R_A_ (k))] * R_A_ (k + 1)
a' = [ (R_A_(k+1) - R_B_(k)) / (R_A_(k+1) - R_A_(k)) ] * R_A_(k+1)a '= [(R_A_ (k + 1)-R_B_ (k)) / (R_A_ (k + 1)-R_A_ (k))] * R_A_ (k + 1)
여기서, a는 서버(110)에서 연산된 k번째 단방향 지연시간을 의미하고, a'는 서버(110)에서 연산된 k+1번째 단방향 지연시간을 의미하고, b는 클라이언트(120)에서 연산된 k번째 단방향 지연시간을 의미하고, b'는 클라이언트(120)에서 연산된 k+1번째 단방향 지연시간을 의미한다.Here, a means the k-th one-way delay time calculated in the
전술한 수학식 7은 다음의 수학식 8 내지 11을 통해 도출된다.Equation 7 described above is derived through
[수학식 8][Equation 8]
J_A_(k) / J_B_(k) = a / b = a' / b' J_A_ (k) / J_B_ (k) = a / b = a '/ b'
where, where,
J_A_(k) ≡ a' - aJ_A_ (k) ≡ a '-a
J_B_(k) ≡ b' - bJ_B_ (k) ≡ b '-b
여기서, J_A_(k)는 서버(110)에서 연산된 지터(jitter)라 명명되며, J_B_(k)는 클라이언트(120)에서 연산된 지터라 명명된다.Here, J_A_ (k) is called jitter calculated at the
이러한 수학식 8은, 다음의 수학식 9가 성립된다는 가정 하에 도출된 식이다.
[수학식 9][Equation 9]
a / a' = b / b' 즉, a / b = a' / b'a / a '= b / b' i.e. a / b = a '/ b'
한편, 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기된 경우의, 왕복 지연시간은 다음과 같이 표현될 수 있다.Meanwhile, the round trip delay time when the clock of the
[수학식 10][Equation 10]
R_A_(k) = a+bR_A_ (k) = a + b
R_A_(k+1) = a' + b'R_A_ (k + 1) = a '+ b'
R_B_(k) = a+b'R_B_ (k) = a + b '
이러한 수학식 10은, 전술한 수학식 5와 실질상 동일하다.This equation (10) is substantially the same as the above equation (5).
전술한 수학식 9 및 10을 이용하면 다음의 수학식 11이 도출된다.Using Equations 9 and 10, the following Equation 11 is derived.
[수학식 11][Equation 11]
a / a' = b / b' = R_A_(k) / R_A_(k+1)a / a '= b / b' = R_A_ (k) / R_A_ (k + 1)
이러한 수학식 11과 전술한 수학식 10을 이용하면 전술한 수학식 7이 도출되게 된다.Using the above Equation 11 and the above Equation 10, the above Equation 7 is derived.
전술한 바와 같이, 수학식 7은, 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되었다고 가정하고 도출된 수학식이다. 한편, 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되어 있다면, 클라이언트(120)에서 측정된 m번째 전송 시점과 서버(110)에서 측정된 m번째 전송 시점간의 시간차는, 연산부(216)에서 연산된 m번째 단방향 지연시간과 일치하여야 한다. 이는 다음의 수학식 12로서 표현된다.As described above, Equation 7 is derived based on the assumption that the clock of the
[수학식 12][Equation 12]
b = t_B_(k) - t_A_(k)b = t_B_ (k)-t_A_ (k)
a = t_A_(k+1) - t_B_(k)a = t_A_ (k + 1)-t_B_ (k)
b' = t_B_(k+1) - t_A_(k+1)b '= t_B_ (k + 1)-t_A_ (k + 1)
a' = t_A_(k+2) - t_B_(k+1)a '= t_A_ (k + 2)-t_B_ (k + 1)
비교부(218)는 수학식 12에 기재된 네 수학식들 중 적어도 하나가 만족하는지 검사한다. 구체적으로, 비교부(218)는 연산부(216)에서 연산된 시간차와 연산부(216)에서 연산된 단방향 지연시간을 비교한다. 보다 구체적으로, 검사부(218)는 연산부(216)에서 연산된 시간차와 연산부(216)에서 연산된 단방향 지연시간이 일치하는지 검사할 수 있다.The
이에 따라, 연산부(216)에서 연산된 시간차와 연산부(216)에서 연산된 단방향 지연시간이 일치한다고 비교되면, 그 연산된 단방향 지연시간이 '클라이언트(120)의 클럭이 서버(110)의 클럭에 동기된 경우의 서버(110)와 클라이언트(120)간의 단방향 지연시간'으로서 100% 신뢰할 수 있다.Accordingly, when the time difference calculated by the
하지만, 연산부(216)에서 연산된 시간차와 연산부(216)에서 연산된 단방향 지연시간이 일치한다고 비교되더라도, 그 연산된 단방향 지연시간은 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되어 있다는 가정 하에 연산된 값이므로, 클라이언트(120)의 클럭이 실제로는 서버(110)의 클럭에 동기되어 있지 않은 서버(110)와 클라이언트(120)간의 단방향 지연시간을 그 연산된 단방향 지연시간이 라 단정할 수는 없다.However, even when the time difference calculated in the
다만, 클라이언트(120)의 클럭이 실제로는 서버(110)의 클럭에 동기되어 있지 않은 서버(110)와 클라이언트(120)간의 단방향 지연시간을, 연산부(216)에서 연산된 시간차와 연산부(216)에서 연산된 단방향 지연시간이 일치하는 경우의 그 연산된 단방향 지연시간 이하의 값이라 추정할 수는 있다. 이에 대한 구체적인 설명은 도 3 및 도 4에 대한 설명에서도 개시된다.However, the one-way delay time between the
이에 따라, 지연시간 추정부(220)는 비교부(218)에서 비교된 결과에 응답하여, 연산부(216)에서 연산된 단방향 지연시간 이하의 값들 중 하나의 값을 '서버(110)와 클라이언트(120)간의 단방향 지연시간'이라고 결정한다. 예컨대, 지연시간 추정부(220)는 비교부(218)에서 비교된 결과에 응답하여, 연산부(216)에서 연산된 단방향 지연시간의 중간값(medium value)을 '서버(110)와 클라이언트(120)간의 단방향 지연시간'이라고 결정한다.Accordingly, in response to the result compared by the
구체적으로, 지연시간 추정부(220)는 비교부(218)에서 '연산부(216)에서 연산된 시간차와 연산부(216)에서 연산된 단방향 지연시간이 서로 일치한다'고 비교되면, 연산부(216)에서 연산된 단방향 지연시간 이하의 값들 중 하나의 값을 '서버(110)와 클라이언트(120)간의 단방향 지연시간'으로서 결정할 수 있다. 이 때, 연산부(216)에서 연산된 단방향 지연시간 이하의 값들 중 하나의 값은, 그 이하의 값들 중 하나의 값이면 족하며, 반드시 그 이하의 값들 중 어느 특정 값에 한정될 필요는 없다.Specifically, when the
즉, "b = t_B_(k) - t_A_(k)"라고 비교부(218)에서 비교되면, 지연시간 추정 부(220)는 "b 이하의 값들 중 어느 하나의 값"을 서버(110)와 클라이언트(120)간의 단방향 지연시간으로서 결정한다. 마찬가지로, "a = t_A_(k+1) - t_B_(k)"라고 비교부(218)에서 비교되면, 지연시간 추정부(220)는 "a 이하의 값들 중 어느 하나의 값"을 서버(110)와 클라이언트(120)간의 단방향 지연시간으로서 결정한다. 이와 비슷하게, "b' = t_B_(k+1) - t_A_(k+1)"라고 비교부(218)에서 비교되면, 지연시간 추정부(220)는 "b' 이하의 값들 중 어느 하나의 값"을 서버(110)와 클라이언트(120)간의 단방향 지연시간으로서 결정한다. 같은 원리로, "a' = t_A_(k+2) - t_B_(k+1) "라고 비교부(218)에서 비교되면, 지연시간 추정부(220)는 "a' 이하의 값들 중 어느 하나의 값"을 서버(110)와 클라이언트(120)간의 단방향 지연시간으로서 결정한다.That is, when "b = t_B_ (k)-t_A_ (k)" is compared in the comparing
다만, 비교부(218)에서 비교된 결과, 연산부(216)에서 연산된 k번째 단방향 지연시간들(a, b)과 연산부(216)에서 연산된 k+1번째 단방향 지연시간들(a', b') 중 수학식 12를 만족하는 단방향 지연시간들이 복수 개 존재한다면, 비교부(218)는 그 복수 개의 단방향 지연시간들을 서로 비교하여 그 복수 개의 단방향 지연시간들 중 최소값을 찾고, 지연시간 추정부(220)는 그 찾아진 최소값에 대해서만 동작하는 것이 바람직하다. 예컨대, (i) b, a, b', a' 모두가 수학식 12를 만족한다고 비교부(218)에서 비교되고, (ii) b, a, b', a' 중 b가 최소값이라면, 비교부(218)는 b, a, b', a'를 서로 비교하여 b, a, b', a' 중 최소값인 b를 찾고, b, a, b', a' 중 최소값이 b임을 지연시간 추정부(220)에 인지시키고, 지연시간 추정부(220)는 b 이하의 값들 중 어느 하나의 값을 '서버(110)와 클라이언트(120)간의 단방향 지연시 간'으로서 결정한다.However, as a result of the comparison in the
한편, 지연시간 추정부(220)는 그 추정된 단방향 지연시간을 이용하여, 서로 동기되어 있지 않은 서버(110)의 클럭과 클라이언트(120)의 클럭간에 존재하는 실제 오프셋을 추정할 수 있다.Meanwhile, the
클럭 조정부(222)는 지연시간 추정부(220)에서 추정한 '단방향 지연시간'을 이용하여, 보다 구체적으로는, 그 추정된 단방향 지연시간을 이용하여 추정된 '실제 오프셋'을 이용하여, 클라이언트(120)의 클럭을 서버(110)의 클럭에 동기시킨다.The
도 3은 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기된 경우를 설명하기 위한 참고도이며, 서버(110)의 클럭과 클라이언트(120)의 클럭간에 오프셋이 존재하지 않는 경우를 설명하기 위한 참고도이다. 도 3에 도시된 바에서, A는 서버(110)를 의미하고, B는 클라이언트(120)를 의미하며, 그 밖의 기호가 의미하는 바는 이미 도 2에 대한 설명에서 개시하였다.3 is a diagram illustrating a case in which a clock of the
도 4는 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되지 않은 경우를 설명하기 위한 참고도이며, 서버(110)의 클럭과 클라이언트(120)의 클럭간에 오프셋이 존재하는 경우를 설명하기 위한 참고도이다. 도 4에 도시된 바에서도, A는 서버(110)를 의미하고, B는 클라이언트(120)를 의미하고, Ofs(m)은 m번째 전송 시점에 포함된 실제 오프셋을 의미하며, 그 밖의 기호가 의미하는 바는 이미 도 2에 대한 설명에서 개시하였다. 4 is a diagram illustrating a case where a clock of the
도 4에 도시된 바에서, 클라이언트(120)에서 측정된 전송 시점들(t_BC(k), t_BC(k+1)) 각각에는, 클라이언트(120)의 클럭과 서버(110)의 클럭 사이에 존재하는 실제 오프셋(Ofs)이 반영되어 있다. As shown in FIG. 4, each of the transmission time points t_BC (k) and t_BC (k + 1) measured at the
전술한 바와 같이, 본 발명은, 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되어 있지 않은 경우의 서버(110)와 클라이언트(120)간의 실제 단방향 지연시간(A, B, A', B')을 추정하는 방안에 대해 개시하므로, 본 발명에 따르면, t_BE_(k), t_BE_(k+1)은 정확히 추정될 수 있다. 한편, 설명의 편의상, 본 명세서에서, 양의 오프셋은 도 4에 도시된 바와 같이 t_BC_(k)가 t_BE_(k)보다 큰 경우의 오프셋을 의미하고, 음의 오프셋은 도 4에 도시된 바와 달리 t_BC_(k)가 t_BE_(k)보다 작은 경우의 오프셋을 의미한다.As described above, in the present invention, the actual one-way delay time A, B, A 'between the
구체적으로, a, b에 대해 수학식 12가 만족된다고 비교부(218)에서 검사되는데, 실제 오프셋(Ofs(k))이 양의 오프셋이라면, 지연시간 추정부(220)는 B는 b보다 작은 어떤 값을 가지며, A는 a보다 큰 어떤 값을 가진다고 추정할 수 있다.Specifically, the
마찬가지로, a', b'에 대해 수학식 12가 만족된다고 비교부(218)에서 검사되는데, 실제 오프셋(Ofs(k+1))이 양의 오프셋이라면, 지연시간 추정부(220)는 B'는 b'보다 작은 어떤 값을 가지며, A'는 a'보다 큰 어떤 값을 가진다고 추정할 수 있다.Similarly, the
즉, 지연시간 추정부(220)는 서버(110)와 클라이언트(120)간의 단방향 지연시간을 연산부(216)에서 연산된 단방향 지연시간 이하의 값이라고 추정하므로, 그 추정된 단방향 지연시간은 '서버(110)에서 클라이언트(120)로 ICMP 패킷이 전송되는데 소요되는 시간'일 수도 있고, '클라이언트(120)에서 서버(110)로 ICMP 패킷이 전송되는데 소요되는 시간'일 수도 있다. 구체적으로, 도 4에 도시된 바와 같이 실제 오프셋이 양이라면, 그 추정된 단방향 지연시간은 '서버(110)에서 클라이언트(120)로 ICMP 패킷이 전송되는데 소요되는 시간'의 추정 시간을 의미하고, 도 4에 도시된 바와 달리 실제 오프셋이 음이라면, 그 추정된 단방향 지연시간은 '클라이언트(120)에서 서버(110)로 ICMP 패킷이 전송되는데 소요되는 시간'의 추정 시간을 의미한다.That is, since the
한편, 도 4에서와 같이 실제 오프셋이 양이라면, 지연시간 추정부(220)는 b(또는 b')보다 작은 어떤 값이 B(또는 B')라 추정할 수 있다. 이 경우, 지연시간 추정부(220)는 실제 오프셋을 다음과 같이 추정한다.On the other hand, as shown in FIG. 4, if the actual offset is positive, the
[수학식 13][Equation 13]
ofs_estim = min [b, b'] /2 where Ofs > 0ofs_estim = min [b, b '] / 2 where Ofs> 0
ofs_estim = - min [a, a'] /2 where Ofs < 0ofs_estim =-min [a, a '] / 2 where Ofs <0
여기서, Ofs는 실제 오프셋을 의미하고, ofs_estim은 추정된 오프셋을 의미한다. Here, Ofs means an actual offset, and ofs_estim means an estimated offset.
결국, 추정된 오프셋(ofs_estim)이 가질 수 있는 오차(E_ofs)는 실제 오프셋(Ofs)로부터 그 추정된 오프셋(ofs_estim)을 감산하여 획득할 수 있다. 이는 다음의 수학식 14로서 표현된다.As a result, the error E_ofs that the estimated offset ofs_estim may have may be obtained by subtracting the estimated offset ofs_estim from the actual offset Ofs. This is expressed as the following equation (14).
[수학식 14][Equation 14]
| E_ofs | ≤ min [b, b'] /2 where Ofs > 0| E_ofs | ≤ min [b, b '] / 2 where Ofs> 0
| E_ofs | ≤ min [a, a'] /2 where Ofs < 0| E_ofs | ≤ min [a, a '] / 2 where Ofs <0
이처럼, 지연시간 추정부(220)가 추정하는 단방향 지연시간은 실제 오프셋이 양인지 아니면 음인지에 따라서도 달라질 수 있다. 다만, 실제 오프셋(Ofs)이 양인지 아니면 음인지의 여부를 확인할 수 있는 방법이 없으므로, 오프셋 설정부(214)가 클라이언트(120)에서 측정된 전송 시점에 오프셋(α, 또는 β)을 의도적으로 반영하는 것이다.As such, the one-way delay time estimated by the
도 5는 본 발명에 의한 서버(110)와 클라이언트(120)간에 주고 받는 ICMP 패킷(500)을 설명하기 위한 참고도이다. 도 5에 도시된 ICMP 패킷(500)은, RFC 문서에 규정된 Type 13, 또는 14의 ICMP 패킷이다. 구체적으로, 서버(110)와 클라이언트(120)간에 주고 받는 패킷은 RFC 문서에 규정된 ICMP 패킷이며, 클라이언트(120)에서 서버(110)로는 Type 13에 따른 ICMP 패킷이 전송되며, 서버(110)에서 클라이언트(120)로는 Type 14에 따른 ICMP 패킷이 전송된다.5 is a reference diagram for explaining the
도 6은 본 발명에 의한 단방향 지연시간 추정방법을 설명하기 위한 플로우챠트로서, 클라이언트와 서버가 동일한 타이밍 정보를 제공받을 수 없더라도, 클라이언트와 서버간의 단방향 지연시간을 정확히 추정함으로써, 클라이언트의 클럭을 서버의 클럭에 정확히 동기시키기 위한 단계들(제610 ~ 624 단계들)로 이루어진다.6 is a flowchart for explaining a one-way delay estimation method according to the present invention. Even if a client and a server cannot be provided with the same timing information, FIG. Steps 610 to 624 to accurately synchronize to the clock of FIG.
시간 측정부(210)는 t_A_(k), t_B_(k), t_A_(k+1), t_B_(k+1), 및 t_A_(k+2)를 측정하고(제610 단계), 에러 검출 및 정정부(212)는 서버(110)와 클라이언트(120)간에 주고 받는 ICMP 패킷에 손실된 부분이 존재하는지 판단하고(제612 단계), 손실된 부분이 존재한다고 판단되면 그 손실된 부분을 복원한다(제614 단계).The
제614 단계 후에, 또는 제612 단계에서 ICMP 패킷에 손실된 부분이 존재하지 않는다고 판단된 후에, 오프셋 설정부(214)는 서버(110)의 클럭이 가리키는 시각과 클라이언트(120)의 클럭이 가리키는 시각간에 양의 오프셋 또는 음의 오프셋을 의도적으로 설정한다(제616 단계). 이 때, 양의 오프셋을 설정할지 아니면 음의 오프셋을 설정할지는 사용자에 의해 지정될 수 있다.After
제616 단계 후에, 연산부(216)는 t_A_(m)과 t_B_(m)의 시간차를 연산하고, '클라이언트(120)의 클럭이 서버(110)의 클럭에 동기된 경우의 서버(110)와 클라이언트(120)간의 단방향 지연시간'으로서 m번째 단방향 지연시간을 연산한다(제618 단계).After
제618 단계 후에, 비교부(218)는 제618 단계에서 연산된 시간차와 제618 단계에서 연산된 단방향 지연시간이 일치하는지 판단한다(제620 단계).After operation 618, the
제620 단계에서 일치한다고 판단되면, 지연시간 추정부(220)는 클라이언트(120)의 클럭이 서버(110)의 클럭에 동기되어 있지 않은 경우의 서버(110)와 클라이언트(120)간의 단방향 지연시간을, 제618 단계에서 연산된 단방향 지연시간 이하의 값들 중 어느 하나의 값으로서 결정한다(제622 단계).If it is determined in
제622 단계 후에, 클럭 조정부(222)는 제622 단계에서 결정된 단방향 지연시간을 이용하여, 클라이언트(120)의 클럭을 서버(110)의 클럭에 동기시킨다(제624 단계).After
이상에서 언급된 본 발명에 의한 단방향 지연시간 추정방법을 컴퓨터에서 실행시키기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다. 여기서, 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬(ROM), 플로피 디스크, 하드 디스크 등), 및 광학적 판독 매체(예를 들면, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc))와 같은 저장매체를 포함한다.The program for executing the above-mentioned one-way delay time estimation method according to the present invention on a computer may be stored in a computer-readable recording medium. Here, the computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), and an optical reading medium (for example, a CD-ROM, a DVD). : Digital Versatile Disc).
이제까지 본 발명을 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점들은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been described with reference to the preferred embodiments. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
도 1은 네트워크에 연결된 서버와 클라이언트를 나타내는 도면이다.1 is a diagram illustrating a server and a client connected to a network.
도 2는 본 발명에 의한 단방향 지연시간 추정장치를 설명하기 위한 블록도이다.2 is a block diagram illustrating a one-way delay time estimation apparatus according to the present invention.
도 3은 클라이언트의 클럭이 서버의 클럭에 동기된 경우를 설명하기 위한 참고도이다.3 is a reference diagram for describing a case where a clock of a client is synchronized with a clock of a server.
도 4는 클라이언트의 클럭이 서버의 클럭에 동기되지 않은 경우를 설명하기 위한 참고도이다.4 is a reference diagram for explaining a case where a clock of a client is not synchronized with a clock of a server.
도 5는 본 발명에 의한 서버와 클라이언트간에 주고 받는 ICMP 패킷의 일 례를 설명하기 위한 참고도이다.5 is a reference diagram for explaining an example of an ICMP packet exchanged between a server and a client according to the present invention.
도 6은 본 발명에 의한 단방향 지연시간 추정방법을 설명하기 위한 플로우챠트이다.6 is a flowchart for explaining a one-way delay time estimation method according to the present invention.
Claims (5)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060098158 | 2006-10-09 | ||
KR20060098158 | 2006-10-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080033074A true KR20080033074A (en) | 2008-04-16 |
Family
ID=39573376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070101040A KR20080033074A (en) | 2006-10-09 | 2007-10-08 | Method and apparatus for estimating one-way delay |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080033074A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073271A (en) * | 2020-09-24 | 2020-12-11 | 杭州迪普科技股份有限公司 | Network delay measuring method, device, equipment and medium |
-
2007
- 2007-10-08 KR KR1020070101040A patent/KR20080033074A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073271A (en) * | 2020-09-24 | 2020-12-11 | 杭州迪普科技股份有限公司 | Network delay measuring method, device, equipment and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7876791B2 (en) | Synchronizing apparatus and method in packet network | |
US11057136B1 (en) | Time correction using extension fields | |
KR100813966B1 (en) | Clock synchronization method and apparatus using estimated one-way delay | |
EP3542477B1 (en) | One-way packet delay measurement | |
US9671822B2 (en) | Method and devices for time transfer using end-to-end transparent clocks | |
US8355476B2 (en) | Timestamping method and apparatus for precise network synchronization | |
US7865760B2 (en) | Use of T4 timestamps to calculate clock offset and skew | |
US8416812B2 (en) | Network timing synchronization systems | |
US20180316586A1 (en) | Method, a computer program product, and a carrier for indicating one-way latency in a data network | |
CA2652594A1 (en) | Network time protocol precision timestamping service | |
US9270607B2 (en) | Method and devices for packet selection | |
KR20100124195A (en) | Method and apparatus for performing time synchronization between nodes | |
CN103929293A (en) | Asymmetrically-delayed time synchronization method and system | |
US20220295437A1 (en) | Continuous synchronization of multiple radio devices to physical time | |
WO2011074529A1 (en) | Time synchronization system, slave node, time synchronization method, and program for time synchronization | |
EP3231110B1 (en) | Method and devices for time transfer using end to end transparent clocks | |
US20150172154A1 (en) | Minimizing symmetrical latency impact by jitter buffer for tdm ces | |
US20110016232A1 (en) | Time stamping apparatus and method for network timing synchronization | |
KR20080033074A (en) | Method and apparatus for estimating one-way delay | |
JP6879750B2 (en) | Data transmission equipment and programs | |
KR20190072745A (en) | Stable Network-based Time Synchronization Method | |
Kim et al. | One-way delay estimation without clock sychronization | |
Oh et al. | Traffic-reduced precise ranging protocol for asynchronous UWB positioning networks | |
JP6572136B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, SECOND DEVICE, COMMUNICATION METHOD, AND COMPUTER PROGRAM | |
Li et al. | Maximum likelihood estimators of clock offset and skew under exponential delays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |