KR101468624B1 - 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법 - Google Patents

단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법 Download PDF

Info

Publication number
KR101468624B1
KR101468624B1 KR20130062074A KR20130062074A KR101468624B1 KR 101468624 B1 KR101468624 B1 KR 101468624B1 KR 20130062074 A KR20130062074 A KR 20130062074A KR 20130062074 A KR20130062074 A KR 20130062074A KR 101468624 B1 KR101468624 B1 KR 101468624B1
Authority
KR
South Korea
Prior art keywords
time
packet
probe packet
probe
value
Prior art date
Application number
KR20130062074A
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 KR20130062074A priority Critical patent/KR101468624B1/ko
Priority to US14/290,982 priority patent/US9559927B2/en
Priority to CN201410238312.6A priority patent/CN104219106B/zh
Application granted granted Critical
Publication of KR101468624B1 publication Critical patent/KR101468624B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 네트워크 상태 측정 시스템은, 탐사 패킷들을 전송하는 송신 단말기; 및상기 탐사 패킷들을 수신하여 각 탐사 패킷들의 단방향 여행 시간(One-way Trip Time: OTT)을 측정하고, 측정된 상기 단방향 여행 시간들의 평균값 및 상기 단방향 여행 시간들 중 최소값을 이용하여 큐잉 딜레이를 산출하는 수신 단말기를 포함한다.

Description

