KR102187810B1 - 통신 시스템에서 데이터 흐름 제어 장치 및 방법 - Google Patents
통신 시스템에서 데이터 흐름 제어 장치 및 방법 Download PDFInfo
- Publication number
- KR102187810B1 KR102187810B1 KR1020140129057A KR20140129057A KR102187810B1 KR 102187810 B1 KR102187810 B1 KR 102187810B1 KR 1020140129057 A KR1020140129057 A KR 1020140129057A KR 20140129057 A KR20140129057 A KR 20140129057A KR 102187810 B1 KR102187810 B1 KR 102187810B1
- Authority
- KR
- South Korea
- Prior art keywords
- transmission rate
- subflow
- node
- transmitting node
- specific subflow
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004891 communication Methods 0.000 title claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 137
- 238000010586 diagram Methods 0.000 description 9
- 230000007774 longterm Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- 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/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- 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/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
본 발명은 통신 시스템에서 다중 경로의 데이터 흐름을 제어하는 장치 및 방법에 관한 것이다. 본 발명의 실시 예에 따른 통신 시스템의 수신 노드에서 데이터 흐름을 제어하는 장치는, 다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 수신부; 상기 수신된 데이터의 최적 전송 속도를 계산하고, 상기 최적 전송 속도에 대응하는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 제1 응답 메시지를 생성하는 제어부; 및 상기 제1 응답 메시지를 송신 노드로 전송하는 송신부를 포함하며, 상기 최적 전송 속도는 상기 송신 노드의 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 용량을 기반으로 계산됨을 특징으로 한다.
Description
본 발명은 통신 시스템에서 다중 경로의 데이터 흐름을 제어하는 장치 및 방법에 관한 것이다.
전송 제어 프로토콜(Transmission Control Protocol : TCP)은 웹 브라우징을 위한 HTTP(Hyper Text Transfer Protocol), FTP(File Transfer Protocol), IMAP(Internet Message Access Protocol) 등과 같은 비 실시간 서비스 및 멀티미디어 스트리밍 서비스(Multimedia streaming service)와 같은 실시간 서비스를 위해 사용되는 전송 프로토콜이다. 이러한 TCP는 클라이언트, 예를 들어 사용자 장비(User Equipment) 및 서버 사이에서 설정되어, IP 계층의 신뢰성을 개선하기 위해 데이터의 재전송, 흐름 제어 및 혼잡 제어를 수행한다.
상기 흐름 제어를 위해 수신 노드는 버퍼 용량을 가지는 것만큼의 데이터만을 송신하도록 송신 노드를 제어한다. 따라서 송신 노드는 수신 노드로부터 전송된 확인 응답에 따라 전송 속도를 동적으로 조정한다. 그리고 상기 혼잡 제어를 위해 송신 노드는 느린 시작 및 혼잡 제어 알고리즘에 의해 제어되는 혼잡 윈도우(CW) 및 송신 노드가 전송할 수 있는 데이터의 양을 결정하기 위해 수신 노드가 버퍼에 대해 가지고 있는 사이즈를 가지는 공급된 윈도우를 사용할 수 있다.
최근들어, WCDMA(Wideband Code Divesion Multiple Acess), LTE(Long Term Evolution) 및 와이파이(Wi-Fi)등의 다수의 인터페이스를 지닌 단말이 증가함에 따라, 전송 계층에서 다수의 네트워크 링크를 인지하고 활용할 수 있도록 다중경로 전송 제어 프로토콜(Multipath transmission control protocol : MPTCP)의 중요성이 부각되고 있다.
상기 MPTCP는 최근 IETF에 의해 표준화가 완료된 멀티패스 기술로, 통신 노드들 사이에 다중 네트워크 주소를 사용하여 다수 개의 서브플로우(sub-flow)들을 동시에 구성함으로써 다중 경로 TCP 세션을 구성할 수 있도록 하는 기술이다.
상기 MPTCP의 특징은 TCP를 기반으로 구성되었기 때문에 기본적으로 TCP를 하위 지원하지만, TCP의 흐름 제어 방법을 MPTCP 흐름 제어 방법에 적용할 경우 경로 별로 데이터 흐름을 제어할 수 있을 뿐, 다중 경로에 대한 데이터 흐름을 동시에 제어할 수 없다.
따라서, MPTCP에서 다중 경로에 대한 데이터 흐름을 동시에 효율적으로 제어하기 위한 방안이 요구된다.
본 발명은 통신 시스템에서 다중 경로에 대한 데이터 흐름을 제어하기 위한 장치 및 방법을 제공한다.
또한 본 발명은 통신 시스템에서 송신 노드와 수신 노드간에 발생되는 지연 시간을 최소화하기 위한 데이터 흐름 제어 장치 및 방법을 제공한다.
또한 본 발명은 통신 시스템의 수신 노드에서 최적 전송 속도를 결정하는 데이터 흐름 제어 장치 및 방법을 제공한다.
본 발명의 실시 예에 따른 통신 시스템의 수신 노드에서 데이터 흐름을 제어하는 장치는, 다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 수신부; 상기 수신된 데이터의 최적 전송 속도를 계산하고, 상기 최적 전송 속도에 대응하는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 제1 응답 메시지를 생성하는 제어부; 및 상기 제1 응답 메시지를 송신 노드로 전송하는 송신부를 포함하며, 상기 최적 전송 속도는 상기 송신 노드의 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 용량을 기반으로 계산됨을 특징으로 한다.
또한 본 발명의 실시 예에 따른 통신 시스템의 수신 노드에서 데이터 흐름을 제어하는 방법은, 다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 과정; 상기 수신된 데이터의 최적 전송 속도를 계산하고, 상기 최적 전송 속도에 대응하는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 제1 응답 메시지를 생성하는 과정; 및 상기 제1 응답 메시지를 송신 노드로 전송하는 과정을 포함하며, 상기 최적 전송 속도는 상기 송신 노드의 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 용량을 기반으로 계산됨을 특징으로 한다.
도 1은 본 발명이 적용되는 다중 경로 통신 시스템을 나타낸 도면,
도 2는 본 발명의 실시 예에 따른 통신 시스템의 수신 노드(130)에서 데이터 흐름을 제어하는 장치를 나타낸 도면,
도 3은 본 발명의 실시 예에 따른 통신 시스템의 수신 노드(130)에서 데이터 흐름을 제어하는 방법을 나타낸 도면,
도 4는 종래 MPTCP에서의 시간에 따른 윈도우 크기와 네트워크 지연을 나타낸 도면,
도 5는 본 발명의 실시 예에 따른 MPTCP에서의 시간에 따른 윈도우 크기 및 네트워크 지연을 나타낸 도면,
도 6은 본 발명의 실시 예에 따른 MPTCP에서 시간에 따른 윈도우 크기 및 전송 속도를 나타낸 도면,
도 7은 본 발명의 실시 예에 따른 데이터 흐름 제어 방법이 적용 가능한 통신 환경의 일 예를 나타낸 도면,
도 8은 도 7의 통신 환경에서 종래와 본 발명의 실시 예에 따른 네트워크 지연 시간을 나타낸 도면.
도 2는 본 발명의 실시 예에 따른 통신 시스템의 수신 노드(130)에서 데이터 흐름을 제어하는 장치를 나타낸 도면,
도 3은 본 발명의 실시 예에 따른 통신 시스템의 수신 노드(130)에서 데이터 흐름을 제어하는 방법을 나타낸 도면,
도 4는 종래 MPTCP에서의 시간에 따른 윈도우 크기와 네트워크 지연을 나타낸 도면,
도 5는 본 발명의 실시 예에 따른 MPTCP에서의 시간에 따른 윈도우 크기 및 네트워크 지연을 나타낸 도면,
도 6은 본 발명의 실시 예에 따른 MPTCP에서 시간에 따른 윈도우 크기 및 전송 속도를 나타낸 도면,
도 7은 본 발명의 실시 예에 따른 데이터 흐름 제어 방법이 적용 가능한 통신 환경의 일 예를 나타낸 도면,
도 8은 도 7의 통신 환경에서 종래와 본 발명의 실시 예에 따른 네트워크 지연 시간을 나타낸 도면.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명의 주요한 요지는 통신 시스템에서 송신 노드와 수신 노드간에 발생되는 지연 시간을 최소화하는 최적 전송 속도로 데이터를 송수신하기 위하여, 수신 노드가 상기 최적 전송 속도를 발생시킬 수 있는 윈도우 기준 값에서 인위적인 dupACK(Duplicated acknowledge) 메시지를 송신 노드로 전송하는 것이다.
이를 위해 본 발명의 실시 예에 따른 통신 시스템에서 데이터 흐름을 제어하는 장치 및 방법에 대하여 상세히 설명하기로 한다.
도 1은 본 발명이 적용되는 다중 경로 통신 시스템을 보이고 있다.
도 1을 참조하면, 송신 노드(110)와 수신 노드(130)는 다수의 네트워크(120-1~120-N)을 통해 접속되어 있다. 상기 다수의 네트워크(120-1~120-N) 각각은 송신 노드(110)와 수신 노드(130)에서 사용되는 인터페이스에 따라 데이터를 송수신하는 유선 또는 무선 네트워크이다.
상기 송신 노드(110)와 수신 노드(130)는 다수의 네트워크 주소를 이용하여 다수의 TCP 세션을 설정하며, 각 TCP 세션을 통해 다수의 서브플로우로 접속되어 데이터를 송수신한다. 즉, 상기 송신 노드(110)는 다수의 서브플로우를 통해 데이터를 송신하는 경우 각 서브플로우에 대한 윈도우 크기를 설정하고, 설정한 윈도우 크기로 데이터를 수신 노드(130)로 송신함으로써, 각 서브플로우에 대한 혼잡을 제어한다. 그리고 상기 수신 노드(130)는 상기 송신 노드(110)로부터 수신된 데이터에 대한 응답 메시지로 ACK(acknowledge) 메시지 또는 dupACK 메시지를 송신 노드(110)로 전송하고, 상기 전송한 응답 메시지가 ACK 메시지인 경우 수신된 데이터를 재배열한다.
이러한 송신 노드(110)와 수신 노드(130)에서 하나의 서브플로우를 통해 데이터를 송신하고 응답을 수신하는 시간 동안(즉, RTT(Round Trip Time) 동안), 송신 노드(110), 네트워크1(120-1) 및 수신 노드(130) 각각에서 수행되는 동작으로 인해 시간 지연이 발생될 수 있다.
즉, 송신 노드(110)에서는 특정 서브플로우에 대한 데이터를 송신하기 이전에 상기 특정 서브플로우에 대한 데이터가 생성되어 버퍼에 입력되는 시간동안 버퍼 큐잉 지연 시간이 발생될 수 있다. 상기 네트워크1(120-1)에서는 송신 노드(110)로부터 수신된 데이터를 네트워크의 전송 대역폭 및 전송 속도에 따라 수신 노드(130)로 전송하므로, 네트워크 지연 시간이 발생될 수 있다. 상기 수신 노드(130)에서는 수신된 데이터가 해당되는 서브플로우를 확인하고 각 서브플로우별로 수신된 데이터를 재배열하는, 재배열 지연 시간이 발생될 수 있다.
그러나, 멀티미디어 스트리밍 서비스와 같은 실시간 서비스는 데이터의 안정성 및 신뢰성을 위하여 데이터의 송신 시 지연 시간을 최소화하여 사용자에게 제공되어야 한다.
이에 따라, 본 발명의 실시 예에서는 통신 시스템에서 MPTCP를 통해 실시간 서비스에 대한 데이터를 송수신하는 경우, 송신 노드(110)와 수신 노드(130) 간에 발생되는 지연 시간을 최소화하기 위한 데이터 흐름 제어 장치 및 방법을 제공하고자 한다.
도 2는 본 발명의 실시 예에 따른 통신 시스템의 수신 노드(130)에서 데이터 흐름을 제어하는 장치를 보이고 있다. 도 2에 도시된 수신 노드(130)는 TCP 계층에 포함되는 장치이다.
도 2를 참조하면, 수신 노드(130)는 수신부(210), 제어부(230) 및 송신부(250)를 포함하고, 상기 제어부(230)는 전송속도 추정기(231), 서브플로우 파라미터 추정기(233), 최적 전송속도 계산기(235) 및 서브플로우 트래픽 제어기(237)를 포함한다.
상기 수신부(210)는 송신 노드(110)로부터 각 서브플로우 별로 데이터를 수신한다.
상기 제어부(230)는 상기 수신된 데이터가 특정 서브플로우의 시퀀스 넘버에 매핑되는지 판단하여, 상기 수신된 데이터가 특정 서브플로우의 시퀀스 넘버에 매핑되지 않는 경우 dupACK 메시지를 생성하고, 상기 생성된 dupACK 메시지가 송신 노드(110)로 전송될 수 있도록 송신부(250)를 제어한다. 그리고 상기 제어부(230)는 상기 수신된 데이터가 특정 서브플로우의 시퀀스 넘버에 매핑되는 경우 ACK 메시지를 생성하고, 상기 생성된 ACK 메시지가 송신 노드(110)로 전송될 수 있도록 송신부(250)를 제어한다.
특히, 본 발명의 실시 예에 따른 제어부(230)는 상기 수신된 데이터가 특정 서브플로우의 시퀀스 넘버에 매핑되는 경우, 상기 특정 서브플로우를 통해 데이터가 최적 전송 속도로 전송되도록 데이터 흐름을 제어한다. 여기서, 상기 최적 전송 속도는 송신 노드(110)와 수신 노드(130)간에 형성된 다수의 서브플로우들 중 특정 서브플로우를 통해 데이터를 전송하는 경우, 데이터 전송에 대한 지연 시간이 최소화되도록 하는 전송 속도이다. 이하, 상기 특정 서브플로우는 다수의 서브플로우들 중 r번째 서브플로우임을 가정하여 설명하기로 한다.
상세하게, 상기 제어부(230)는 상기 특정 서브플로우를 통해 데이터가 최적 전송 속도로 전송되도록 데이터 흐름을 제어하기 위하여, 다음과 같은 동작을 수행한다.
상기 제어부(230)에 포함된 전송속도 추정기(231)는 송신 노드(300)의 어플리케이션 계층의 전송속도(f)을 추정한다. 여기서, 상기 전송속도 추정기(231)는 상기 송신 노드(300)의 어플리케이션 계층의 전송속도(f)를 측정하거나, 또는 수신된 데이터가 미디어 스트리밍 데이터인 경우 프레이백 버퍼(play-back buffer)에 저장된 데이터(backlogged data)의 양으로부터 추정할 수 있다.
상기 서브플로우 파라미터 추정기(233)는 서브플로우 r에 대한 전송 속도를 추정하기 위하여, 서브플로우 r에 대한 경로 정보를 측정 또는 추정한다. 여기서, 상기 서브플로우 r에 대한 경로 정보는 rtt(rttr), 패킷 유실율(qr), 윈도우 크기(wr), 경로의 용량(capacity, cr)(즉, 대역폭) 및 대역폭-지연 곱(Bandwidth-Delay product)(Wr BDP) 중 적어도 하나의 정보를 포함한다.
상세하게, 상기 서브플로우 파라미터 추정기(233)는 서브플로우 r에 대한 송신 노드(110)와 수신 노드(130)간의 데이터 송수신 시간 및 송수신된 데이터의 수로부터 rttr 및 패킷 유실율(qr)을 측정한다. 그리고 상기 서브플로우 파라미터 추정기(233)는 상기 측정된 rttr 및 qr을 근거로 서브플로우 r에 대한 송신 노드(110)의 윈도우 크기(wr), 용량(cr) 및 대역폭-지연 곱(Wr BDP)를 추정한다. 즉, 상기 서브플로우 파라미터 추정기(233)는 상기 rttr 동안 수신된 데이터의 수를 카운딩하는 것에 의해 송신 노드(110)의 윈도우 크기(wr)를 추정하고, 상기 rttr가 최소 rtt 보다 큰 경우 아래 <수학식 1>을 이용하여 용량(cr)을 추정할 수 있다. 상기 최소 rtt는 모든 경로에 대한 RTT들 중 가장 짧은 RTT를 의미한다.
<수학식 1>
Cr= wr /rttr
그리고 상기 서브플로우 파라미터 추정기(233)는 서브플로우 r에 대한 경로의 대역폭-지연 곱(Wr BDP)을 아래 <수학식 2>를 이용하여 추정할 수 있다.
<수학식 2>
Wr BDP = cr * 최소 rtt
최적 전송속도 계산기(235)는 각 서브플로우 별로 송신 노드(10)와 수신 노드(30)간의 데이터 전송에 대한 지연 시간이 최소화되도록 하는 최적 전송 속도를 계산한다. 상기 서브플로우 r에 대한 데이터 전송의 최적 전송 속도는 전송속도 추정기(231)로부터 전달받은 전송속도(f)와 서브플로우 파라미터 추정기(233)로부터 전달받은 용량(cr)의 함수로 나타낼 수 있다. 상세하게, 상기 최적 전송속도 계산기(235)는 다음과 같은 순서로 최적 전송 속도를 계산한다.
먼저, 최적 전송속도 계산기(235)는 상기 송신 노드(110)와 수신 노드(130)간의 서브플로우 r을 통한 데이터 전송의 지연 시간을 아래 <수학식 3>을 이용하여 계산한다.
<수학식 3>
상기 <수학식 3>에서 는 송신 노드(10)에서 발생되는 지연 시간이고, 는 서브플로우 r에 해당하는 네트워크에서 발생되는 지연 시간이며, 는 수신 노드(30)에서 발생되는 지연 시간이다.
상기 송신 노드(10)와 수신 노드(30)간의 서브플로우 r을 통한 데이터 전송의 지연 시간을 최소화하는 최적 전송 속도는 아래 <수학식 4>를 이용하여 계산할 수 있다.
<수학식 4>
여기서, 어플리케이션 계층의 패킷 도착 속도는 일반적인 분배(general distribution)이고, 네트워크에서 발생되는 지연 시간은 M/M/1 큐잉 지연 시간을 갖는다고 가정한다. 여기에서 M/M/1 큐잉 지연이란 패킷이 큐에 도착하고 떠나는 속도가 모두 푸아송 분포를 따른다는 의미이다.
그리고 상기 <수학식 4>를 전송속도 추정기(231)로부터 전달받은 전송속도(f)와 서브플로우 파라미터 추정기(233)로부터 전달받은 용량(cr)의 함수로 나타내면 아래 <수학식 5>와 같이 나타낼 수 있다.
<수학식 5>
표준에서 제안하는 MPTCP 링크된 증가 알고리즘은 아래 <수학식 6>의 단위 RTT 당 전송 윈도우 증가량을 갖는다.
<수학식 6>
상기 최적 전송속도 계산기(235)는 전송 윈도우의 크기가 대역폭-지연 곱보다 작을 경우 아래 <수학식 7>을 이용하여 패킷 유실율(qr)에 따른 전송 속도()를 계산할 수 있고, 전송 윈도우의 크기가 대역폭-지연 곱보다 클 경우 아래 <수학식 8>을 이용하여 전송 속도()를 계산할 수 있다.
<수학식 7>
<수학식 8>
<수학식 9>
따라서, 최적 전송 속도 계산기(235)는 상기 <수학식 5> 및 <수학식 9>를 근거로, 서브플로우 r에 대한 최적 전송 속도(Xr *)와 상기 최적 전송 속도(Xr *)를 획득하기 위한 최적 패킷 유실율(qr *)을 계산할 수 있다. 그리고 일반적으로 최적 패킷 유실율(qr *)은 기존 MPTCP에서의 패킷 유실율에 비해 낮은 값을 갖는다. 이에 따라 상기 최적 패킷 유실율(qr *)에 대한 윈도우 사이즈에서 인위적인 dupack 메시지를 발생시키면, 송신 노드(110)와 수신 노드(130)간의 패킷 유실율을 낮추고 장기 평균(long-term average)에서 최적 전송 속도(xr *)를 달성할 수 있다. 이에 따라 최적 전송 속도 계산기(235)는 상기 최적 패킷 유실율(qr *)에 대한 윈도우 사이즈를 윈도우 기준 값(Wr loss)으로 결정한다.
상기 서브플로우 트래픽 제어기(237)는 상기 서브플로우 파라미터 추정기(233)로부터 추정된 윈도우 크기(wr)가 윈도우 기준값(Wr loss)보다 크거나 같으면 인위적인 dupack 메시지를 생성하고, 상기 생성된 인위적인 dupack 메시지가 송신 노드(110)로 전송되도록 송신부(250)를 제어한다. 반면 상기 서브플로우 트래픽 제어기(237)는 상기 윈도우 크기(Wr)가 윈도우 기준값(Wr loss)보다 작으면 일반적인 ACK 메시지를 생성하고, 상기 생성된 일반적인 ACK 메시지가 송신 노드(110)로 전송되도록 송신부(250)를 제어한다.
상기 송신부(250)는 상기 서브플로우 트래픽 제어기(237)의 제어에 따라 인위적인 dupack 메시지 또는 일반적인 ACK 메시지를 송신 노드(110)로 전송한다.
도 3은 본 발명의 실시 예에 따른 통신 시스템의 수신 노드(130)에서 데이터 흐름을 제어하는 방법을 보이고 있다.
도 3을 참조하면, 수신부(210)는 송신 노드(110)로부터 각 서브플로우 별로 데이터를 수신한다(301). 그리고 제어부(230)는 상기 수신된 데이터가 특정 서브 플로우 r의 시퀀스 넘버에 매핑되는지 확인한다(303). 상기 제어부(230)는 상기 수신된 데이터가 서브플로우 r의 시퀀스 넘버에 매핑되지 않는 경우 dupACK을 송신부(250)를 통해 송신 노드(110)로 전송한다(305).
반면 상기 제어부(230)는 상기 수신된 데이터가 서브플로우 r의 시퀀스 넘버에 매핑되는 경우, 송신 노드(110)의 어플리케이션 계층의 전송속도(f)을 추정 또는 측정한다(307). 그리고 상기 제어부(230)는 서브플로우 r에 대한 전송 속도를 추정하기 위하여, 서브 플로우 r에 대한 경로 정보를 추정 또는 측정한다(309). 여기서, 상기 서브플로우 r에 대한 경로 정보는 rttr, 패킷 유실율(qr), 윈도우 크기(wr), 용량(cr) 및 대역폭-지연 곱(Wr BDP) 중 적어도 하나의 정보를 포함한다. 상세하게, 상기 제어부(230)는 서브플로우 r에 대한 송신 노드(110)와 수신 노드(130)간의 데이터 송수신 시간 및 송수신된 데이터의 수로부터 rttr 및 패킷 유실율(qr)을 측정하고, 상기 rttr 동안 수신된 데이터의 수를 카운딩하는 것에 의해 상기 윈도우 크기(wr)를 추정하고, 상기 rttr가 최소 rtt 보다 큰 경우 상기 <수학식 1>을 이용하여 용량(cr)을 추정하며, 상기 상기 <수학식 2>를 이용하여 대역폭-지연 곱(Wr BDP)을 추정한다(309).
상기 제어부(230)는 상기 어플리케이션 계층의 전송속도(f)와 상기 경로 정보를 함수로 나타낸 상기 <수학식 5>를 이용하여 서브플로우 r에 대한 최적 전송 속도(Xr *)를 계산한다(313).
그리고 상기 제어부(230)는 상기 <수학식 5>에 대입되는 최적 패킷 유실율(qr *)을 상기 <수학식 9>를 이용하여 계산하고, 상기 계산된 최적 패킷 유실율(qr *)에 대한 윈도우 사이즈를 윈도우 기준값(Wr loss)으로 결정한다(315).
상기 제어부(230)는 상기 서브플로우 r에 대해 추정된 윈도우 크기(wr)가 윈도우 기준값(Wr loss)보다 크거나 같은지 확인한다(317). 상기 확인 결과, 상기 제어부(230)는 상기 서브플로우 r에 대해 추정된 윈도우 크기(wr)가 윈도우 기준값(Wr loss)보다 크거나 같은 경우 인위적인 dupACK 메시지를 생성하고, 상기 생성된 인위적인 dupACK 메시지가 송신 노드(110)로 전송되도록 송신부(250)를 제어한다(321). 반면, 상기 제어부(230)는 상기 윈도우 크기(wr)가 윈도우 기준값(Wr loss)보다 작은 경우 일반적인 ACK 메시지를 생성하고, 상기 생성된 일반적인 ACK 메시지가 송신 노드(110)로 전송되도록 송신부(250)를 제어한다(319).
따라서, 일반적으로 최적 패킷 유실율(qr *)은 기존 MPTCP에서의 패킷 유실율에 비해 낮은 값을 갖기 때문에, 수신 노드(130)가 상기 최적 패킷 유실율(qr *)에 대한 윈도우 사이즈에서 인위적인 dupack을 송신 노드(110)로 전송하면, 송신 노드(110)와 수신 노드(130)간 데이터 송수신 시 패킷 유실율을 낮추고 장기 평균에서 최적 전송 속도(xr *)를 달성할 수 있다.
도 4는 종래 MPTCP에서의 시간에 따른 윈도우 크기와 네트워크 지연을 보이고 있고, 도 5는 본 발명의 실시 예에 따른 MPTCP에서의 시간에 따른 윈도우 크기 및 네트워크 지연에 대하여 보이고 있다.
도 4를 참조하면, 종래 MPTCP에서 송신 노드와 수신 노드 간의 데이터 송수신 시, 서브 플로우 r에 대한 대역폭-지연 곱(BDPr) 이상의 구간에서 큐잉 지연이 발생하여 네트워크 지연 시간이 길어짐을 확인할 수 있다. 그러나, 도 5를 참조하면, 본 발명의 실시 예에 따라 수신 노드에서 실제 패킷 손실이 발생하는 네트워크 한계(limit) 값보다 작은 윈도우 크기 값에서 인위적인 dupack을 발생시키면, 네트워크 지연 시간이 종래에 비하여 짧아짐을 확인할 수 있다.
도 6은 본 발명의 실시 예에 따른 MPTCP에서 시간에 따른 윈도우 크기 및 전송 속도에 대하여 보이고 있다.
도 6을 참조하면, 본 발명의 실시 예에 따른 인위적인 dupack이 발생한 이후 전송 속도(xr)은 일시적으로 감소하고, 서브플로우 r에 대한 윈도우 크기(wr)가 대역폭-지연 곱(BDPr)보다 커지면 용량(cr)에 수렴한다. 이러한 전송 속도의 변화에도 불구하고, 본 발명의 실시 예에 따른 데이터 흐름 제어 방법은 전송 속도의 평균 값이 송신 노드와 수신 노드 간의 지연 시간을 최소화하는 최적 전송 속도를 발생시킬 수 있다.
도 7은 본 발명의 실시 예에 따른 데이터 흐름 제어 방법이 적용 가능한 통신 환경의 일 예를 보이고 있고, 도 8은 도 7의 통신 환경에서 종래와 본 발명의 실시 예에 따른 네트워크 지연 시간을 보이고 있다.
도 7에 도시된 통신 환경은 통신 시스템에서는 송신 노드와 수신 노드 간에 두 개의 서브 플로우가 존재할 때, 상기 두 개의 서브 플로우의 용량의 합이 트래픽 속도보다 크고, 두 개의 서브 플로우 중 하나의 용량이 지나치게 작아서 과도한 큐잉 지연을 발생시킴을 가정한다. 도 8과 같이 용량이 15-10Mbps인 경우 및 40-10Mbps인 경우 모두 종래에 비하여 본 발명의 실시 예가 더 낮은 지연 분포를 갖음을 확인할 수 있다. 특히, 용량이 40-10Mbps인 경우 용량의 합이 트래픽 속도에 비하여 충분히 크기 때문에 최소의 네트워크 지연만이 발생함을 확인할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (17)
- 통신 시스템의 수신 노드에서 데이터 흐름을 제어하는 장치에 있어서,
다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 수신부;
상기 수신된 데이터의 최적 전송 속도를 계산하고, 상기 최적 전송 속도에 대응하는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 제1 응답 메시지를 생성하는 제어부; 및
상기 제1 응답 메시지를 송신 노드로 전송하는 송신부를 포함하며,
상기 최적 전송 속도는 상기 송신 노드의 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 용량을 기반으로 계산됨을 특징으로 하는 데이터 흐름 제어 장치.
- 제 1 항에 있어서, 상기 최적 전송 속도는,
상기 송신 노드의 상기 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 경로 정보를 기반으로 계산됨을 특징으로 하는 데이터 흐름 제어 장치.
- 제 2 항에 있어서, 상기 특정 서브플로우에 대한 상기 경로 정보는,
상기 특정 서브플로우에 대한 RTT(round trip time), 패킷 유실율, 윈도우, 상기 용량 및 대역폭-지연 곱 중 적어도 하나의 정보를 포함함을 특징으로 하는 데이터 흐름 제어 장치.
- 제 3 항에 있어서,
상기 RTT 및 상기 패킷 유실율은 상기 송신 노드 및 상기 수신 노드 간의 데이터 송/수신 시간과 상기 특정 서브플로우에 대해 송/수신된 데이터 패킷들의 수를 기반으로 추정되고,
상기 용량 및 상기 대역폭-지연 곱은 상기 RTT 및 상기 패킷 유실율을 기반으로 추정됨을 특징으로 하는 데이터 흐름 제어 장치.
- 제 4 항에 있어서, 상기 최적 전송 속도는,
상기 송신 노드의 상기 어플리케이션 계층의 전송 속도 및 상기 용량 간의 함수를 기반으로 계산됨을 특징으로 하는 데이터 흐름 제어 장치.
- 제 5 항에 있어서, 상기 최적 전송 속도는 다음 수학식을 기반으로 계산되고,
여기서, 상기 는 상기 다수의 서브플로우에 대한 세트이고, 상기 는 상기 특정 서브플로우에 대한 전송 속도이고, 상기 는 상기 특정 서브플로우에 대한 최소 RTT이고, 상기 f는 상기 송신 노드의 상기 어플리케이션 계층의 전송 속도이고, 상기 는 상기 송신 노드의 상기 어플리케이션 계층의 전송 속도에 대한 표준 편차이고, 상기 는 상기 송신 노드의 상기 어플리케이션 계층의 전송 속도에 대한 평균이고, 상기 는 상기 특정 서브플로우에 대한 상기 용량이며, 상기 r은 상기 특정 서브플로우임을 특징으로 하는 데이터 흐름 제어 장치.
- 제 1 항에 있어서, 상기 윈도우 기준값은,
상기 최적 전송 속도에 적용되는 최적 패킷 유실율에 따른 윈도우 사이즈를 기반으로 결정됨을 특징으로 하는 데이터 흐름 제어 장치.
- 제 1 항에 있어서, 상기 제어부는,
상기 특정 서브플로우에 대한 상기 윈도우 크기가 상기 윈도우 기준값보다 작은 경우 제2 응답 메시지를 생성함을 특징으로 하는 데이터 흐름 제어 장치.
- 제 8 항에 있어서, 상기 송신부는,
상기 제2 응답 메시지를 상기 송신 노드로 송신함을 특징으로 하는 데이터 흐름 제어 장치.
- 통신 시스템의 수신 노드에서 데이터 흐름을 제어하는 방법에 있어서,
다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 과정;
상기 수신된 데이터의 최적 전송 속도를 계산하고, 상기 최적 전송 속도에 대응하는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 제1 응답 메시지를 생성하는 과정; 및
상기 제1 응답 메시지를 송신 노드로 전송하는 과정을 포함하며,
상기 최적 전송 속도는 상기 송신 노드의 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 용량을 기반으로 계산됨을 특징으로 하는 데이터 흐름 제어 방법.
- 제 10 항에 있어서, 상기 최적 전송 속도는,
상기 송신 노드의 상기 어플리케이션 계층의 전송 속도 및 상기 특정 서브플로우에 대한 경로 정보를 기반으로 계산됨을 특징으로 하는 데이터 흐름 제어 방법.
- 제 11 항에 있어서, 상기 특정 서브플로우에 대한 상기 경로 정보는,
상기 특정 서브플로우에 대한 RTT(round trip time), 패킷 유실율, 윈도우, 상기 용량 및 대역폭-지연 곱 중 적어도 하나의 정보를 포함함을 특징으로 하는 데이터 흐름 제어 방법.
- 제 12 항에 있어서,
상기 RTT 및 상기 패킷 유실율은 상기 송신 노드 및 상기 수신 노드 간의 데이터 송/수신 시간과 상기 특정 서브플로우에 대해 송/수신된 데이터 패킷들의 수를 기반으로 추정되고,
상기 용량 및 상기 대역폭-지연 곱은 상기 RTT 및 상기 패킷 유실율을 기반으로 추정됨을 특징으로 하는 데이터 흐름 제어 방법.
- 제 13 항에 있어서, 상기 최적 전송 속도는,
상기 송신 노드의 상기 어플리케이션 계층의 전송 속도 및 상기 용량 간의 함수를 기반으로 계산됨을 특징으로 하는 데이터 흐름 제어 방법.
- 제 14 항에 있어서, 상기 최적 전송 속도는 다음 수학식을 기반으로 계산되고,
여기서, 상기 는 상기 다수의 서브플로우에 대한 세트이고, 상기 는 상기 특정 서브플로우에 대한 전송 속도이고, 상기 는 상기 특정 서브플로우에 대한 최소 RTT이고, 상기 f는 상기 송신 노드의 상기 어플리케이션 계층의 전송 속도이고, 상기 는 상기 송신 노드의 상기 어플리케이션 계층의 전송 속도에 대한 표준 편차이고, 상기 는 상기 송신 노드의 상기 어플리케이션 계층의 전송 속도에 대한 평균이고, 상기 은 상기 특정 서브플로우에 대한 상기 용량이며, 상기 r은 상기 특정 서브플로우임을 특징으로 하는 데이터 흐름 제어 방법.
- 제 10 항에 있어서, 상기 윈도우 기준값은,
상기 최적 전송 속도에 적용되는 최적 패킷 유실율에 따른 윈도우 사이즈를 기반으로 결정됨을 특징으로 하는 데이터 흐름 제어 방법.
- 제 10 항에 있어서, 상기 특정 서브플로우에 대한 상기 윈도우 크기가 상기 윈도우 기준값보다 작은 경우 제2 응답 메시지를 생성하는 과정; 및
상기 제2 응답 메시지를 상기 송신 노드로 송신하는 과정을 더 포함함을 특징으로 하는 데이터 흐름 제어 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140129057A KR102187810B1 (ko) | 2014-09-26 | 2014-09-26 | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 |
US14/866,593 US10057147B2 (en) | 2014-09-26 | 2015-09-25 | Apparatus and method for controlling data flow in communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140129057A KR102187810B1 (ko) | 2014-09-26 | 2014-09-26 | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160036878A KR20160036878A (ko) | 2016-04-05 |
KR102187810B1 true KR102187810B1 (ko) | 2020-12-08 |
Family
ID=55585682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140129057A KR102187810B1 (ko) | 2014-09-26 | 2014-09-26 | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10057147B2 (ko) |
KR (1) | KR102187810B1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10516605B2 (en) | 2015-06-03 | 2019-12-24 | Vid Scale, Inc. | Enhancing performance of multi-path communications |
US10097465B2 (en) | 2015-12-08 | 2018-10-09 | Nicira Inc. | Data transfer between endpoints using a multipath connection |
US10129372B2 (en) * | 2015-12-08 | 2018-11-13 | Nicira, Inc. | Transferring multiple data sets using a multipath connection |
US10200277B2 (en) | 2015-12-08 | 2019-02-05 | Nicira, Inc. | Influencing path selection during a multipath connection |
CN106059950B (zh) * | 2016-05-25 | 2019-03-08 | 四川大学 | 一种基于scps-tp的自适应网络拥塞控制方法 |
KR102111029B1 (ko) * | 2016-06-17 | 2020-05-14 | 주식회사 케이티 | 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법 |
KR102568436B1 (ko) * | 2016-07-28 | 2023-08-21 | 삼성전자 주식회사 | 무선 통신 시스템에서 데이터의 전송 방법 및 장치 |
US10333994B2 (en) * | 2016-11-09 | 2019-06-25 | Cisco Technology, Inc. | Method and device for improved multi-homed media transport |
CN106658644B (zh) * | 2016-12-09 | 2020-08-04 | 广州华多网络科技有限公司 | 通信网络选路方法和装置 |
EP4422146A1 (en) * | 2016-12-21 | 2024-08-28 | Dejero Labs Inc. | Packet transmission system and method |
CN110192394B (zh) * | 2016-12-21 | 2023-10-20 | 英国电讯有限公司 | 通过网络传送媒体内容的方法和服务器 |
US11711553B2 (en) | 2016-12-29 | 2023-07-25 | British Telecommunications Public Limited Company | Transmission parameter control for segment delivery |
US11159972B2 (en) | 2018-10-31 | 2021-10-26 | Qualcomm Incorporated | Handling of radio frequency front-end group delays for round trip time estimation |
US10848256B2 (en) * | 2018-11-08 | 2020-11-24 | Qualcomm Incorporated | Group delay calibration for carrier aggregation / multi-radio access technology |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226802A1 (en) | 2011-03-04 | 2012-09-06 | Wei Wu | Controlling Network Device Behavior |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8150995B2 (en) | 2005-09-30 | 2012-04-03 | Microsoft Corporation | Receive window auto-tuning |
WO2007043373A1 (ja) * | 2005-10-03 | 2007-04-19 | Matsushita Electric Industrial Co., Ltd. | 通信装置 |
US8094557B2 (en) * | 2008-07-09 | 2012-01-10 | International Business Machines Corporation | Adaptive fast retransmit threshold to make TCP robust to non-congestion events |
US8045463B2 (en) * | 2008-07-30 | 2011-10-25 | Microsoft Corporation | Path estimation in a wireless mesh network |
GB2485765B (en) * | 2010-11-16 | 2014-02-12 | Canon Kk | Client based congestion control mechanism |
US10057812B2 (en) * | 2011-03-21 | 2018-08-21 | Nokia Siemens Networks Oy | Method and apparatus to improve TCP performance in mobile networks |
US9456377B2 (en) * | 2011-08-19 | 2016-09-27 | Futurewei Technologies, Inc. | System and method for transmission control protocol service delivery in wireless communications systems |
JP2014003459A (ja) * | 2012-06-19 | 2014-01-09 | Hitachi Ltd | ゲートウェイ装置、及びパケット通信方法 |
JP6051939B2 (ja) * | 2013-02-27 | 2016-12-27 | 富士ゼロックス株式会社 | 帯域測定装置及びプログラム |
EP3075113A1 (en) * | 2013-11-26 | 2016-10-05 | Telefonaktiebolaget LM Ericsson (publ) | Controlling a transmission control protocol congestion window size |
-
2014
- 2014-09-26 KR KR1020140129057A patent/KR102187810B1/ko active IP Right Grant
-
2015
- 2015-09-25 US US14/866,593 patent/US10057147B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226802A1 (en) | 2011-03-04 | 2012-09-06 | Wei Wu | Controlling Network Device Behavior |
Also Published As
Publication number | Publication date |
---|---|
US20160094465A1 (en) | 2016-03-31 |
KR20160036878A (ko) | 2016-04-05 |
US10057147B2 (en) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102187810B1 (ko) | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 | |
US10237153B2 (en) | Packet retransmission method and apparatus | |
JP5580706B2 (ja) | 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法 | |
CN107852371B (zh) | 数据分组网络 | |
US20160380898A1 (en) | Controlling a transmission control protocol window size | |
JP2014143760A (ja) | 通信装置、通信システム、およびデータ通信の中継方法 | |
Wang et al. | TCP congestion control algorithm for heterogeneous Internet | |
KR20060100512A (ko) | 전송제어 프로토콜 기반의 네트워크에서 평균 대역폭 추정방법 및 시스템 | |
CN104092625B (zh) | 一种用于dcn中的自适应请求分批调度方法 | |
US10952102B2 (en) | Method and apparatus for controlling data transmission speed in wireless communication system | |
CN107852372B (zh) | 数据分组网络 | |
JP5506591B2 (ja) | 通信システム及び通信品質制御方法 | |
JP2008205932A (ja) | ノード装置および帯域制御方法 | |
KR102176176B1 (ko) | 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치 | |
US20130188511A1 (en) | Method and system for controlling transmission rate of datagrams in a packet-switched network | |
Kalav et al. | Congestion control in communication network using RED, SFQ and REM algorithm | |
Bhat et al. | MPTCP combining congestion window adaptation and packet scheduling for multi-homed device | |
JP4828555B2 (ja) | ノード装置および帯域制御方法 | |
KR101609922B1 (ko) | 피어-투-피어 기반 데이터 전송 장치 및 방법 | |
JP5436473B2 (ja) | 帯域算出方法及び装置 | |
KR102131427B1 (ko) | Sctp에서의 혼잡 제어 방법 및 장치 | |
Kadhum et al. | Fast Congestion Notification mechanism for ECN-capable routers | |
Ahmad et al. | Packet loss estimation using Poisson random process for improving multimedia transmission in MANETs | |
Zhang et al. | An optimized BBR for multipath real time video streaming | |
Takeda et al. | Performance Evaluation on Control Parameters for Segmented File Download Method Using PR-SCTP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |