KR20160036878A - 통신 시스템에서 데이터 흐름 제어 장치 및 방법 - Google Patents

통신 시스템에서 데이터 흐름 제어 장치 및 방법 Download PDF

Info

Publication number
KR20160036878A
KR20160036878A KR1020140129057A KR20140129057A KR20160036878A KR 20160036878 A KR20160036878 A KR 20160036878A KR 1020140129057 A KR1020140129057 A KR 1020140129057A KR 20140129057 A KR20140129057 A KR 20140129057A KR 20160036878 A KR20160036878 A KR 20160036878A
Authority
KR
South Korea
Prior art keywords
flow
transmission rate
sub
window
response message
Prior art date
Application number
KR1020140129057A
Other languages
English (en)
Other versions
KR102187810B1 (ko
Inventor
박세용
박세웅
주창희
박용석
변도준
이철호
Original Assignee
삼성전자주식회사
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 서울대학교산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020140129057A priority Critical patent/KR102187810B1/ko
Priority to US14/866,593 priority patent/US10057147B2/en
Publication of KR20160036878A publication Critical patent/KR20160036878A/ko
Application granted granted Critical
Publication of KR102187810B1 publication Critical patent/KR102187810B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow 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

본 발명은 통신 시스템에서 다중 경로의 데이터 흐름을 제어하는 장치 및 방법에 관한 것이다. 본 발명의 실시 예에 따른 통신 시스템에서 데이터 흐름을 제어하는 장치는, 다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 수신부; 상기 수신된 데이터의 최적 전송 속도를 계산하고 상기 최적 전송 속도를 발생시키는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 인위적인 응답 메시지를 생성하는 제어부; 및 상기 인위적인 응답 메시지를 송신 노드로 전송하는 송신부를 포함한다.

Description

통신 시스템에서 데이터 흐름 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING DATA FLOW IN A COMMUNICATION SYSTEM}
본 발명은 통신 시스템에서 다중 경로의 데이터 흐름을 제어하는 장치 및 방법에 관한 것이다.
전송 제어 프로토콜(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은 본 발명이 적용되는 다중 경로 통신 시스템을 나타낸 도면,
도 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>
Figure pat00001
상기 <수학식 3>에서
Figure pat00002
는 송신 노드(10)에서 발생되는 지연 시간이고, 는 서브플로우 r에 해당하는 네트워크에서 발생되는 지연 시간이며,
Figure pat00004
는 수신 노드(30)에서 발생되는 지연 시간이다.
상기 송신 노드(10)와 수신 노드(30)간의 서브플로우 r을 통한 데이터 전송의 지연 시간을 최소화하는 최적 전송 속도는 아래 <수학식 4>를 이용하여 계산할 수 있다.
<수학식 4>
Figure pat00005
여기서, 어플리케이션 계층의 패킷 도착 속도는 일반적인 분배(general distribution)이고, 네트워크에서 발생되는 지연 시간은 M/M/1 큐잉 지연 시간을 갖는다고 가정한다. 여기에서 M/M/1 큐잉 지연이란 패킷이 큐에 도착하고 떠나는 속도가 모두 푸아송 분포를 따른다는 의미이다.
그리고 상기 <수학식 4>를 전송속도 추정기(231)로부터 전달받은 전송속도(f)와 서브플로우 파라미터 추정기(233)로부터 전달받은 용량(cr)의 함수로 나타내면 아래 <수학식 5>와 같이 나타낼 수 있다.
<수학식 5>
Figure pat00006
다음으로, 최적 전송속도 계산기(235)는 상기 <수학식 5>에 적용되는 상기 서브플로우 r에 대한 패킷 유실율(qr)에 따른 전송 속도(
Figure pat00007
)를 다음과 같이 계산할 수 있다.
표준에서 제안하는 MPTCP 링크된 증가 알고리즘은 아래 <수학식 6>의 단위 RTT 당 전송 윈도우 증가량을 갖는다.
<수학식 6>
Figure pat00008
상기 최적 전송속도 계산기(235)는 전송 윈도우의 크기가 대역폭-지연 곱보다 작을 경우 아래 <수학식 7>을 이용하여 패킷 유실율(qr)에 따른 전송 속도(
Figure pat00009
)를 계산할 수 있고, 전송 윈도우의 크기가 대역폭-지연 곱보다 클 경우 아래 <수학식 8>을 이용하여 전송 속도(
Figure pat00010
)를 계산할 수 있다.
<수학식 7>
Figure pat00011
<수학식 8>
Figure pat00012
상기 <수학식 7> 및 <수학식 8>을 통해 상기 서브플로우 r에 대한 패킷 유실율(qr)에 따른 전송 속도(
Figure pat00013
)는 아래 <수학식 9>와 같이 나타낼 수 있다.
<수학식 9>
Figure pat00014
따라서, 최적 전송 속도 계산기(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 (15)

  1. 통신 시스템에서 데이터 흐름을 제어하는 장치에 있어서,
    다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 수신부;
    상기 수신된 데이터의 최적 전송 속도를 계산하고 상기 최적 전송 속도를 발생시키는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 인위적인 응답 메시지를 생성하는 제어부; 및
    상기 인위적인 응답 메시지를 송신 노드로 전송하는 송신부를 포함하는 데이터 흐름 제어 장치.
  2. 제 1 항에 있어서, 상기 최적 전송 속도는,
    상기 송신 노드의 어플리케이션 계층의 전송속도 및 상기 특정 서브플로우에 대한 경로 정보로부터 결정됨을 특징으로 하는 데이터 흐름 제어 장치.
  3. 제 2 항에 있어서, 상기 특정 서브플로우에 대한 경로 정보는,
    상기 특정 서브플로우에 대한 RTT(Round Trip Time), 패킷 유실율, 상기 윈도우, 용량 및 대역폭-지연 곱 중 적어도 하나의 정보를 포함함을 특징으로 하는 데이터 흐름 제어 장치.
  4. 제 3 항에 있어서, 상기 최적 전송 속도는,
    상기 송신 노드의 어플리케이션 계층의 전송속도 및 상기 용량 간의 함수로부터 계산됨을 특징으로 하는 데이터 흐름 제어 장치.
  5. 제 1 항에 있어서, 상기 윈도우 기준값은,
    상기 최적 전송 속도에 적용되는 최적 패킷 유실율에 따른 윈도우 사이즈로부터 결정됨을 특징으로 하는 데이터 흐름 제어 장치.
  6. 제 1 항에 있어서, 상기 인위적인 응답 메시지는,
    인위적인 중복 정상 응답(Duplicate acknowledge) 메시지임을 특징으로 하는 데이터 흐름 제어 장치.
  7. 제 1 항에 있어서, 상기 제어부는,
    상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값보다 작은 경우 일반적인 응답 메시지를 생성함을 특징으로 하는 데이터 흐름 제어 장치.
  8. 제 7 항에 있어서, 상기 송신부는,
    상기 일반적인 응답 메시지를 송신함을 특징으로 하는 데이터 흐름 제어 장치.
  9. 통신 시스템에서 데이터 흐름을 제어하는 방법에 있어서,
    다수의 서브플로우 중 특정 서브플로우에 대한 데이터를 수신하는 과정;
    상기 수신된 데이터의 최적 전송 속도를 계산하고 상기 최적 전송 속도를 발생시키는 윈도우 기준값을 결정하며, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값 이상인 경우 인위적인 응답 메시지를 생성하는 과정; 및
    상기 인위적인 응답 메시지를 송신 노드로 전송하는 과정을 포함하는 데이터 흐름 제어 방법.
  10. 제 9 항에 있어서, 상기 최적 전송 속도는,
    상기 송신 노드의 어플리케이션 계층의 전송속도 및 상기 특정 서브플로우에 대한 경로 정보로부터 결정됨을 특징으로 하는 데이터 흐름 제어 방법.
  11. 제 10 항에 있어서, 상기 특정 서브플로우에 대한 경로 정보는,
    상기 특정 서브플로우에 대한 RTT(Round Trip Time), 패킷 유실율, 상기 윈도우, 용량 및 대역폭-지연 곱 중 적어도 하나의 정보를 포함함을 특징으로 하는 데이터 흐름 제어 방법.
  12. 제 11 항에 있어서, 상기 최적 전송 속도는,
    상기 송신 노드의 어플리케이션 계층의 전송속도 및 상기 용량 간의 함수로부터 계산됨을 특징으로 하는 데이터 흐름 제어 방법.
  13. 제 9 항에 있어서, 상기 윈도우 기준값은,
    상기 최적 전송 속도에 적용되는 최적 패킷 유실율에 따른 윈도우 사이즈로부터 결정됨을 특징으로 하는 데이터 흐름 제어 방법.
  14. 제 9 항에 있어서, 상기 인위적인 응답 메시지는,
    인위적인 중복 정상 응답(Duplicate acknowledge) 메시지임을 특징으로 하는 데이터 흐름 제어 방법.
  15. 제 9 항에 있어서, 상기 특정 서브플로우에 대한 윈도우 크기가 상기 윈도우 기준값보다 작은 경우 일반적인 응답 메시지를 생성하는 과정; 및
    상기 일반적인 응답 메시지를 상기 송신 노드로 송신하는 과정을 더 포함함을 특징으로 하는 데이터 흐름 제어 방법.
KR1020140129057A 2014-09-26 2014-09-26 통신 시스템에서 데이터 흐름 제어 장치 및 방법 KR102187810B1 (ko)

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 true KR20160036878A (ko) 2016-04-05
KR102187810B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170142513A (ko) * 2016-06-17 2017-12-28 주식회사 케이티 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
WO2018021734A1 (ko) * 2016-07-28 2018-02-01 삼성전자 주식회사 무선 통신 시스템에서 데이터의 전송 방법 및 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3304831B1 (en) 2015-06-03 2021-11-10 VID SCALE, Inc. Enhancing performance of multi-path communications
US10200277B2 (en) 2015-12-08 2019-02-05 Nicira, Inc. Influencing path selection during a multipath connection
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
CN106059950B (zh) * 2016-05-25 2019-03-08 四川大学 一种基于scps-tp的自适应网络拥塞控制方法
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 广州华多网络科技有限公司 通信网络选路方法和装置
AU2017383561B2 (en) * 2016-12-21 2022-11-10 Dejero Labs Inc. Packet transmission system and method
CN110192394B (zh) * 2016-12-21 2023-10-20 英国电讯有限公司 通过网络传送媒体内容的方法和服务器
CN110115042B (zh) 2016-12-29 2023-02-21 英国电讯有限公司 在网络中输送视频序列的方法、数据发送器
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
KR101564697B1 (ko) * 2011-03-21 2015-10-30 노키아 솔루션스 앤드 네트웍스 오와이 이동 네트워크들에서 tcp 성능을 개선시키기 위한 방법 및 장치
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226802A1 (en) * 2011-03-04 2012-09-06 Wei Wu Controlling Network Device Behavior

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170142513A (ko) * 2016-06-17 2017-12-28 주식회사 케이티 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
WO2018021734A1 (ko) * 2016-07-28 2018-02-01 삼성전자 주식회사 무선 통신 시스템에서 데이터의 전송 방법 및 장치
US11252608B2 (en) 2016-07-28 2022-02-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in wireless communication system

Also Published As

Publication number Publication date
US10057147B2 (en) 2018-08-21
KR102187810B1 (ko) 2020-12-08
US20160094465A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
KR102187810B1 (ko) 통신 시스템에서 데이터 흐름 제어 장치 및 방법
CN107852371B (zh) 数据分组网络
JP2014143760A (ja) 通信装置、通信システム、およびデータ通信の中継方法
JP6777650B2 (ja) Tcpトンネル及びネイティブtcp情報に基づくバンドリングシナリオにおけるパケットのスケジューリングのための方法及びシステム
KR20150089853A (ko) 이종 무선망에서 트래픽 분산 제어방법 및 장치
Wang et al. TCP congestion control algorithm for heterogeneous Internet
WO2015078492A1 (en) Controlling a transmission control protocol window size
KR20060100512A (ko) 전송제어 프로토콜 기반의 네트워크에서 평균 대역폭 추정방법 및 시스템
KR20180013174A (ko) 무선 통신 시스템에서 데이터의 전송 방법 및 장치
EP3471458B1 (en) Method and apparatus for controlling data transmission speed in wireless communication system
CN107852372B (zh) 数据分组网络
JP2008205932A (ja) ノード装置および帯域制御方法
KR102176176B1 (ko) 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치
Wallace et al. On-demand scheduling for concurrent multipath transfer under delay-based disparity
Park et al. Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach
Latif et al. An investigation of scheduling and packet reordering algorithms for bandwidth aggregation in heterogeneous wireless networks
JP6010502B2 (ja) パケット処理方法及びパケット処理装置
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
KR101609922B1 (ko) 피어-투-피어 기반 데이터 전송 장치 및 방법
JP5436473B2 (ja) 帯域算出方法及び装置
KR102131427B1 (ko) Sctp에서의 혼잡 제어 방법 및 장치
JP4828555B2 (ja) ノード装置および帯域制御方法
Kadhum et al. Fast Congestion Notification mechanism for ECN-capable routers
Takeda et al. Performance Evaluation on Control Parameters for Segmented File Download Method Using PR-SCTP
JP4977677B2 (ja) エッジノードおよび帯域制御方法

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