단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법{TERMINAL, SYSTEM AND METHOD FOR MEASURING NETWORK STATE USING THE SAME}
본 발명의 실시예는 네트워크 상태 측정 기술에 관한 것으로서, 보다 상세하게는 네트워크 상태를 정확하게 측정할 수 있는 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법에 관한 것이다.
네트워크 상태를 측정하는 방법 중 가장 널리 활용되는 방식이 큐잉 딜레이(Queueing Delay) 및 백로그 큐(Backlog Queue)를 추정하는 것이다. 여기서, 큐잉 딜레이(Queueing Delay)는 데이터 패킷이 라우터의 큐(Queue)에서 대기하는 시간을 말하고, 백로그 큐(Backlog Queue)는 라우터의 큐에 대기하고 있는 패킷량을 말한다.
기존의 큐잉 딜레이 및 백로그 큐를 추정하는 방식은 주로 TCP-Vegas 기법을 사용하였다. 이는 패킷 전송 시작 시점부터 측정된 RTT(Round Trip Time) 중 최소값(RTTmin)을 큐잉 딜레이가 0일때의 RTT인 것으로 가정한 것으로, 현재의 RTT(RTTcur)에서 최소값(RTTmin)을 뺀 값을 현재의 큐잉 딜레이로 추정하는 방식이다. 이러한 방식은 OS 커널에서 동작하는 TCP 프로토콜에 적용되는 것에는 적합하지만, 망 상황에 따라 RTT의 편차가 발생하는 무선망 및 큐잉 딜레이외에 프로세스 스위칭 등 프로세싱 시간 또는 소켓 버퍼(Socket Buffer)에 패킷이 대기하는 시간 등이 RTT에 추가로 반영되는 응용계층 프로그램 등에서는 RTT를 그대로 사용하는 경우, 큐잉 딜레이를 정확히 측정하기 어렵다는 문제점이 있다. 또한, 백로그 큐는 큐잉 딜레이와 수신단의 현재 수신률의 곱으로 산출되므로, 큐잉 딜레이의 오차가 백로그 큐에 그대로 전이되는 문제점이 있다.
따라서, 큐잉 딜레이 및 백로그 큐 추정 시 발생하는 오차를 최소화하여 네트워크 상태를 정확히 측정할 수 있는 방안이 요구된다.
본 발명의 실시예는 큐잉 딜레이의 오차를 최소화할 수 있는 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법을 제공하고자 한다.
본 발명의 일 실시예에 따른 네트워크 상태 측정 시스템은, 탐사 패킷들을 전송하는 송신 단말기; 및상기 탐사 패킷들을 수신하여 각 탐사 패킷들의 단방향 여행 시간(One-way Trip Time: OTT)을 측정하고, 측정된 상기 단방향 여행 시간들의 평균값 및 상기 단방향 여행 시간들 중 최소값을 이용하여 큐잉 딜레이를 산출하는 수신 단말기를 포함한다.
상기 단방향 여행 시간들의 평균값은, 하기의 수학식 1에 의해 산출한다.
(수학식 1)
SOTTM = (1-α)·SOTTM-1 + α·OTTM ,(0 ≤α≤ 1)
SOTTM: M번째 탐사 패킷까지의 단방향 여행 시간들의 평균값.
SOTTM-1: M-1번째 탐사 패킷까지의 단방향 여행 시간들의 평균값.
OTTM: M번째 탐사 패킷의 단방향 여행 시간
α: M번째 탐사 패킷의 단방향 여행 시간값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값.
삭제
상기 탐사 패킷은 유효 인증 필드를 포함하며, 상기 송신 단말기는, 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이를 기 설정된 제1 기준 시간(T1)과 비교하여 유효 인증값을 설정하고, 설정한 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록하여 전송한다.
상기 송신 단말기는, 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하는 경우 상기 유효 인증값을 폴스(False)로 설정하고, 상기 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1) 이하인 경우 상기 유효 인증값을 트루(True)로 설정한다.
상기 수신 단말기는, 수신한 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하고, 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정한다.
상기 제1 기준 시간(T1)은, 상기 송신 단말기의 프로세스 스케줄링 시간, 가비지 콜렉션(Garbage Collection) 평균 소요 시간, 및 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 설정된다.
상기 수신 단말기는, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정한다.
상기 수신 단말기는, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우 현재 탐사 패킷의 타임 스탬프값을 폐기한다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정된다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정된다.
상기 수신 단말기는, 기 설정된 크기의 윈도우에 포함되는 단방향 여행 시간값들 중 최소값을 상기 단방향 여행 시간들의 평균값을 구하는데 사용한다.
본 발명의 일 실시예에 따른 단말기는, 데이터 패킷을 외부 단말기로 전송하는 데이터 송신부; 유효 인증 필드가 추가된 탐사 패킷을 상기 외부 단말기로 전송하는 탐사 패킷 송신부; 및 상기 외부 단말기로부터 수신한 네트워크 상태 측정 변수에 따라 상기 데이터 송신부의 데이터 패킷 전송 속도를 제어하는 전송속도 제어부를 포함하고, 상기 탐사 패킷 송신부는, 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이를 기 설정된 제1 기준 시간(T1)과 비교하여 유효 인증값을 설정하고, 설정한 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록하여 전송한다.
상기 탐사 패킷 송신부는, 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하는 경우 상기 유효 인증값을 폴스(False)로 설정하고, 상기 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1) 이하인 경우 상기 유효 인증값을 트루(True)로 설정한다.
상기 제1 기준 시간(T1)은, 상기 단말기의 프로세스 스케줄링 시간, 가비지 콜렉션(Garbage Collection) 평균 소요 시간, 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 설정된다.
본 발명의 다른 실시예에 따른 단말기는, 탐사 패킷들을 수신하고, 수신한 상기 탐사 패킷들을 이용하여 단방향 여행 시간을 측정하는 탐사 패킷 수신부; 및상기 탐사 패킷 수신부로부터 전달받은 단방향 여행 시간들의 평균값을 구하고, 상기 단방향 여행 시간들의 평균값 및 상기 탐사 패킷 수신부로부터 전달받은 단방향 여행 시간 중 최소값을 이용하여 큐잉 딜레이를 산출하는 큐잉 딜레이 산출부를 포함한다.
상기 큐잉 딜레이 산출부는, 하기 수학식 2에 의해 상기 단방향 여행 시간들의 평균값을 산출한다.
(수학식 2)
SOTTM = (1-α)·SOTTM-1 + α·OTTM ,(0 ≤α≤ 1)
SOTTM: M번째 탐사 패킷까지의 단방향 여행 시간들의 평균값.
SOTTM-1: M-1번째 탐사 패킷까지의 단방향 여행 시간들의 평균값.
OTTM: M번째 탐사 패킷의 단방향 여행 시간
α: M번째 탐사 패킷의 단방향 여행 시간값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값.
상기 탐사 패킷 수신부는, 수신한 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하고, 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정한다.
상기 탐사 패킷 수신부는, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정한다.
상기 탐사 패킷 수신부는, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우 현재 탐사 패킷의 타임 스탬프값을 폐기한다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정된다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정된다.
상기 큐잉 딜레이 산출부는, 기 설정된 크기의 윈도우에 포함되는 단방향 여행 시간값들 중 최소값을 상기 단방향 여행 시간들의 평균값을 구하는데 사용한다.
본 발명의 또 다른 실시예에 따른 단말기는, 탐사 패킷들을 수신하고, 수신한 상기 탐사 패킷들을 이용하여 단방향 여행 시간을 측정하는 탐사 패킷 수신부; 및 상기 단방향 여행 시간을 이용하여 큐잉 딜레이를 산출하는 큐잉 딜레이 산출부를 포함하며, 상기 탐사 패킷 수신부는, 수신한 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하고, 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정한다.
본 발명의 또 다른 실시예에 따른 단말기는, 탐사 패킷들을 수신하고, 수신한 상기 탐사 패킷들을 이용하여 단방향 여행 시간을 측정하는 탐사 패킷 수신부; 및 상기 단방향 여행 시간을 이용하여 큐잉 딜레이를 산출하는 큐잉 딜레이 산출부를 포함하며, 상기 탐사 패킷 수신부는, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정한다.
상기 탐사 패킷 수신부는, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우 현재 탐사 패킷의 타임 스탬프값을 폐기한다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정된다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정된다.
본 발명의 일 실시예에 따른 네트워크 상태 측정 방법은, 송신 단말기가 탐사 패킷들을 전송하는 단계; 수신 단말기가 상기 탐사 패킷들을 수신하여 단방향 여행 시간을 측정하는 단계; 및 상기 수신 단말기가 상기 단방향 여행 시간들의 평균값을 구하고, 상기 단방향 여행 시간들의 평균값 및 상기 단방향 여행 시간 중 최소값을 이용하여 큐잉 딜레이를 산출하는 단계를 포함한다.
상기 단방향 여행 시간들의 평균값을 구하는 단계는, 하기의 수학식 3에 의해 산출한다.
(수학식 3)
SOTTM = (1-α)·SOTTM-1 + α·OTTM ,(0 ≤α≤ 1)
SOTTM: M번째 탐사 패킷까지의 단방향 여행 시간들의 평균값.
SOTTM-1: M-1번째 탐사 패킷까지의 단방향 여행 시간들의 평균값.
OTTM: M번째 탐사 패킷의 단방향 여행 시간
α: M번째 탐사 패킷의 단방향 여행 시간값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값.
상기 탐사 패킷들을 전송하는 단계는, 상기 송신 단말기가 상기 탐사 패킷에 유효 인증 필드를 추가하는 단계; 상기 송신 단말기가 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이를 기 설정된 제1 기준 시간(T1)과 비교하는 단계; 및 상기 송신 단말기가 상기 비교 결과에 따라 유효 인증값을 설정하고, 설정한 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록하여 전송하는 단계를 포함한다.
상기 단방향 여행 시간을 측정하는 단계는, 상기 수신 단말기가 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하는 단계; 및 상기 수신 단말기가 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정하는 단계를 포함한다.
상기 제1 기준 시간(T1)은, 상기 송신 단말기의 프로세스 스케줄링 시간, 가비지 콜렉션(Garbage Collection) 평균 소요 시간, 및 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 설정된다.
상기 단방향 여행 시간을 측정하는 단계는, 상기 수신 단말기가 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정하는 단계를 포함한다.
상기 단방향 여행 시간의 측정 여부를 결정하는 단계는, 상기 수신 단말기가 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인지 여부를 확인하는 단계; 및 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우, 상기 수신 단말기가 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하는 단계를 포함한다.
상기 단방향 여행 시간의 측정 여부를 결정하는 단계는, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우, 상기 수신 단말기가 현재 탐사 패킷의 타임 스탬프값을 폐기하는 단계를 포함한다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정된다.
상기 제2 기준 시간(T2)은, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정된다.
상기 단방향 여행 시간의 측정 여부를 결정하는 단계는, 상기 송신 단말기가 복수 개의 탐사 패킷들을 연속하여 전송하는 단계; 상기 수신 단말기가 상기 복수 개의 탐사 패킷들을 수신하고, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 각각 구하는 단계; 및 상기 수신 단말기가 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 구하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 상기 제2 기준 시간(T2)을 설정하는 단계를 포함한다.
상기 단방향 여행 시간들의 평균값을 구하는 단계는, 상기 수신 단말기가 기 설정된 크기의 윈도우에 포함되는 단방향 여행 시간값들 중 최소값을 추출하는 단계; 및 상기 수신 단말기가 추출한 상기 단방향 여행 시간의 최소값을 상기 단방향 여행 시간들의 평균값을 구하는데 사용하는 단계를 포함한다.
본 발명의 실시예에 의하면, 송신 단말기가 전송하는 탐사 패킷을 수신하여 단방향 여행 시간(One-way Trip Time: OTT)을 측정하고 이를 통해 네트워크 전송 속도를 산출함으로써, 네트워크 상태에 따라 그에 맞는 전송 속도로 데이터를 전송할 수 있게 된다.
또한, 송신 단말기에서 각 탐사 패킷에 이전 탐사 패킷의 유효 인증값을 추가하여 전송하고, 수신 단말기에서 유효 인증값이 트루(True)인 탐사 패킷의 타임 스탬프를 이용하여 단방향 여행 시간(OTT)을 산출함으로써, 송신 단말기에서 탐사 패킷에 타임 스탬프를 기록한 후 수신 단말기로 전송하기 전에 타작업이 수행되어 발생하는 오차를 방지할 수 있게 된다.
또한, 탐사 패킷 수신부가 제2 기준 시간(T2)을 설정하고, 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(DiffTime)가 제2 기준 시간(T2)을 초과하는 경우에만 단방향 여행 시간(OTT)을 산출함으로써, 탐사 패킷이 수신 단말기의 소켓 버퍼에 대기하는 시간으로 인해 발생하는 오차를 방지할 수 있게 된다.
또한, 큐잉 딜레이 산출부가 탐사 패킷 수신부로부터 전달받은 단방향 여행 시간(OTT)값들 중 최소값을 이용하여 단방향 여행 시간의 평균값(SOTT)을 산출함으로써, 수신 단말기의 소켓 버퍼에서 탐사 패킷을 읽은 시간과 현재 시간을 측정하는 사이에 타작업이 수행되어 발생하는 오차를 방지할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 네트워크 상태 측정 시스템을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 탐사 패킷의 구성을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 네트워크 상태 측정 시스템에서 큐잉 딜레이를 산출하는 과정을 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 송신 단말기 및 수신 단말기의 구성을 나타낸 도면.
도 5는 본 발명의 다른 실시예에 따른 탐사 패킷의 구성을 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른 큐잉 딜레이 산출부가 크기가 3인 윈도우를 이용하여 단방향 여행 시간(OTT)값들 중 최소값을 추출하는 상태를 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 수신 단말기의 소켓 버퍼에 탐사 패킷들이 대기하는 상태를 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서, 제1 오차 케이스에 의한 오차를 방지하는 경우를 나타낸 순서도.
도 9는 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서, 제2 오차 케이스에 의한 오차를 방지하는 경우를 나타낸 순서도.
도 10은 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서, 제3 오차 케이스에 의한 오차를 방지하는 경우를 나타낸 순서도.
도 11은 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서 제1 오차 케이스 내지 제3 오차 케이스에 의한 오차를 방지하는 시간상 흐름을 나타낸 도면.
이하, 도 1 및 도 11을 참조하여 본 발명의 단말기 및 이를 이용한 네트워크 상태 측정 시스템 및 방법에 대해 상세히 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 네트워크 상태 측정 시스템을 나타낸 도면이다.
도 1을 참조하면, 네트워크 상태 측정 시스템(100)은 송신 단말기(102) 및 수신 단말기(104)를 포함한다.
송신 단말기(102)는 탐사 패킷을 수신 단말기(104)로 전송한다. 이때, 송신 단말기(102)는 탐사 패킷을 주기적으로 수신 단말기(104)로 전송할 수 있다. 여기서, 송신 단말기(102)가 전송하는 탐사 패킷의 구성에 대해 도 2를 참조하여 살펴보면 다음과 같다.
도 2는 본 발명의 일 실시예에 따른 탐사 패킷의 구성을 나타낸 도면이다. 도 2를 참조하면, 탐사 패킷은 제1 헤더, 제2 헤더, 데이터, 타임 스탬프, 및 트레일러와 같은 필드를 포함할 수 있다. 제1 헤더는 네트워크 프로토콜 헤더로서, 네트워크 프로토콜 스택의 트랜스포트(Transport) 계층부터 피지컬(Physical) 계층에 필요한 헤더 정보를 포함한다. 제2 헤더는 응용 계층의 헤더로서, 송신 단말기(102)에서 패킷을 분리하여 전송하고, 수신 단말기(104)에서 수신한 각 패킷을 조합하는데 필요한 정보 등을 포함한다. 제2 헤더는 예를 들어, 각 패킷의 일련번호 및 데이터 사이즈 등의 정보를 포함할 수 있다. 여기서, 제1 헤더 및 제2 헤더는 하나의 헤더로 형성될 수 있다. 데이터 필드는 실제 전송되는 데이터를 포함한다. 타임 스탬프(Timestamp) 필드는 해당 패킷이 전송되는 시점의 시간 정보를 포함한다. 트레일러(Trailer) 필드는 네트워크 프로토콜 스택의 트레일러를 포함하나, 이에 한정되는 것은 아니며 응용 계층의 트레일러가 포함될 수도 있다.
송신 단말기(102)는 별도로 탐사 패킷을 생성하여 수신 단말기(104)로 전송할 수 있으나, 이에 한정되는 것은 아니며 해당 서비스에서 발생하는 데이터 패킷 자체를 탐사 패킷으로 사용할 수도 있다. 이때, 모든 데이터 패킷을 탐사 패킷으로 사용할 수도 있으나, 이에 한정되는 것은 아니며 데이터 패킷 중 일부를 탐사 패킷으로 사용할 수도 있다.
수신 단말기(104)는 송신 단말기(102)가 전송하는 탐사 패킷을 수신하여 단방향 여행 시간(One-way Trip Time: OTT)을 측정한 후, 측정한 단방향 여행 시간을 이용하여 네트워크 상태 측정 변수(예를 들어, 큐잉 딜레이, 백로그 큐, 전송 속도 등)를 산출한다. 수신 단말기(104)는 산출한 네트워크 상태 측정 변수를 송신 단말기(102)로 전송할 수 있다. 이 경우, 송신 단말기(102)는 네트워크 상태 측정 변수를 이용하여 데이터 패킷의 전송 속도를 제어하게 된다.
송신 단말기(102)에서 데이터 패킷의 전송 속도를 제어할 때는 순방향 큐잉 딜레이(즉, 송신 단말기(102)에서 수신 단말기(104)로 패킷을 전송할 때의 큐잉 딜레이)만을 고려하면 되므로, 수신 단말기(104)에서는 송신 단말기(102)로부터 수신한 탐사 패킷을 이용하여 단방향 여행 시간(OTT)를 측정하게 된다. 왕복 여행 시간(Round Trip Time: RTT)의 경우, 역방향 큐잉 딜레이(즉, 수신 단말기(104)에서 송신 단말기(102)로 패킷을 전송할 때의 큐잉 딜레이)도 포함하게 되므로, 왕복 여행 시간(RTT)보다는 단방향 여행 시간(OTT)을 사용하는 것이 보다 정확한 순방향 큐잉 딜레이를 구할 수 있게 된다.
구체적으로, 수신 단말기(104)는 송신 단말기(102)로부터 탐사 패킷을 수신하면, 탐사 패킷의 수신 시간에서 탐사 패킷의 타임 스탬프를 뺀 값을 현재 수신한 탐사 패킷의 단방향 여행 시간(OTTnew)으로 추정한다. 수신 단말기(104)는 현재 수신한 탐사 패킷의 단방향 여행 시간(OTTnew)과 송신 단말기(102)로부터 탐사 패킷을 수신한 시점부터 현재까지 측정된 단방향 여행 시간 중 최소값(OTTmin)을 비교하여 단방향 여행 시간의 최소값(OTTmin)을 갱신할 수 있다. 이때, 단방향 여행 시간의 최소값(OTTmin)을 큐잉 딜레이가 0일 때의 값으로 간주할 수 있다.
수신 단말기(104)는 현재 수신한 탐사 패킷의 큐잉 딜레이(Queueing Delay: QD)를 다음 수학식 1을 통해 구할 수 있다.
(수학식 1)
QD = OTTnew - OTTmin
즉, 수신 단말기(104)는 현재 수신한 탐사 패킷의 단방향 여행 시간(OTTnew)에서 단방향 여행 시간의 최소값(OTTmin)을 뺀 값을 현재 수신한 탐사 패킷의 큐잉 딜레이로 할 수 있다.
그러나, 탐사 패킷 한 개의 단위로 큐잉 딜레이를 구하는 경우, 오차가 발생할 확률이 높으므로, 수신 단말기(104)는 현재 수신한 탐사 패킷의 단방향 여행 시간(OTTnew) 대신 단방향 여행 시간의 평균값(SOTT)을 사용할 수 있다. 이 경우, 현재 수신한 M번째 탐사 패킷의 큐잉 딜레이(QDM)는 다음 수학식 2를 통해 구할 수 있다.
(수학식 2)
QDM = SOTTM - OTTmin
여기서, SOTTM는 탐사 패킷을 수신한 시점부터 현재 M번째 탐사 패킷까지 측정된 단방향 여행 시간의 평균값을 나타낸다. 그리고, SOTTM는 다음 수학식 3으로 나타낼 수 있다.
(수학식 3)
SOTTM = (1-α)·SOTTM-1 + α·OTTM (0 ≤α≤ 1)
여기서, α는 M번째 탐사 패킷의 단방향 여행 시간(OTT) 값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값이다.
도 3은 본 발명의 일 실시예에 따른 네트워크 상태 측정 시스템에서 큐잉 딜레이를 산출하는 과정을 도시한 도면이다.
도 3을 참조하면, 송신 단말기(102)이 탐사 패킷을 주기적으로 전송하면, 수신 단말기(104)가 탐사 패킷을 수신하여 큐잉 딜레이를 산출하게 된다. 송신 단말기(102)는 탐사 패킷을 전송할 때, 탐사 패킷에 타임 스탬프(Timestamp)를 기록하여 전송한다. 수신 단말기(104)는 M번째 탐사 패킷을 수신하는 경우, 탐사 패킷을 수신한 현재 시간(CurTimeM)에서 해당 탐사 패킷의 타임 스탬프(TimestampM)를 뺀 값으로 M번째 탐사 패킷의 단방향 여행 시간(OTTM)을 구한다. 그리고, 수신 단말기(104)는 M번째 탐사 패킷까지의 단방향 여행 시간의 최소값(OTTmin)을 구하고, 수학식 3을 이용하여 M번째 탐사 패킷의 단방향 여행 시간의 평균값(SOTTM)을 구한 며, 수학식 2를 이용하여 M번째 탐사 패킷의 큐잉 딜레이를 구하게 된다. 여기서, 첫번째 탐사 패킷의 경우, 기존의 단방향 여행 시간(OTT) 값이 없으므로, OTT1 = SOTT1으로 설정한 후, 두번째 탐사 패킷부터 수학식 3에 따라 M번째 탐사 패킷의 단방향 여행 시간의 평균값(SOTTM)을 구할 수 있다.
한편, 송신 단말기(102)에서 탐사 패킷을 전송하고, 수신 단말기(104)에서 탐사 패킷을 수신하여 네트워크 상태 측정 변수를 산출하는 과정에서, 수신 단말기(104)가 산출한 네트워크 상태 측정 변수에 오차가 발생할 수 있다. 즉, 송신 단말기(102) 및 수신 단말기(104)가 네트워크 상태 측정 동작을 수행하는 중에 운영체계(OS)에 의해 다른 프로세스로 프로세스 스위칭이 이루어지거나 비정기적으로 가비지 콜렉션(Garbage Collection)과 같은 작업이 이루어지는 경우, 소정의 대기 시간이 발생하게 되며 이러한 대기 시간이 단방향 여행 시간(OTT) 값에 반영되므로, 네트워크 상태 측정 변수에 오차가 발생하게 된다. 이하에서, 네트워크 상태 측정 변수에 오차가 발생하는 경우를 구체적으로 살펴보면 다음과 같다.
1) 송신 단말기(102)에서 탐사 패킷에 타임 스탬프를 기록한 후 수신 단말기(104)로 전송하기 전에, 프로세스 스위칭이나 가비지 콜렉션 등과 같은 타작업이 이루어지는 경우, 탐사 패킷에 기록된 타임 스탬프보다 수 ~ 수십 msec 이후에 탐사 패킷이 전송되므로, 수신 단말기(104)가 측정하는 단방향 여행 시간(OTT)에 오차가 생기게 된다(이하, "제1 오차 케이스"라 함).
2) 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에 대기하는 시간으로 인해 단방향 여행 시간(OTT)에 오차가 생길 수 있다. 즉, 수신 단말기(104)가 탐사 패킷을 수신하였으나, 순간적으로 타작업을 수행하거나 다른 탐사 패킷들이 소켓 버퍼에 쌓여 있어 바로 단방향 여행 시간(OTT)을 산출하지 못하고 소켓 버퍼에서 대기하는 경우, 수신 단말기(104)가 측정하는 단방향 여행 시간(OTT)에 오차가 생기게 된다(이하, "제2 오차 케이스"라 함).
예를 들어, 수신 단말기(104)에서 탐사 패킷을 수신하였으나 가비지 콜렉션이 발생하여 20ms 동안 작업이 중단된 경우, 해당 시간에 수신된 탐사 패킷들은 모두 수신 단말기(104)의 소켓 버퍼에 쌓여 대기하고 있게 된다. 이 경우, 수신 단말기(104)에서 단방향 여행 시간(OTT)을 측정할 때 소켓 대기 시간이 포함되므로 단방향 여행 시간(OTT)에 오차가 생기게 된다.
3) 수신 단말기(104)의 소켓 버퍼에서 탐사 패킷을 읽은 시간과 현재 시간을 측정하는 사이에 타작업이 수행되는 경우, 수신 단말기(104)가 측정하는 단방향 여행 시간(OTT)에 오차가 생기게 된다(이하, "제3 오차 케이스"라 함).
이하에서는, 본 발명의 일 실시예에 따른 네트워크 상태 측정 시스테(100)에서 이러한 오차를 최소화할 수 있는 방안을 살펴보도록 한다.
도 4는 본 발명의 일 실시예에 따른 송신 단말기 및 수신 단말기의 구성을 나타낸 도면이다.
도 4를 참조하면, 송신 단말기(102)는 데이터 분배부(111), 데이터 송신부(113), 탐사 패킷 송신부(115), 및 전송속도 제어부(117)를 포함한다.
데이터 분배부(111)는 수신 단말기(104)로 전송하고자 하는 데이터를 패킷 단위로 분할하는 역할을 한다. 여기서, 데이터 패킷의 전부 또는 일부는 탐사 패킷으로 사용될 수 있다. 이 경우, 데이터 분배부(111)는 분할한 패킷을 데이터 송신부(113) 및 탐사 패킷 송신부(115)로 각각 분배할 수 있다. 예를 들어, 총 패킷의 수가 NT이고, 이 중 탐사 패킷의 수가 NP(≤NT)인 경우를 가정하면, 탐사 패킷의 비율(RT)은 RT = NP/NT가 된다. 이 경우, 탐사 패킷은 총 패킷 중 1/RT 개당 1개 꼴로 전송된다. 탐사 패킷 송신부(115)에서 탐사 패킷을 동일한 간격으로 주기적으로 전송하는 경우, 데이터 분배부(111)는 탐사 패킷 송신부(115)에 한 개의 패킷을 보내고, 데이터 송신부(113)에 (1/RT -1)개의 패킷을 보내는 과정을 반복하게 된다. 여기서는, 데이터 패킷을 탐사 패킷으로 사용하는 것으로 설명하였으나, 이에 한정되는 것은 아니고, 탐사 패킷을 별도로 생성할 수도 있다.
데이터 송신부(113)는 데이터 분배부(111)에서 전달되는 데이터 패킷을 수신 단말기(104)로 전송하는 역할을 한다. 데이터 송신부(113)는 데이터 분배부(111)에서 전달되는 데이터 패킷에 헤더 정보를 추가하여 수신 단말기(104)로 전송할 수 있다.
탐사 패킷 송신부(115)는 데이터 분배부(111)에서 전달되는 패킷을 탐사 패킷으로 하여 수신 단말기(104)로 전송할 수 있다. 탐사 패킷 송신부(115)는 데이터 분배부(111)로부터 전달되는 패킷에 헤더를 추가하고 현재 시간을 타임 스탬프에 기록하여 수신 단말기(104)로 전송할 수 있다. 그러나, 이에 한정되는 것은 아니며 탐사 패킷 송신부(115)는 별도의 탐사 패킷을 생성하여 수신 단말기(104)로 전송할 수도 있다.
한편, 탐사 패킷 송신부(115)가 전송하는 탐사 패킷에는 제1 오차 케이스에 의한 오차를 방지하기 위해 유효 인증 필드가 더 포함될 수 있다. 즉, 도 5에 도시된 바와 같이, 탐사 패킷에는 유효 인증 필드가 추가될 수 있다. 여기서, 유효 인증 필드는 해당 탐사 패킷 직전에 전송되었던 탐사 패킷의 타임 스탬프 값의 유효성을 나타내기 위한 것이다.
예를 들어, 탐사 패킷 송신부(115)는 데이터 분배부(111)로부터 전달되는 패킷에 헤더를 추가하고 타임 스탬프를 기록하여 전송 소켓에 전달한 후 바로 현재 시간을 구한다. 다음으로, 탐사 패킷 송신부(115)는 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이를 구한다. 이때, 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하면, 해당 탐사 패킷에 타임 스탬프를 기록한 시점과 전송 소켓에 전달한 시점 사이에 타작업이 개입되었다고 판단하고 유효 인증값을 폴스(False)로 설정한다. 그리고, 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1) 이하이면, 해당 탐사 패킷에 타임 스탬프를 기록한 시점과 전송 소켓에 전달한 시점 사이에 타작업이 개입되지 않았다고 판단하고 유효 인증값을 트루(True)로 설정한다. 여기서, 유효 인증값은 다음 탐사 패킷을 전송할 때, 다음 탐사 패킷의 유효 인증 필드에 기록되게 된다. 즉, 현재 탐사 패킷의 타임 스탬프 값의 유효 여부는 다음 탐사 패킷의 유효 인증 필드에 기록되어 전송되게 된다. 여기서, 제1 기준 시간(T1)은 운영체계의 프로세스 스케줄링 시간, 가비지 콜렉션 평균 소요 시간, 및 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 산출할 수 있다.
탐사 패킷 송신부(115)는 제2 오차 케이스에 의한 오차를 방지하기 위해 네트워크 상태 측정 초반에 복수 개의 탐사 패킷을 연속적으로 전송할 수 있다. 이때, 네트워크 상태 측정 초반에 전송한 복수 개의 탐사 패킷은 테스트 패킷으로 사용될 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.
전송속도 제어부(117)는 수신 단말기(104)로부터 전송되는 네트워크 상태 측정 변수에 따라 데이터 송신부(113)에서 전송되는 데이터 패킷의 전송 속도를 제어할 수 있다. 여기서, 네트워크 상태 측정 변수는 큐잉 딜레이, 데이터 수신률, 백로그 큐, 및 전송 속도 중 적어도 하나일 수 있다. 예를 들어, 전송속도 제어부(117)는 수신 단말기(104)로부터 큐잉 딜레이 및 데이터 수신률을 수신하는 경우, 큐잉 딜레이 및 데이터 수신률을 이용하여 백로그 큐를 산출하고, 산출한 백로그 큐를 이용하여 전송 속도를 산출할 수 있다. 이때, 산출된 전송 속도에 따라 데이터 송신부(113)에서 전송되는 데이터 패킷의 전송 속도를 제어하게 된다. 그리고, 수신 단말기(104)로부터 전송 속도가 전송된 경우, 전송속도 제어부(117)는 전송된 전송 속도에 따라 데이터 송신부(113)에서 전송되는 데이터 패킷의 전송 속도를 제어하게 된다. 이 경우, 네트워크 상태에 따라 데이터 패킷의 전송 속도를 조절함으로써, 데이터 전송 효율을 향상시킬 수 있게 된다.
여기서는, 데이터 송신부(113) 및 탐사 패킷 송신부(115)를 별도의 구성으로 설명하였으나, 이에 한정되는 것은 아니며 데이터 송신부(113) 및 탐사 패킷 송신부(115)는 하나의 구성으로 구현할 수도 있다.
다시 도 4를 참조하면, 수신 단말기(104)는 데이터 수신부(121), 탐사 패킷 수신부(123), 데이터 취합부(125), 큐잉 딜레이 산출부(127), 백로그 큐 산출부(129), 및 전송속도 산출부(131)를 포함한다.
데이터 수신부(121)는 데이터 송신부(113)가 전송하는 데이터 패킷을 수신하여 데이터 취합부(125)로 전달한다.
탐사 패킷 수신부(123)는 탐사 패킷 송신부(115)가 전송하는 탐사 패킷을 수신하고, 수신한 탐사 패킷의 단방향 여행 시간(OTT)을 구하여 큐잉 딜레이 산출부(127)로 전달한다. 또한, 탐사 패킷 수신부(123)는 수신한 탐사 패킷을 데이터 취합부(125)로 전달할 수 있다.
구체적으로, 탐사 패킷 수신부(123)는 탐사 패킷을 수신하는 경우, 각 탐사 패킷을 수신한 현재 시간을 구하고 수신한 탐사 패킷의 유효 인증 필드를 확인하여 해당 탐사 패킷의 이전에 수신된 탐사 패킷의 유효성 여부를 판단한다. 예를 들어, 현재 수신한 탐사 패킷의 유효 인증 필드값이 트루(True)인 경우, 탐사 패킷 수신부(123)는 현재 수신한 탐사 패킷 이전에 수신된 탐사 패킷의 타임 스탬프(PreTimestamp) 값이 유효한 것으로 판단한다. 이때, 탐사 패킷 수신부(123)는 이전에 수신된 탐사 패킷의 수신 시간(PreTime)에서 이전에 수신된 탐사 패킷의 타임 스탬프(PreTimestamp) 값을 빼서 이전에 수신된 탐사 패킷의 단방향 여행 시간(OTT)을 구하고 이를 큐잉 딜레이 산출부(127)로 전달한다. 그리고, 현재 수신한 탐사 패킷의 유효 인증 필드값이 폴스(False)인 경우, 탐사 패킷 수신부(123)는 현재 수신한 탐사 패킷 이전에 수신된 탐사 패킷의 타임 스탬프(PreTimestamp) 값이 유효하지 않은 것으로 판단한다. 이때, 탐사 패킷 수신부(123)는 이전에 수신된 탐사 패킷의 경우, 단방향 여행 시간(OTT)을 구하는 샘플로 사용하지 않게 된다. 탐사 패킷 수신부(123)는 유효하지 않은 타임 스탬프 값은 폐기할 수 있다. 이와 같이, 탐사 패킷의 타임 스탬프 값이 유효한 경우에만 해당 탐사 패킷의 단방향 여행 시간(OTT)을 구하여 큐잉 딜레이 산출부(127)로 전달함으로써, 제1 오차 케이스에 의한 오차를 방지할 수 있게 된다.
한편, 탐사 패킷 수신부(123)는 제2 오차 케이스에 의한 오차(즉, 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에 대기하는 것으로 인해 발생하는 오차)를 방지하기 위해 다음과 같은 동작을 수행할 수 있다.
탐사 패킷 수신부(123)는 수신 단말기(104)의 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이를 구한다. 이때, 탐사 패킷 수신부(123)가 소켓 버퍼에서 탐사 패킷을 읽은 시간이 해당 탐사 패킷의 수신 시간이 된다. 즉, 본 명세서에서 탐사 패킷을 읽은 시간은 탐사 패킷의 수신 시간과 동일한 의미로 사용될 수 있다. 여기서, 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이가 기설정된 제2 기준 시간(T2) 미만인 경우, 탐사 패킷 수신부(123)는 현재 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에서 대기하고 있었던 것으로 판단하여 단방향 여행 시간(OTT)을 구하는 샘플로 사용하지 않는다.
이때, 제2 기준 시간(T2)은 탐사 패킷들 간의 송신 간격을 기준으로 일정 비율 W1(W1 <1)이 되도록 설정할 수 있다. 즉, 제2 기준 시간(T2)은 다음의 수학식 4와 같이 나타낼 수 있다.
(수학식 4)
T2 = DiffSendTimeN,N-1 × W1
여기서, DiffSendTimeN,N-1는 N번째 탐사 패킷의 송신 시간과 N-1번째 탐사 패킷의 송신 시간의 차이를 말한다.
일반적으로, 탐사 패킷들간의 송신 간격보다는 수신 단말기(104)에서 탐사 패킷들을 처리하는 시간이 짧으므로, 수신 단말기(104)의 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(즉, 탐사 패킷들간의 처리 간격)가 제2 기준 시간(T2) 이상이 된다는 것은, 현재 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에서 대기 시간 없이 바로 처리되었을 확률이 높게 된다. 따라서, 탐사 패킷 수신부(123)는 현재 탐사 패킷을 단방향 여행 시간(OTT)을 구하는 샘플로 사용하며, 현재 탐사 패킷의 단방향 여행 시간(OTT)을 큐잉 딜레이 산출부(127)로 전달하게 된다. 그러나, 수신 단말기(104)의 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이가 제2 기준 시간(T2) 미만인 경우는, 현재 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에서 소정 시간 대기한 후 처리되었을 확률이 높게 된다. 따라서, 탐사 패킷 수신부(123)는 현재 탐사 패킷을 단방향 여행 시간(OTT)을 구하는 샘플로 사용하지 않게 된다.
여기서는, 제2 기준 시간(T2)이 탐사 패킷들 간의 송신 간격을 기준으로 일정 비율 W1(W1 <1)이 되도록 설정(이하, 제1 방식에 의한 제2 기준 시간(T2))되는 것으로 설명하였으나, 이에 한정되는 것은 아니며 제2 기준 시간(T2)을 다른 방식으로 설정될 수도 있다. 예를 들어, 수신 단말기(104)의 소켓 버퍼에 복수 개의 탐사 패킷을 대기시키고, 탐사 패킷 수신부(123)가 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(즉, 탐사 패킷들 간의 처리 간격)값(DiffTime)을 각각 구한 후 그 최소값(DiffTimeMIN)에 일정 비율 W2(W2 > 1)을 곱한 값을 제2 기준 시간(T2)으로 설정할 수 있다. 이하, 이를 제2 방식에 의한 제2 기준 시간(T2)이라 한다.
제2 방식에 의한 제2 기준 시간(T2)을 설정하는 과정을 다시 설명하면, 탐사 패킷 송신부(115)는 제2 방식에 의한 제2 기준 시간(T2) 설정을 위해 네트워크 상태 측정 초반에 복수 개의 탐사 패킷을 연속적으로 수신 단말기(104)로 전송할 수 있다. 그러면, 탐사 패킷들이 수신 단말기(104)의 소켓 버퍼에 쌓이게 된다. 이때, 탐사 패킷 수신부(123)는 소켓 버퍼에 쌓여 있는 각 탐사 패킷들을 읽어들이면서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이가 최소가 되는 값(DiffTimeMIN)을 구하고, 그 최소값(DiffTimeMIN)에 일정 비율 W2(W2 > 1)을 곱한 값을 제2 기준 시간(T2)으로 설정할 수 있다.
이와 같이, 제2 방식에 의한 제2 기준 시간(T2)을 설정한 후, 탐사 패킷 수신부(123)는 수신 단말기(104)의 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이를 구한다. 이때, 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이가 제2 방식에 의한 제2 기준 시간(T2) 이상이 되는 경우, 탐사 패킷 수신부(123)는 현재 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에서 대기 시간 없이 바로 처리되었을 확률이 높은 것으로 판단하여 현재 탐사 패킷을 단방향 여행 시간(OTT)을 구하는 샘플로 사용한다. 반면, 수신 단말기(104)의 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이가 제2 방식에 의한 제2 기준 시간(T2) 미만인 경우, 탐사 패킷 수신부(123)는 현재 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에서 소정 시간 대기한 후 처리되었을 확률이 높은 것으로 판단하여, 현재 탐사 패킷을 단방향 여행 시간(OTT)을 구하는 샘플로 사용하지 않게 된다. 한편, 탐사 패킷 수신부(123)는 제1 방식에 의한 제2 기준 시간 및 제2 방식에 의한 제2 기준 시간 중 최대값을 제2 기준 시간(T2)으로 설정할 수도 있다.
한편, 송신 단말기(102)에서 데이터 패킷을 모두 탐사 패킷으로 사용하거나 탐사 패킷들 간의 간격이 매우 짧은 경우, 송신 단말기(102)에서 전송된 탐사 패킷들은 대부분 수신 단말기(104)의 소켓 버퍼에서 대기하고 있게 된다. 이 경우, 탐사 패킷 수신부(123)에서 제2 기준 시간(T2)을 이용하여 단방향 여행 시간(OTT)을 구하게 되면, 활용 가능한 탐사 패킷의 수가 매우 적어지게 된다. 이 경우, 탐사 패킷 수신부(123)는 제2 오차 케이스에 의한 오차 방지 동작은 수행하지 않고, 제1 오차 케이스에 의한 오차 방지 동작만 수행할 수 있다. 즉, 탐사 패킷 수신부(123)는 제2 오차 케이스에 의한 오차 방지 동작 없이, 탐사 패킷의 타임 스탬프 값이 유효한지 여부만 판단하여, 타임 스탬프 값이 유요한 탐사 패킷의 단방향 여행 시간(OTT)을 큐잉 딜레이 산출부(127)로 전달할 수 있다.
데이터 취합부(125)는 데이터 수신부(121) 및 탐사 패킷 수신부(123)로부터 수신한 데이터 패킷 및 탐사 패킷에 포함된 데이터를 추출하고, 데이터 패킷 및 탐사 패킷의 헤더 정보를 이용하여 추출한 각 데이터를 원래의 순서에 맞게 재조합한다. 이 경우, 송신 단말기(102)의 원본 데이터와 동일한 데이터가 구성되게 된다.
큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 전달받은 각 탐사 패킷의 단방향 여행 시간(OTT)을 이용하여 해당 탐사 패킷의 큐잉 딜레이를 산출한다. 이때, 큐잉 딜레이 산출부(127)는 수학식 2 및 수학식 3을 이용하여 탐사 패킷의 큐잉 딜레이를 산출할 수 있다.
큐잉 딜레이 산출부(127)는 제3 오차 케이스에 의한 오차(즉, 수신 단말기(104)의 소켓 버퍼에서 탐사 패킷을 읽은 시간과 현재 시간을 측정하는 사이에 타작업이 수행되어 발생하는 오차)를 방지하기 위해 다음과 같은 동작을 수행할 수 있다. 즉, 큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 제1 오차 케이스에 의한 오차 및 제2 오차 케이스에 의한 오차가 배제된 탐사 패킷의 타임 스탬프 값으로 산출된 단방향 여행 시간(OTT)값을 전달받게 된다. 그러나, 수신 단말기(104)의 소켓 버퍼에서 탐사 패킷을 읽은 시간과 현재 시간을 측정하는 사이에 타작업이 수행된 경우, 탐사 패킷 수신부(123)로부터 전달받은 단방향 여행 시간(OTT)값에는 제3 오차 케이스에 의한 오차가 포함되게 된다.
이에, 제3 오차 케이스에 의한 오차를 제거하기 위해, 큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 전달받은 소정 개수의 단방향 여행 시간(OTT)값들 중 최소값만을 이용하여 단방향 여행 시간의 평균값(SOTT)을 구하는 방식을 사용한다. 이는 1) 단방향 여행 시간(OTT)의 오차는 항상 과대 추정을 유발하고 과소 추정을 유발하는 경우는 없다는 점, 2) 과대 추정의 원인이 다른 프로세스의 개입이므로 연속적으로 과대 추정이 발생하는 경우는 드물다는 분석을 바탕으로 한 것이다.
구체적으로, 큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 전달받은 단방향 여행 시간(OTT)값들을 모두 사용하는 것이 아니라, 일정 크기(N)의 윈도우를 두고 윈도우 내에 포함되는 단방향 여행 시간(OTT)값들 중 최소값만을 이용하여 단방향 여행 시간의 평균값(SOTT)을 산출할 수 있다.
도 6은 본 발명의 일 실시예에 따른 큐잉 딜레이 산출부가 크기가 3인 윈도우를 이용하여 단방향 여행 시간(OTT)값들 중 최소값을 추출하는 상태를 나타낸 도면이다.
도 6의 (a)를 참조하면, 큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 M번째 탐사 패킷, M+1번째 탐사 패킷, M+2번째 탐사 패킷, M+3번째 탐사 패킷, M+4번째 탐사 패킷의 단방향 여행 시간(OTT)을 순차적으로 전달받을 수 있다. 여기서, 크기가 3인 윈도우는 탐사 패킷 수신부(123)로부터 최근 전달받은 3개의 단방향 여행 시간값(즉, M+2번째 탐사 패킷, M+3번째 탐사 패킷, 및 M+4번째 탐사 패킷의 단방향 여행 시간값)에 걸쳐 있을 수 있다.
큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 M+4번째 탐사 패킷의 단방향 여행 시간(OTT)이 전달되는 경우, M+4번째 탐사 패킷의 단방향 여행 시간(OTT)값을 단방향 여행 시간의 평균값(SOTT)을 산출하는데 바로 이용하지 않고, 윈도우 내에 포함된 3개의 단방향 여행 시간값들 중 최소값을 갖는 M+2번째 탐사 패킷의 단방향 여행 시간(OTT)값(즉, 71ms)를 수학식 3에 대입하여 단방향 여행 시간의 평균값(SOTT)을 산출한다.
도 6의 (b)를 참조하면, 탐사 패킷 수신부(123)로부터 M+5번째 탐사 패킷의 단방향 여행 시간(OTT)이 전달되는 경우, 크기가 3인 윈도우는 탐사 패킷 수신부(123)로부터 최근 전달받은 3개의 단방향 여행 시간값(즉, M+3번째 탐사 패킷, M+4번째 탐사 패킷, 및 M+5번째 탐사 패킷의 단방향 여행 시간값)을 포함하도록 이동하게 된다. 이 경우, 큐잉 딜레이 산출부(127)는 윈도우 내에 포함된 3개의 단방향 여행 시간값들 중 최소값을 갖는 M+5번째 탐사 패킷의 단방향 여행 시간(OTT)값(즉, 72ms)를 수학식 3에 대입하여 단방향 여행 시간의 평균값(SOTT)을 산출하게 된다.
이러한 방식을 사용하면 윈도우의 크기(N)에 따라 최대 N-1개의 연속적인 오차가 포함된 단방향 여행 시간(OTT)값을 차단하여 제3 오차 케이스에 의한 오차를 방지할 수 있게 된다. 다만, 큐잉 딜레이가 증가하고 있는 추세에서는 단방향 여행 시간(OTT)에 오차가 포함되어 있지 않더라도 항상 N-1개의 탐사 패킷 만큼 지연되어 단방향 여행 시간의 평균값(SOTT)을 산출하게 되므로, 윈도우의 크기를 지나치게 크게 설정하지 않아야 하며, 연속된 오차가 발생하는 경우의 빈도에 따라 윈도우의 크기를 조정하여야 한다.
한편, 탐사 패킷 수신부(123)로부터 제2 오차 케이스에 의한 오차 방지 동작 없이, 타임 스탬프 값이 유요한 탐사 패킷의 단방향 여행 시간(OTT)이 전달되는 경우, 큐잉 딜레이 산출부(127)는 기 설정된 시간 동안 수집된 단방향 여행 시간(OTT)들 중 최소값을 이용하여 단방향 여행 시간의 평균값(SOTT)을 산출할 수 있다.
도 7은 본 발명의 일 실시예에 따른 수신 단말기의 소켓 버퍼에 탐사 패킷들이 대기하는 상태를 나타낸 도면이다.
도 7을 참조하면, 송신 단말기(102)에서 데이터 패킷을 모두 탐사 패킷으로 사용하거나 탐사 패킷들 간의 간격이 매우 짧은 경우, 송신 단말기(102)에서 전송된 탐사 패킷들은 대부분 수신 단말기(104)의 소켓 버퍼에서 대기하게 된다. 여기서, 각 탐사 패킷들의 도착 시간을 t ms를 기준으로 나타내었고, 각 탐사 패킷들이 1 ms 간격으로 도착된 경우를 도시하였다. 괄호 안은 해당 탐사 패킷의 대기 시간을 나타낸다.
이와 같이, 수신 단말기(104)의 소켓 버퍼에 탐사 패킷들이 쌓여 대기하는 경우, 모든 탐사 패킷을 큐잉 딜레이 산출에 반영하면 평균 4ms의 오차가 유입되어 큐잉 딜레이의 과대 추정이 발생하게 된다. 이에, 큐잉 딜레이 산출부(127)는 기 설정된 시간 동안 수집된 단방향 여행 시간(OTT)들 중 최소값을 이용하여 단방향 여행 시간의 평균값(SOTT)을 산출함으로써, 소켓 버퍼의 대기 시간으로 인한 오차를 최소화 할 수 있게 된다.
백로그 큐 산출부(129)는 큐잉 딜레이 산출부(127)가 산출한 큐잉 딜레이를 이용하여 백로그 큐를 산출한다. 백로그 큐 산출부(129)는 소정 기간 동안의 데이터 수신률에 큐잉 딜레이를 곱하여 백로그 큐를 산출할 수 있다. 여기서, 소정 기간은 패킷의 개수 단위로 설정할 수도 있고, 시간 단위로 설정할 수도 있다.
전송 속도 산출부(131)는 백로그 큐 산출부(129)가 산출한 백로그 큐를 이용하여 전송 속도를 산출한다. 전송 속도 산출부(131)는 산출한 전송 속도를 송신 단말기(102)로 전송할 수 있다. 여기서는, 전송 속도 산출부(131)가 산출한 전송 속도를 송신 단말기(102)로 전송하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 큐잉 딜레이 및 데이터 수신률을 송신 단말기(102)로 전송할 수도 있다.
또한, 여기서는 데이터 수신부(121) 및 탐사 패킷 수신부(123)를 별도의 구성으로 설명하였으나, 이에 한정되는 것은 아니며 데이터 수신부(121) 및 탐사 패킷 수신부(123)는 하나의 구성으로 구현할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서, 제1 오차 케이스에 의한 오차를 방지하는 경우를 나타낸 순서도이다.
도 8을 참조하면, 탐사 패킷 송신부(115)는 탐사 패킷에 유효 인증 필드를 추가하고 타임 스탬프를 기록한다(S 101). 이때, 탐사 패킷은 데이터 분배부(111)에서 전달된 데이터 패킷일 수도 있고, 탐사 패킷 송신부(115)가 별도로 생성한 것일 수도 있다.
다음으로, 탐사 패킷 송신부(115)는 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이를 구하고, 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하는지 여부를 확인한다(S 103).
단계 S 103의 확인 결과, 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하는 경우, 탐사 패킷 송신부(115)는 유효 인증값을 폴스(False)로 설정하고, 해당 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록한다(S 105).
단계 S 103의 확인 결과, 현재 시간과 해당 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하지 않는 경우, 탐사 패킷 송신부(115)는 유효 인증값을 트루(True)로 설정하고, 해당 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록한다(S 107).
탐사 패킷 송신부(115)는 각 탐사 패킷에 대하여 단계 S 101 내지 단계 S 107의 과정을 수행한 후, 각 탐사 패킷을 수신 단말기(104)로 전송한다. 그러면, 수신 단말기(104)의 탐사 패킷 수신부(123)가 각 탐사 패킷을 수신하게 된다(S 109). 이때, 탐사 패킷 수신부(123)는 각 탐사 패킷의 수신 시간을 구하여 저장하게 된다.
다음으로, 탐사 패킷 수신부(123)가 현재 수신한 탐사 패킷의 유효 인증값이 트루(True)인지 여부를 확인한다(S 111).
단계 S 111의 확인 결과, 현재 수신한 탐사 패킷의 유효 인증값이 트루(True)인 경우, 탐사 패킷 수신부(123)는 이전 탐사 패킷의 타임 스탬프값이 유효한 것으로 판단하고, 이전 탐사 패킷의 수신 시간에서 이전 탐사 패킷의 타임 스탬프 값을 빼어 단방향 여행 시간(OTT)을 산출한다(S 113). 탐사 패킷 수신부(123)는 산출한 단방향 여행 시간(OTT)을 큐잉 딜레이 산출부(127)로 전달한다(S 115).
단계 S 111의 확인 결과, 현재 수신한 탐사 패킷의 유효 인증값이 트루(True)가 아닌 경우(즉, 폴스(False)인 경우), 탐사 패킷 수신부(123)는 이전 탐사 패킷의 타임 스탬프값이 유효하지 않은 것으로 판단하고, 해당 탐사 패킷을 데이터 취합부(125)로 전달한다(S 117). 이때, 해당 탐사 패킷은 단방향 여행 시간(OTT)을 구하는 샘플로 사용되지 않게 된다.
이와 같이, 송신 단말기(102)에서 각 탐사 패킷에 이전 탐사 패킷의 유효 인증값을 추가하여 전송하고, 수신 단말기(104)에서 유효 인증값이 트루(True)인 탐사 패킷의 타임 스탬프를 이용하여 단방향 여행 시간(OTT)을 산출함으로써, 제1 오차 케이스에 의한 오차(즉, 송신 단말기(102)에서 탐사 패킷에 타임 스탬프를 기록한 후 수신 단말기(104)로 전송하기 전에 타작업이 수행되어 발생하는 오차)를 방지할 수 있게 된다.
도 9는 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서, 제2 오차 케이스에 의한 오차를 방지하는 경우를 나타낸 순서도이다.
도 9를 참조하면, 탐사 패킷 수신부(123)가 제2 기준 시간(T2)을 설정한다(S 201). 이때, 탐사 패킷 수신부(123)는 탐사 패킷들 간의 송신 간격에 일정 비율 W1(W1 <1)을 곱하여 제2 기준 시간(T2)을 설정할 수 있다(제1 방식에 의한 제2 기준 시간). 그리고, 탐사 패킷 수신부(123)는 수신 단말기(104)의 소켓 버퍼에 쌓여 있는 각 탐사 패킷들을 읽어들이면서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이가 최소가 되는 값(DiffTimeMIN)을 구하고, 그 최소값(DiffTimeMIN)에 일정 비율 W2(W2 > 1)을 곱한 값을 제2 기준 시간(T2)으로 설정할 수 있다(제2 방식에 의한 제2 기준 시간). 또한, 탐사 패킷 수신부(123)는 제1 방식에 의한 제2 기준 시간 및 제2 방식에 의한 제2 기준 시간 중 최대값을 제2 기준 시간(T2)으로 설정할 수도 있다.
다음으로, 탐사 패킷 수신부(123)가 송신 단말기(102)가 전송하는 탐사 패킷들을 수신한다(S 203).
다음으로, 탐사 패킷 수신부(123)가 수신 단말기(104)의 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(DiffTime)를 구한다(S 205).
다음으로, 탐사 패킷 수신부(123)가 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(DiffTime)가 기 설정된 제2 기준 시간(T2)을 초과하는지 여부를 확인한다(S 207).
단계 S 207의 확인 결과, 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(DiffTime)가 기 설정된 제2 기준 시간(T2)을 초과하는 경우, 탐사 패킷 수신부(123)는 해당 탐사 패킷이 소켓 버퍼에서 대기한 시간이 없는 것으로 판단하고, 해당 탐사 패킷의 수신 시간에서 해당 탐사 패킷의 타임 스탬프 값을 빼어 단방향 여행 시간(OTT)을 산출한다(S 209). 탐사 패킷 수신부(123)는 산출한 단방향 여행 시간(OTT)을 큐잉 딜레이 산출부(127)로 전달한다(S 211).
단계 S 207의 확인 결과, 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(DiffTime)가 기 설정된 제2 기준 시간(T2)을 초과하지 않는 경우, 탐사 패킷 수신부(123)는 해당 탐사 패킷이 소켓 버퍼에서 대기한 시간이 있는 것으로 판단하고, 해당 탐사 패킷을 데이터 취합부(125)로 전달한다(S 213). 이때, 해당 탐사 패킷은 단방향 여행 시간(OTT)을 구하는 샘플로 사용되지 않게 된다.
이와 같이, 탐사 패킷 수신부(123)가 제2 기준 시간(T2)을 설정하고, 소켓 버퍼에서 이전 탐사 패킷을 읽은 시간과 현재 탐사 패킷을 읽은 시간과의 차이(DiffTime)가 제2 기준 시간(T2)을 초과하는 경우에만 단방향 여행 시간(OTT)을 산출함으로써, 제2 오차 케이스에 의한 오차(즉, 탐사 패킷이 수신 단말기(104)의 소켓 버퍼에 대기하는 시간으로 인해 발생하는 오차)를 방지할 수 있게 된다.
도 10은 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서, 제3 오차 케이스에 의한 오차를 방지하는 경우를 나타낸 순서도이다.
도 10을 참조하면, 큐잉 딜레이 산출부(127)가 윈도우의 크기(N)를 설정한다(S 301). 이때, 큐잉 딜레이 산출부(127)는 연속된 오차가 발생하는 경우의 빈도에 따라 윈도우의 크기(N)를 설정할 수 있다.
다음으로, 큐잉 딜레이 산출부(127)는 탐사 패킷 수신부(123)로부터 전달받은 단방향 여행 시간(OTT)값들 중 최소값을 이용하여 단방향 여행 시간의 평균값(SOTT)을 산출한다(S 303). 즉, 큐잉 딜레이 산출부(127)가 하기의 수학식 5를 이용하여 단방향 여행 시간의 새로운 평균값(SOTTNEW)을 구한다고 할때, 탐사 패킷 수신부(123)로부터 전달받은 단방향 여행 시간(OTT)값들 중 최소값을 OTTNEW에 대입하여 단방향 여행 시간의 새로운 평균값(SOTTNEW)을 구하게 된다.
(수학식 5)
SOTTNEW = (1-α)·SOTTOLD + α·OTTNEW (0 ≤α≤ 1)
다음으로, 큐잉 딜레이 산출부(127)가 단방향 여행 시간의 새로운 평균값(SOTTNEW)과 단방향 여행 시간 중 최소값(OTTmin)의 차이를 통해 큐잉 딜레이를 산출한다(S 305).
이와 같이, 큐잉 딜레이 산출부(127)가 탐사 패킷 수신부(123)로부터 전달받은 단방향 여행 시간(OTT)값들 중 최소값을 이용하여 단방향 여행 시간의 평균값(SOTT)을 산출함으로써, 수신 단말기(104)의 소켓 버퍼에서 탐사 패킷을 읽은 시간과 현재 시간을 측정하는 사이에 타작업이 수행되어 발생하는 오차를 방지할 수 있게 된다.
도 11은 본 발명의 일 실시예에 따른 네트워크 상태 측정 방법에서 제1 오차 케이스 내지 제3 오차 케이스에 의한 오차를 방지하는 시간상 흐름을 나타낸 도면이다.
도 11을 참조하면, 탐사 패킷 송신부(115)는 M번째 탐사 패킷을 보낼때마다 M번째 탐사 패킷의 유효 인증 필드에 M-1번째 탐사 패킷의 타임 스탬프값의 유효성 여부를 나타내는 유효 인증값을 기록하여 탐사 패킷 수신부(123)로 전송한다. 그러면, 탐사 패킷 수신부(123)는 현재 수신한 M번째 탐사 패킷에 포함된 유효 인증값을 통해 M-1번째 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하게 된다.
첫번째 탐사 패킷을 수신한 경우, 탐사 패킷 수신부(123)는 유효 여부를 확인할 이전 탐사 패킷이 없으므로, 첫번째 탐사 패킷의 수신 시간(CurTime1)과 첫번째 탐사 패킷의 타임 스탬프값(Timestamp1)을 저장해둔다.
두번째 탐사 패킷을 수신한 경우, 두번째 탐사 패킷의 유효 인증 필드에 폴스(False)가 기록되어 있으므로, 탐사 패킷 수신부(123)는 첫번째 탐사 패킷에 제1 오차 케이스에 의한 오차가 포함된 것으로 판단하여 첫번째 탐사 패킷의 타임 스탬프값(Timestamp1)을 폐기한다.
세번째 탐사 패킷을 수신한 경우, 세번째 탐사 패킷의 유효 인증 필드에 트루(True)가 기록되어 있으므로, 탐사 패킷 수신부(123)는 두번째 탐사 패킷에 제1 오차 케이스에 의한 오차가 포함되지 않은 것으로 판단한다. 즉, 두번째 탐사 패킷의 타임 스탬프(Timestamp2)값이 유효한 것으로 판단한다. 그리고, 두번째 탐사 패킷의 수신 시간(CurTime2)과 첫번째 탐사 패킷의 수신 시간(CurTime1)의 차이가 기 설정된 제2 기준 시간(T2)을 초과하므로, 탐사 패킷 수신부(123)는 두번째 탐사 패킷에 제2 오차 케이스에 의한 오차가 포함되지 않은 것으로 판단한다. 이때, 탐사 패킷 수신부(123)는 두번째 탐사 패킷의 수신 시간(CurTime2)과 두번째 탐사 패킷의 타임 스탬프(Timestamp2)의 차이를 통해 제1 단방향 여행 시간(OTT1)을 구하여 큐잉 딜레이 산출부(127)로 전달하게 된다. 큐잉 딜레이 산출부(127)는 제1 단방향 여행 시간(OTT1)이 첫번째 단방향 여행 시간값이므로 제1 단방향 여행 시간(OTT1)을 제1 단방향 여행 시간 평균값(SOTT1)으로 설정하게 된다.
네번째 탐사 패킷을 수신한 경우, 네번째 탐사 패킷의 유효 인증 필드에 트루(True)가 기록되어 있으므로, 탐사 패킷 수신부(123)는 세번째 탐사 패킷에 제1 오차 케이스에 의한 오차가 포함되지 않은 것으로 판단한다. 즉, 세번째 탐사 패킷의 타임 스탬프(Timestamp3)값이 유효한 것으로 판단한다. 그러나, 세번째 탐사 패킷의 수신 시간(CurTime3)과 두번째 탐사 패킷의 수신 시간(CurTime2)의 차이가 기 설정된 제2 기준 시간(T2)을 초과하지 않으므로, 탐사 패킷 수신부(123)는 세번째 탐사 패킷에 제2 오차 케이스에 의한 오차가 포함된 것으로 판단하고, 세번째 탐사 패킷의 타임 스탬프(Timestamp3)값을 폐기한다.
다섯번째 탐사 패킷을 수신한 경우, 다섯번째 탐사 패킷의 유효 인증 필드에 트루(True)가 기록되어 있으므로, 탐사 패킷 수신부(123)는 네번째 탐사 패킷에 제1 오차 케이스에 의한 오차가 포함되지 않은 것으로 판단한다. 즉, 네번째 탐사 패킷의 타임 스탬프(Timestamp4)값이 유효한 것으로 판단한다. 그리고, 네번째 탐사 패킷의 수신 시간(CurTime4)과 세번째 탐사 패킷의 수신 시간(CurTime3)의 차이가 기 설정된 제2 기준 시간(T2)을 초과하므로, 탐사 패킷 수신부(123)는 네번째 탐사 패킷에 제2 오차 케이스에 의한 오차가 포함되지 않은 것으로 판단한다. 이때, 탐사 패킷 수신부(123)는 네번째 탐사 패킷의 수신 시간(CurTime4)과 네번째 탐사 패킷의 타임 스탬프(Timestamp4)의 차이를 통해 제2 단방향 여행 시간(OTT2)을 구하여 큐잉 딜레이 산출부(127)로 전달하게 된다. 이 경우, 큐잉 딜레이 산출부(127)에는 제1 단방향 여행 시간(OTT1)과 제2 단방향 여행 시간(OTT2)이라는 두 개의 단방향 여행 시간(OTT) 샘플이 있게 되므로, 큐잉 딜레이 산출부(127)는 제1 단방향 여행 시간(OTT1)과 제2 단방향 여행 시간(OTT2) 중 최소값을 이용하여 제2 단방향 여행 시간 평균값(SOTT2)을 구하게 된다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 네트워크 상태 측정 시스템
102: 송신 단말기 104: 수신 단말기
111: 데이터 분배부 113: 데이터 송신부
115: 탐사 패킷 송신부 117: 전송속도 제어부
121: 데이터 수신부 123: 탐사 패킷 수신부
125: 데이터 취합부 127: 큐잉 딜레이 산출부
129: 백로그 큐 산출부 131: 전송속도 산출부

Claims (39)

  1. 탐사 패킷들을 전송하는 송신 단말기; 및
    상기 탐사 패킷들을 수신하여 각 탐사 패킷들의 단방향 여행 시간(One-way Trip Time: OTT)을 측정하고, 측정된 상기 단방향 여행 시간들의 평균값 및 상기 단방향 여행 시간들 중 최소값을 이용하여 큐잉 딜레이를 산출하는 수신 단말기를 포함하는, 네트워크 상태 측정 시스템.
  2. 제1항에 있어서,
    상기 단방향 여행 시간들의 평균값은, 하기의 수학식 1에 의해 산출하는, 네트워크 상태 측정 시스템.
    (수학식 1)
    SOTTM = (1-α)·SOTTM-1 + α·OTTM ,(0 ≤α≤ 1)
    SOTTM: M번째 탐사 패킷까지의 단방향 여행 시간들의 평균값
    SOTTM-1: M-1번째 탐사 패킷까지의 단방향 여행 시간들의 평균값
    OTTM: M번째 탐사 패킷의 단방향 여행 시간
    α: M번째 탐사 패킷의 단방향 여행 시간값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값.
  3. 제1항에 있어서,
    상기 탐사 패킷은 유효 인증 필드를 포함하며,
    상기 송신 단말기는,
    상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이를 기 설정된 제1 기준 시간(T1)과 비교하여 유효 인증값을 설정하고, 설정한 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록하여 전송하는, 네트워크 상태 측정 시스템.
  4. 제3항에 있어서,
    상기 송신 단말기는,
    상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하는 경우 상기 유효 인증값을 폴스(False)로 설정하고, 상기 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1) 이하인 경우 상기 유효 인증값을 트루(True)로 설정하는, 네트워크 상태 측정 시스템.
  5. 제3항에 있어서,
    상기 수신 단말기는,
    수신한 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하고, 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정하는, 네트워크 상태 측정 시스템.
  6. 제3항에 있어서,
    상기 제1 기준 시간(T1)은,
    상기 송신 단말기의 프로세스 스케줄링 시간, 가비지 콜렉션(Garbage Collection) 평균 소요 시간, 및 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 설정되는, 네트워크 상태 측정 시스템.
  7. 제1항에 있어서,
    상기 수신 단말기는,
    이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정하는, 네트워크 상태 측정 시스템.
  8. 제7항에 있어서,
    상기 수신 단말기는,
    상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우 현재 탐사 패킷의 타임 스탬프값을 폐기하는, 네트워크 상태 측정 시스템.
  9. 제7항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정되는, 네트워크 상태 측정 시스템.
  10. 제7항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정되는, 네트워크 상태 측정 시스템.
  11. 제1항에 있어서,
    상기 수신 단말기는,
    기 설정된 크기의 윈도우에 포함되는 단방향 여행 시간값들 중 최소값을 상기 단방향 여행 시간들의 평균값을 구하는데 사용하는, 네트워크 상태 측정 시스템.
  12. 데이터 패킷을 외부 단말기로 전송하는 데이터 송신부;
    유효 인증 필드가 추가된 탐사 패킷을 상기 외부 단말기로 전송하는 탐사 패킷 송신부; 및
    상기 외부 단말기로부터 수신한 네트워크 상태 측정 변수에 따라 상기 데이터 송신부의 데이터 패킷 전송 속도를 제어하는 전송속도 제어부를 포함하고,
    상기 탐사 패킷 송신부는, 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이를 기 설정된 제1 기준 시간(T1)과 비교하여 유효 인증값을 설정하고, 설정한 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록하여 전송하는, 단말기.
  13. 제12항에 있어서,
    상기 탐사 패킷 송신부는,
    상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1)을 초과하는 경우 상기 유효 인증값을 폴스(False)로 설정하고, 상기 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이가 기 설정된 제1 기준 시간(T1) 이하인 경우 상기 유효 인증값을 트루(True)로 설정하는, 단말기.
  14. 제12항에 있어서,
    상기 제1 기준 시간(T1)은,
    상기 단말기의 프로세스 스케줄링 시간, 가비지 콜렉션(Garbage Collection) 평균 소요 시간, 및 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 설정되는, 단말기.
  15. 탐사 패킷들을 수신하고, 수신한 상기 탐사 패킷들을 이용하여 단방향 여행 시간을 측정하는 탐사 패킷 수신부; 및
    상기 탐사 패킷 수신부로부터 전달받은 단방향 여행 시간들의 평균값을 구하고, 상기 단방향 여행 시간들의 평균값 및 상기 탐사 패킷 수신부로부터 전달받은 단방향 여행 시간 중 최소값을 이용하여 큐잉 딜레이를 산출하는 큐잉 딜레이 산출부를 포함하는, 단말기.
  16. 제15항에 있어서,
    상기 큐잉 딜레이 산출부는,
    하기 수학식 2에 의해 상기 단방향 여행 시간들의 평균값을 산출하는, 단말기.
    (수학식 2)
    SOTTM = (1-α)·SOTTM-1 + α·OTTM ,(0 ≤α≤ 1)
    SOTTM: M번째 탐사 패킷까지의 단방향 여행 시간들의 평균값
    SOTTM-1: M-1번째 탐사 패킷까지의 단방향 여행 시간들의 평균값
    OTTM: M번째 탐사 패킷의 단방향 여행 시간
    α: M번째 탐사 패킷의 단방향 여행 시간값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값.
  17. 제15항에 있어서,
    상기 탐사 패킷 수신부는,
    수신한 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하고, 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정하는, 단말기.
  18. 제15항에 있어서,
    상기 탐사 패킷 수신부는,
    이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정하는, 단말기.
  19. 제18항에 있어서,
    상기 탐사 패킷 수신부는,
    상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우 현재 탐사 패킷의 타임 스탬프값을 폐기하는, 단말기.
  20. 제18항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정되는, 단말기.
  21. 제18항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정되는, 단말기.
  22. 제15항에 있어서,
    상기 큐잉 딜레이 산출부는,
    기 설정된 크기의 윈도우에 포함되는 단방향 여행 시간값들 중 최소값을 상기 단방향 여행 시간들의 평균값을 구하는데 사용하는, 단말기.
  23. 탐사 패킷들을 수신하고, 수신한 상기 탐사 패킷들을 이용하여 단방향 여행 시간을 측정하는 탐사 패킷 수신부; 및
    상기 단방향 여행 시간을 이용하여 큐잉 딜레이를 산출하는 큐잉 딜레이 산출부를 포함하며,
    상기 탐사 패킷 수신부는, 수신한 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하고, 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정하는, 단말기.
  24. 탐사 패킷들을 수신하고, 수신한 상기 탐사 패킷들을 이용하여 단방향 여행 시간을 측정하는 탐사 패킷 수신부; 및
    상기 단방향 여행 시간을 이용하여 큐잉 딜레이를 산출하는 큐잉 딜레이 산출부를 포함하며,
    상기 탐사 패킷 수신부는, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정하는, 단말기.
  25. 제24항에 있어서,
    상기 탐사 패킷 수신부는,
    상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우 현재 탐사 패킷의 타임 스탬프값을 폐기하는, 단말기.
  26. 제24항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정되는, 단말기.
  27. 제24항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정되는, 단말기.
  28. 송신 단말기가 탐사 패킷들을 전송하는 단계;
    수신 단말기가 상기 탐사 패킷들을 수신하여 단방향 여행 시간을 측정하는 단계; 및
    상기 수신 단말기가 상기 단방향 여행 시간들의 평균값을 구하고, 상기 단방향 여행 시간들의 평균값 및 상기 단방향 여행 시간 중 최소값을 이용하여 큐잉 딜레이를 산출하는 단계를 포함하는, 네트워크 상태 측정 방법.
  29. 제28항에 있어서,
    상기 단방향 여행 시간들의 평균값을 구하는 단계는, 하기의 수학식 3에 의해 산출하는, 네트워크 상태 측정 방법.
    (수학식 3)
    SOTTM = (1-α)·SOTTM-1 + α·OTTM ,(0 ≤α≤ 1)
    SOTTM: M번째 탐사 패킷까지의 단방향 여행 시간들의 평균값
    SOTTM-1: M-1번째 탐사 패킷까지의 단방향 여행 시간들의 평균값
    OTTM: M번째 탐사 패킷의 단방향 여행 시간
    α: M번째 탐사 패킷의 단방향 여행 시간값이 단방향 여행 시간의 평균값에 반영되는 비율을 나타내는 가중치 값.
  30. 제28항에 있어서,
    상기 탐사 패킷들을 전송하는 단계는,
    상기 송신 단말기가 상기 탐사 패킷에 유효 인증 필드를 추가하는 단계;
    상기 송신 단말기가 상기 탐사 패킷을 전송 소켓에 보낸 시점의 현재 시간과 상기 탐사 패킷의 타임 스탬프 값의 차이를 기 설정된 제1 기준 시간(T1)과 비교하는 단계; 및
    상기 송신 단말기가 상기 비교 결과에 따라 유효 인증값을 설정하고, 설정한 유효 인증값을 다음 탐사 패킷의 유효 인증 필드에 기록하여 전송하는 단계를 포함하는, 네트워크 상태 측정 방법.
  31. 제30항에 있어서,
    상기 단방향 여행 시간을 측정하는 단계는,
    상기 수신 단말기가 상기 탐사 패킷의 유효 인증 필드에 기록된 유효 인증값에 따라 상기 탐사 패킷 이전에 수신한 탐사 패킷의 타임 스탬프값의 유효 여부를 판단하는 단계; 및
    상기 수신 단말기가 유효한 것으로 판단된 타임 스탬프값을 이용하여 상기 단방향 여행 시간을 측정하는 단계를 포함하는, 네트워크 상태 측정 방법.
  32. 제30항에 있어서,
    상기 제1 기준 시간(T1)은,
    상기 송신 단말기의 프로세스 스케줄링 시간, 가비지 콜렉션(Garbage Collection) 평균 소요 시간, 및 최대 허용 가능한 오차 시간 중 적어도 하나를 기준으로 설정되는, 네트워크 상태 측정 방법.
  33. 제28항에 있어서,
    상기 단방향 여행 시간을 측정하는 단계는,
    상기 수신 단말기가 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 기 설정된 제2 기준 시간(T2)과 비교하여 현재 탐사 패킷의 단방향 여행 시간의 측정 여부를 결정하는 단계를 포함하는, 네트워크 상태 측정 방법.
  34. 제33항에 있어서,
    상기 단방향 여행 시간의 측정 여부를 결정하는 단계는,
    상기 수신 단말기가 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인지 여부를 확인하는 단계; 및
    상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 이상인 경우, 상기 수신 단말기가 현재 탐사 패킷의 타임 스탬프값을 이용하여 단방향 여행 시간을 측정하는 단계를 포함하는, 네트워크 상태 측정 방법.
  35. 제34항에 있어서,
    상기 단방향 여행 시간의 측정 여부를 결정하는 단계는,
    상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 상기 제2 기준 시간(T2) 미만인 경우, 상기 수신 단말기가 현재 탐사 패킷의 타임 스탬프값을 폐기하는 단계를 포함하는, 네트워크 상태 측정 방법.
  36. 제33항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷과 현재 탐사 패킷의 송신 간격을 기준으로 소정 비율 W1(W1 <1)이 되도록 설정되는, 네트워크 상태 측정 방법.
  37. 제33항에 있어서,
    상기 제2 기준 시간(T2)은,
    이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 설정되는, 네트워크 상태 측정 방법.
  38. 제37항에 있어서,
    상기 단방향 여행 시간의 측정 여부를 결정하는 단계는,
    상기 송신 단말기가 복수 개의 탐사 패킷들을 연속하여 전송하는 단계;
    상기 수신 단말기가 상기 복수 개의 탐사 패킷들을 수신하고, 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이를 각각 구하는 단계; 및
    상기 수신 단말기가 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 구하고, 상기 이전 탐사 패킷의 수신 시간과 현재 탐사 패킷의 수신 시간과의 차이가 최소인 값을 기준으로 소정 비율 W2(W2 > 1)이 되도록 상기 제2 기준 시간(T2)을 설정하는 단계를 포함하는, 네트워크 상태 측정 방법.
  39. 제28항에 있어서,
    상기 단방향 여행 시간들의 평균값을 구하는 단계는,
    상기 수신 단말기가 기 설정된 크기의 윈도우에 포함되는 단방향 여행 시간값들 중 최소값을 추출하는 단계; 및
    상기 수신 단말기가 추출한 상기 단방향 여행 시간의 최소값을 상기 단방향 여행 시간들의 평균값을 구하는데 사용하는 단계를 포함하는, 네트워크 상태 측정 방법.
KR20130062074A 2013-05-30 2013-05-30 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법 KR101468624B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20130062074A KR101468624B1 (ko) 2013-05-30 2013-05-30 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법
US14/290,982 US9559927B2 (en) 2013-05-30 2014-05-30 Terminal, system and method for measuring network state using the same
CN201410238312.6A CN104219106B (zh) 2013-05-30 2014-05-30 终端和利用该终端的网络状态测定系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130062074A KR101468624B1 (ko) 2013-05-30 2013-05-30 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101468624B1 true KR101468624B1 (ko) 2014-12-04

Family

ID=51984997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130062074A KR101468624B1 (ko) 2013-05-30 2013-05-30 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법

Country Status (3)

Country Link
US (1) US9559927B2 (ko)
KR (1) KR101468624B1 (ko)
CN (1) CN104219106B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330761B (zh) * 2015-06-30 2020-09-15 中兴通讯股份有限公司 基于队列时延的拥塞控制方法及装置
JP2018156263A (ja) * 2017-03-16 2018-10-04 東芝メモリ株式会社 メモリシステム、メモリコントローラおよびメモリシステムの制御方法
CN110224845B (zh) * 2018-03-01 2022-04-22 华为技术有限公司 定界传输故障的方法、系统以及相关设备
CN109274577A (zh) * 2018-08-31 2019-01-25 李志诚 定时信息发送方法及系统
CN110890999B (zh) * 2019-11-06 2022-02-01 思必驰科技股份有限公司 基于Socket Connect的网络监控方法及系统
CN111935309B (zh) * 2020-09-17 2020-12-29 武汉中科通达高新技术股份有限公司 一种循环任务管理方法及装置
CN113067750B (zh) * 2021-03-24 2023-05-30 北京字节跳动网络技术有限公司 带宽测量方法、设备及电子设备
CN113992297B (zh) * 2021-12-06 2022-05-03 网络通信与安全紫金山实验室 网络时延的确定方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090059333A (ko) * 2007-12-06 2009-06-11 삼성전자주식회사 통신 시스템에서 패킷 전송 시스템 및 방법
KR20100062840A (ko) * 2008-12-02 2010-06-10 한국전자통신연구원 인터넷 전화 사용자 체감 품질 측정 시스템, 방법 및 사후 처리 방법
US20110216648A1 (en) * 2010-03-05 2011-09-08 Microsoft Corporation Congestion control for delay sensitive applications
KR20130034121A (ko) * 2011-09-28 2013-04-05 한국과학기술원 종단간 망 경로의 대역 측정 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477531A (en) * 1991-06-12 1995-12-19 Hewlett-Packard Company Method and apparatus for testing a packet-based network
US5570346A (en) * 1994-12-08 1996-10-29 Lucent Technologies Inc. Packet network transit delay measurement system
US6701372B2 (en) * 1997-08-22 2004-03-02 Canon Kabushiki Kaisha Data communication apparatus and method
US7133911B1 (en) * 2000-03-06 2006-11-07 Compuware Corporation Response time analysis of network performance
US7574504B2 (en) * 2001-03-05 2009-08-11 Compuware Corporation Characterizing application performance within a network
US7327676B2 (en) * 2001-10-11 2008-02-05 Nippon Telegraph And Telephone Corporation Data transmission control method, program therefor and data transmission unit using the same
KR20030039428A (ko) * 2001-11-13 2003-05-22 학교법인대우학원 패킷 지연을 기반으로 하는 라우팅 방법
DE10210712A1 (de) * 2002-03-12 2003-10-02 Deutsche Telekom Ag Verfahren zur Übertragung von Messdaten von einem Messrechner zu einem Steuerrechner eines Messsystems
KR100608821B1 (ko) * 2004-07-22 2006-08-08 엘지전자 주식회사 휴대단말기의 왕복지연시간 측정장치 및 방법
US7701851B2 (en) * 2005-07-20 2010-04-20 Vidyo, Inc. System and method for the control of the transmission rate in packet-based digital communications
US8098603B2 (en) * 2005-09-30 2012-01-17 Intel Corporation Bandwidth adaptation in a wireless network
GB2466208B (en) * 2008-12-11 2013-09-11 Skype Controlling packet transmission
KR101705592B1 (ko) * 2009-05-18 2017-02-10 삼성전자주식회사 노드 간의 시간 동기화를 수행하는 네트워크 동기화 방법 및 장치
EP2302845B1 (en) * 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
CN102227894B (zh) * 2009-09-30 2014-10-08 松下电器产业株式会社 发送装置、接收装置、收发系统及收发方法
US8385212B2 (en) * 2009-12-07 2013-02-26 Symmetricom, Inc. Method and apparatus for finding latency floor in packet networks
US8812739B2 (en) * 2009-12-17 2014-08-19 Cisco Technology, Inc. Recalibration of precision clocks in a computer network
GB201003206D0 (en) * 2010-02-25 2010-04-14 Skype Ltd Method of estimating congestion
GB2478277B (en) * 2010-02-25 2012-07-25 Skype Ltd Controlling packet transmission
US8446896B2 (en) * 2010-04-21 2013-05-21 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US8976778B2 (en) * 2010-04-21 2015-03-10 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US9088510B2 (en) * 2010-12-17 2015-07-21 Microsoft Technology Licensing, Llc Universal rate control mechanism with parameter adaptation for real-time communication applications
US8644348B2 (en) * 2011-04-20 2014-02-04 Symmetricom, Inc. Method for generating a robust timing correction in timing transfer systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090059333A (ko) * 2007-12-06 2009-06-11 삼성전자주식회사 통신 시스템에서 패킷 전송 시스템 및 방법
KR20100062840A (ko) * 2008-12-02 2010-06-10 한국전자통신연구원 인터넷 전화 사용자 체감 품질 측정 시스템, 방법 및 사후 처리 방법
US20110216648A1 (en) * 2010-03-05 2011-09-08 Microsoft Corporation Congestion control for delay sensitive applications
KR20130034121A (ko) * 2011-09-28 2013-04-05 한국과학기술원 종단간 망 경로의 대역 측정 방법

Also Published As

Publication number Publication date
US9559927B2 (en) 2017-01-31
CN104219106B (zh) 2018-10-12
CN104219106A (zh) 2014-12-17
US20140355464A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
KR101468624B1 (ko) 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법
EP2302845B1 (en) Method and device for determining a jitter buffer level
EP2374245B1 (en) Controlling packet transmission using bandwidth estimation
EP1382219B1 (en) Method and device for robust real-time estimation of bottleneck bandwidth
US7944849B2 (en) Transmission path quality measuring device, communication system, quality measurement method, and quality measuring program
US9961000B2 (en) Estimation of network path segment delays
WO2017133014A1 (zh) Tcp传输流中基于接收端的网络性能检测方法及系统
CN105591843B (zh) Tcp传输流中基于接收端的网络性能检测方法及系统
US10735324B2 (en) Bottleneck bandwidth and round-trip propagation time (BBR) congestion control with random early detection (RED)
WO2018107756A1 (zh) 网络节点设备的时延测量方法、装置及网络节点设备
US7936699B2 (en) Estimation method, device, and program, and network measuring system
WO2021234764A1 (ja) バーストトラフィック検出装置、バーストトラフィック検出方法およびバーストトラフィック検出プログラム
US10680756B2 (en) Packet classification apparatus, packet classification method and storage medium
US9030931B2 (en) Latency analysis of traffic passing through an ethernet switch
US20180150432A1 (en) Method and apparatus for measuring time samp unit of remote device
Lim et al. Robust end-to-end loss differentiation scheme for transport control protocol over wired/wireless networks
JP2014116771A (ja) 情報処理システム
JP5528372B2 (ja) フロー品質劣化特定装置及び方法
Ozturk et al. DIChirp: Direct injection bandwidth estimation
US20240113955A1 (en) Measuring apparatus, method for measuring, and recorded program medium
JP4662485B2 (ja) パケットサンプルを用いた大量バースト生成フロー特定方法およびそのシステム
JP2006013876A (ja) トラフィック行列生成装置並びにそのコンピュータプログラム及び通信装置並びにそのコンピュータプログラム
Casagrande et al. Tcpmoon: Monitoring the diffusion of tcp congestion control variants in the internet
Ibrahim et al. A simulation study of passive inference of TCP rate and detection of congestion
Kumar et al. Identification of Packet Losses in TCP Over Wired Wireless Networks

Legal Events

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

Payment date: 20170928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 5