KR102389104B1 - Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법 - Google Patents

Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법 Download PDF

Info

Publication number
KR102389104B1
KR102389104B1 KR1020190040956A KR20190040956A KR102389104B1 KR 102389104 B1 KR102389104 B1 KR 102389104B1 KR 1020190040956 A KR1020190040956 A KR 1020190040956A KR 20190040956 A KR20190040956 A KR 20190040956A KR 102389104 B1 KR102389104 B1 KR 102389104B1
Authority
KR
South Korea
Prior art keywords
value
congestion window
node
function approximator
network
Prior art date
Application number
KR1020190040956A
Other languages
English (en)
Other versions
KR20200118686A (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 KR1020190040956A priority Critical patent/KR102389104B1/ko
Priority to US16/812,018 priority patent/US11178056B2/en
Publication of KR20200118686A publication Critical patent/KR20200118686A/ko
Application granted granted Critical
Publication of KR102389104B1 publication Critical patent/KR102389104B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/11Identifying congestion
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Abstract

복수의 네트워크 또는 통신 방식이 공존하는 환경에서 패킷을 전송하는 통신 방법이 개시된다. 본 발명의 일 실시예에 따른 통신 방법은, 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신하는 단계; 상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정하는 단계; 및 결정된 TCP 혼잡 윈도우에 따라 패킷을 전송하는 단계를 포함할 수 있다.

Description

TCP 혼잡 윈도우를 최적화하는 통신 장치 및 방법{COMMUNICATION APPARATUS AND METHOD FOR OPTIMIZING TCP CONGESTION WINDOW}
본 발명은 통신 장치 및 방법에 관한 것으로, 더욱 상세하게는 TCP 혼잡 윈도우를 최적화하는 통신 장치 및 방법에 관한 것이다.
수많은 에이전트들이 네트워크에 연결되어 주어진 임무 달성을 위해 동작하는 환경에서, 이러한 에이전트들을 중앙 집중적으로 관리 및 운영하기는 점점 힘들어져가고 있다. 그에 따라 각 에이전트가 지능을 가지고 에이전트들 간 자율 협력이 가능한 분산지능 기술이 점점 더 중요해지고 있다.
분산지능은 작은 여러 개의 지능과 이 지능에 기반한 자율적 협력의 전제 조건이 된다. 이러한 분산지능 기술에서 수많은 에이전트들과 주변 IoT 사물들과의 상호 작용 그리고 에이전트들 간 협업을 가능케 하는 통신이 핵심 기술이며, 다양한 네트워크 환경에 존재하는 에이전트/사물들 간 통신을 최적화하는 것이 필수적인 요소이다. 에이전트들의 개수가 많아질수록, 환경이 다양해질수록 그 중요성은 더욱 더 커질 것이다.
최근 모바일 엣지 컴퓨팅(Mobile edge computing), NFV(Network Function Virtualization)/SDN(Software Defined Networking), 5G 등 다양한 네트워크 기술들의 발전 및 도입과 스마트폰, 노트북, 키오스크, 자동차 등 다양한 무선 엔드 디바이스의 등장 및 확산으로 인해, 네트워크의 다양성이 증가하고 네트워크 구조는 점점 더 복잡해지고 있다.
그 결과, 네트워크 역동성(dynamicity)은 크게 증가하여 쓰루풋(throughput), RTT(Round Trip Time), PLR(Packet Loss Rate) 등 네트워크 상태 변동 정도 및 그 폭은 갈수록 커지고 있을뿐만 아니라 네트워크를 모델링하는 것은 거의 불가능에 가까워지고 있다. 따라서, 이러한 네트워크 상에 위치한 에이전트들 간 통신을 최적화하는 데 기존의 규칙 기반 최적화 기법을 사용하는 것은 더 이상 유효한 해법이 되지 못하고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 학습에 기반하여 TCP 혼잡 윈도우의 크기를 최적화하는 통신 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 상기 TCP 혼잡 윈도우의 크기를 최적화하는 통신 방법을 이용하는 통신 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 통신 장치는, 복수의 네트워크 또는 통신 방식이 공존하는 환경에서 패킷을 전송하는 통신 장치로서, 프로세서; 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함할 수 있다.
여기서, 상기 적어도 하나의 명령은, 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신하도록 하는 명령; 상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정하도록 하는 명령; 및 결정된 TCP 혼잡 윈도우 크기에 따라 패킷을 전송하도록 하는 명령을 포함할 수 있다.
상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP 혼잡 윈도우 크기를 결정하도록 하는 명령은, 학습된 함수 근사기(function approximator)를 이용해 TCP 혼잡 윈도우를 결정하도록 하는 명령을 포함할 수 있다.
상기 함수 근사기는 강화 학습 또는 지도 학습 방식을 이용해 학습될 수 있다. 이때, 상기 함수 근사기는 예를 들어, 적어도 하나의 상태(state)를 입력 노드로 가지고 적어도 하나의 액션(action)을 출력 노드로 갖는 DNN(Deep Neural Network)일 수 있고, LSTM(Long Short-Term Memory models)를 추가로 포함할 수 있다.
상기 적어도 하나의 상태는, 패킷의 평균 전송 간격, 평균 RTT(Round Trip Time), 평균 ACK 도착 간격, TCP 혼잡 윈도우의 크기, 및 패킷 손실률 중 하나 이상을 포함할 수 있다.
여기서, 액션의 각 노드는 십진수로 표현되는 혼잡 윈도우의 크기 값의 각 자릿수에 대응하며, 함수 근사기에 의해 출력되는 TCP 혼잡 윈도우의 값은 상기 액션 노드의 각 노드가 가지는 값에 각 액션 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출될 수 있다.
추가적으로, 함수 근사기의 상태 노드는 네트워크의 현재 상태 및 과거 상태가 적층된 형태의 값을 가질 수 있으며, 상기 보상은 통신 장치의 액션에 대해 네트워크가 상기 통신 장치로 피드백하는 정보를 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 통신 방법은 복수의 네트워크 또는 통신 방식이 공존하는 환경에서 패킷을 전송하는 통신 방법에 관한 것으로, 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신하는 단계; 상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정하는 단계; 및 결정된 TCP 혼잡 윈도우에 따라 패킷을 전송하는 단계를 포함할 수 있다.
상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP 혼잡 윈도우 크기를 결정하도록 하는 단계는, 학습된 함수 근사기(function approximator)를 이용해 TCP 혼잡 윈도우를 결정하도록 하는 단계를 포함할 수 있다.
상기 함수 근사기는 강화 학습 또는 지도 학습 방식을 이용해 학습될 수 있다. 이때, 상기 함수 근사기는 예를 들어, 적어도 하나의 상태(state)를 입력 노드로 가지고 적어도 하나의 액션(action)을 출력 노드로 갖는 DNN(Deep Neural Network)일 수 있고, LSTM(Long Short-Term Memory models)를 추가로 포함할 수 있다.
상기 적어도 하나의 상태는, 패킷의 평균 전송 간격, 평균 RTT(Round Trip Time), 평균 ACK 도착 간격, TCP 혼잡 윈도우의 크기, 및 패킷 손실률 중 하나 이상을 포함할 수 있다.
여기서, 액션의 각 노드는 십진수로 표현되는 혼잡 윈도우의 크기 값의 각 자릿수에 대응하며, 함수 근사기에 의해 출력되는 TCP 혼잡 윈도우의 값은 상기 액션 노드의 각 노드가 가지는 값에 각 액션 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출될 수 있다.
추가적으로, 함수 근사기의 상태 노드는 네트워크의 현재 상태 및 과거 상태가 적층된 형태의 값을 가질 수 있으며, 상기 보상은 통신 장치의 액션에 대해 네트워크가 상기 통신 장치로 피드백하는 정보를 포함할 수 있다.
상기와 같은 본 발명의 실시예들에 따르면 다양한 네트워크가 공존하는 환경에서 급격하게 변하는 채널 상황에 빠르게 대처 가능하다.
또한, 네트워크 상태에 대한 부분 관찰가능성의 문제를 해결함으로써 네트워크 상태에 대한 보다 정확한 판단이 가능하다.
추가적으로, 본 발명은 TCP 송신기에 적용되는 기술적 사항에 관련되므로 기 존재하는 네트워크에 적용하기 용이하다.
도 1은 본 발명의 일 실시예에 따른 통신 최적화 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 함수 근사기(function approximator)의 상태 및 액션을 설명하기 위한 개념도이다.
도 3은 본 발명에 따른 함수 근사기의 상태 입력의 일 실시예를 설명하기 위한 개념도이다.
도 4는 본 발명에 따른 함수 근사기의 액션 출력의 일 실시예를 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따라 최적의 TCP 혼잡 윈도우의 크기 값을 설정하는 통신 방법의 동작 순서도이다.
도 6은 본 발명의 일 실시예에 따른 통신 장치의 블록 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
모바일 네트워크를 타겟으로 한 Freeze-TCP, 리눅스 디폴트 혼잡 제어 알고리즘인 cubic, 데이터센터를 타겟으로 한 DCTCP(Data Center TCP), 그리고 최근에 널리 사용되는 BBR(Bottleneck Bandwidth and Round-trip propagation time) 등 TCP는 오래전부터 널리 연구되고 있는 주제이자, 지금까지도 꾸준히 연구되고 있는 주제이다. 꾸준히 연구될 수 있었던 배경에는, 이들 대부분이 네트워크 모델링 및 분석을 통해 최적의 규칙(rule)을 찾는 것에 기반하는데, 네트워크 기술 발전에 따라 네트워크 모델이 계속 변한다는 사실이 있다.
이러한 사실은 고정된 규칙 기반(fixed rule-based) TCP 혼잡 제어가, 다양한 네트워크 기술들이 공존하며 네트워크 상태 변화가 심한 환경에서는 높은 성능을 보장하지 못함을 의미할 수 있다.
따라서, 본 발명에서는 지속적으로 네트워크 환경을 관찰하고 네트워크 환경 변화에 따라 스스로 학습할 수 있는 TCP(Transmission Control Protocol) 혼잡 제어 방법을 제시하고자 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 통신 최적화 시스템의 블록 구성도이다.
도 1에 도시된 바와 같이 본 발명의 일 실시예에 따른 통신 최적화 시스템은 TCP 송신기(100), TCP 수신기(300) 및 TCP 송신기와 TCP 수신기 사이에 위치하는 네트워크(200)를 포함할 수 있다.
TCP 송신기(100)는 네트워크 상태 값, 네트워크로부터의 보상 등의 정보를 관측 혹은 수신하는 부분, 입력 받은 정보를 바탕으로 TCP 혼잡 윈도우 크기를 결정하는 부분, 결정된 TCP 혼잡 윈도우를 기반으로 패킷 전송을 담당하는 부분을 포함하여 구성될 수 있다.
한편, 도 1에 도시된 예에서 통신 장치 100를 TCP 송신기로 명명한 것은 본 발명에 따른 기능 또는 동작을 보다 손쉽게 설명하기 위한 것으로, TCP 송신기(100)가 네트워크를 통해 패킷을 수신하는 경우에는 TCP 수신기가 될 수 있으며, 통신 장치 300이 패킷을 송신하는 경우에는 해당 장치가 TCP 송신기가 될 수 있음이 이해되어야 할 것이다.
네트워크(200)는 TCP 송신기(100) 및 TCP 수신기(300) 사이에 위치하는 네트워크로서 유무선 인터넷, 클라우드 등을 포함하여 구성될 수 있으며, 필요에 따라 TCP 송신기에게 보상 값을 추가로 제공할 수 있다.
TCP 송신기는 네트워크 상태를 관측하고 해당 관측 값을 함수 근사기(function approximator), 예를 들어, DNN(Deep Neural Network)의 입력 값으로 사용해 최적 액션인 TCP 혼잡 윈도우의 크기 값을 결정한다. 본 발명의 일 실시예에 따른 TCP 송신기는 함수 근사기의 파라미터를 학습하기 위해, 고정된 규칙 기반이 아닌 학습 기반 방식을 사용한다. 학습 방법은 상태-최적 액션(action) 매핑 기반의 지도 학습(supervised learning) 혹은 보상 기반의 강화 학습(Reinforcement Learning) 등을 이용할 수 있다.
지도 학습은 어떤 도메인의 전문가로부터 적절히 분류된(labeled) 학습 데이터를 제공받아 학습하는 기법으로, 제공된 학습 데이터를 통해 학습함으로써 새로운 입력에 대해서도 적절한 출력을 보일 것을 기대할 수 있다.
강화 학습은 연속 결정 문제(sequential decision problem), 행동 제어 문제(behavior control problem) 등의 문제 해결 방법으로 제시되고 있다. 강화 학습은 탐험(exploration) 과 이용(exploitation)을 통해 환경과 상호작용하며 행동의 결과로 나타나는 보상을 통해 (비연속적; discounted) 누적 보상(cumulative reward)을 최대화하는 정책(policy)을 학습하는 기법이다. 여기서, 정책은 현재의 상태에 대해 어떤 행동을 결정하는 역할을 하며, 보통 정책은 확률적인 경우가 많다. 즉, 강화학습이란 주어진 어떤 상황(situation; state)에서 보상(reward)을 최대화할 수 있는 행동(action)에 대해 학습하는 것으로, 학습의 주체(agent)가 상황에 가장 적합한 행동을 찾기까지는 많은 시행착오가 필요한 것이 일반적이다. 보상은 에이전트, 예를 들어, TCP 송신기가 어떤 행동(action)을 할 때마다 환경이 에이전트, 즉 TCP 송신기에게 보내주는 정보 또는 숫자일 수 있다. 통상적으로 보상은 상태와 행동에 대한 확률함수로 나타낼 수 있다.
강화 학습의 이러한 문제 해결 방법은, ACK 도착 등 특정 이벤트의 발생 시점마다 혼잡 윈도우(CWND) 등의 매개변수들을 결정해야 하는 연속적인 결정 문제인 TCP 혼잡 제어와 잘 어울리는 문제 해결 방법이다.
추가적으로, 본 발명에 따른 TCP 송신기는, TCP 혼잡 윈도우 크기 결정 시 TCP 혼잡 윈도우 크기를 증가 혹은 감소시킬지 결정하는 것이 아니고 TCP 혼잡 윈도우 크기 자체를 결정한다. 통상적인 TCP 송신기는 CWND 를 증가 혹은 감소시키는 액션 공간을 고려하고 있기 때문에 급격한 채널 변동(channel fluctuation) 등으로 인해 동적으로 변하는 네트워크 환경에 대처하기 어렵다. 이에 반해, 본 발명에 따른 TCP 송신기는 TCP 혼잡 윈도우 크기 자체를 액션 공간으로 설정하여 활용함으로써 급변하는 네트워크 환경에 신속용이하게 대응할 수 있다.
또한, 본 발명에서는 네트워크 상태 입력 시 현재 상태만이 아닌 과거의 상태 값들을 함께 이용한다. 일반적으로 TCP 송신기는 네트워크 토폴로지(topology), 용량(capacity), 트래픽 플로우(traffic flows) 등에 대한 전체 정보를 알 수 없기에, 자신이 관측할 수 있는 일부 정보만을 이용해서 혼잡제어를 수행한다. 즉, 강화학습 기반의 통상적인 TCP장치들은 네트워크 상태의 부분 관찰가능성(partial observability)을 고려하지 않고 동작할 수 있고, 그에 따라 현재의 관찰만을 이용해 액션을 결정하는 경우, 성능 저하가 발생할 수 있다. 따라서, 본 발명에서는 네트워크 상태 입력 시 현재 상태만이 아닌 과거의 상태 값들을 함께 이용한다.
이처럼, 본 발명에서는 다양한 유/무선 네트워크 기술들이 혼재하여 네트워크 모델링이 불가능하고 대역폭, RTT 등의 네트워크 상태가 변화가 심한 최근 네트워크 환경에서 네트워크 성능을 향상시키기 위해 네트워크 트래픽의 대부분을 차지하는 TCP(Transmission Control Protocol)를 최적화하는 방법, 보다 구체적으로는 규칙이 아닌 학습 기반으로 TCP 혼잡 윈도우의 크기를 결정하는 장치 및 방법을 제공한다.
도 2는 본 발명의 일 실시예에 따른 함수 근사기(function approximator)의 상태 및 액션을 설명하기 위한 개념도이다.
좀더 구체적으로, 도 2에서는 본 발명의 일 실시예로서 함수 근사기로 사용될 수 있는 DNN의 입력인 상태 공간(state space)과 출력인 액션 공간(action space)을 나타낸다. 앞서 설명한 바와 같이 본 발명에 따른 TCP 송신기는 함수 근사기(function approximator)를 이용해 혼잡 윈도우 크기를 결정하며, 도 2에서는 함수 근사기의 일 예로 심층신경망을 들어 본 발명에 따른 상태 공간과 액션 공간을 설명한다.
함수 근사기는, 사용하는 데이터의 양이 방대하여 모두 저장하는 데 한계가 있을 때 해당 데이터의 일정한 경향성을 판단하여 이를 함수화시켜놓고 사용하는 개념이다. 함수 근사기를 통해 실제 가지고 있지 않은 데이터도 함수를 통해 구할 수 있으며, 실제 데이터의 노이즈를 배제하고 훈련할 수 있으며, 고차원의 데이터도 효율적으로 저장이 가능하다는 이점을 얻을 수 있다. 예를 들어, 각 데이터들이 만약 ax3+bx2+cx+d라는 식의 형태로 표현이 가능한 경우, 실제 데이터를 모두 저장하는 대신, 파라미터 (a,b,c,d)만 저장하여 활용할 수 있다. 이처럼 강화학습에서는 차원이 큰 문제를 다루기 위해 테이블을 이용해 값을 저장하는 것이 아닌 새로운 변수에 대해 파라미터화한 함수를 이용하는데, 함수 근사기는 이렇게 파라미터를 이용하여 실제 값에 근사화하도록 역할을 수행하는 라고 칭할 수 있다.
한편, 본 발명에서는 함수 근사기의 바람직한 일 실시예로서 심층신경망을 사용한다. 심층신경망(Deep Neural Network)은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)을 포함하는 인공 신경망(ANN: Artificial Neural Network)이다. 인공 신경망은 기초 컴퓨팅 단위인 뉴런 여러 개가 가중된 링크(weighted link)로 연결된 형태로, 하드웨어로 구현될 수도 있으나, 주로 컴퓨터 소프트웨어로 구현된다.
도 2를 참조하면, 심층신경망의 입력이 되는 상태 공간은 TCP 송신기가 네트워크로부터 관측할 수 있는 정보, TCP 수신기가 관측할 수 있는 정보, 네트워크가 별도로 제공할 수 있는 정보를 포함할 수 있다.
TCP 송신기가 네트워크로부터 관측할 수 있는 정보는, 평균 패킷 전송 간격, 평균 ACK 도착 간격, 평균 RTT, CWND, 패킷 손실율 등을 포함할 수 있다. TCP 수신기가 관측할 수 있는 정보는, 평균 패킷 수신 간격, 평균 ACK 전송 간격 등을 포함할 수 있다. 또한, 네트워크가 별도로 제공할 수 있는 정보는, 라우터 큐에 존재하는 패킷의 개수, 현재 네트워크에 존재하는 TCP 송신기의 개수, 현재 링크 활용(utilization) 등을 포함할 수 있다.
심층신경망의 출력인 액션 공간(Action space)은 혼잡 윈도우(CWND) 크기 값으로 설정될 수 있다. 기존의 AIMD(additive increase, multiplicative decrease), AIAD(additive increase, additive decrease) 등의 방식과는 달리, 본 발명에서는 액션 공간에 CWND 값을 설정하여 CWND 값을 실제로 직접 결정할 수 있다. 이 때, 실제 CWDN 값을 직접 결정하도록 액션 공간(action space)을 정의하면 액션 공간 사이즈(action space size)가 커지는 문제점이 발생한다. 이를 해결하기 위해 본 발명에서는 함수 근사기(function approximator)의 출력 노드 각각을 CWND 자리에 매칭시키는 방법을 제공한다.
도 3은 본 발명에 따른 함수 근사기의 상태 입력의 일 실시예를 설명하기 위한 개념도이다.
도 3에서는 네트워크 상태의 부분 관찰가능성(partial observability) 문제 해결을 위해 함수 근사기의 입력 값으로 적층된 상태(stacked state)를 설정하는 방식의 개념을 도시한다.
적층된 상태란 현재 상태뿐만 아니라 과거 몇 단계 전까지의 상태를 적층하였다는 의미이다. 입력 값을 수정하는 적층된 상태를 이용하는 방식 외에도 함수 근사기에 LSTM(Long Short-Term Memory models) 등의 RNN을 추가하는 방식을 이용할 수도 있다. 물론, 적층된 상태를 이용하는 방식 및 별도의 RNN을 추가하는 방식 두 가지를 함께 이용할 수도 있다. 이렇게 함으로써 과거의 정보도 함께 고려해서 결정을 내릴 수 있기에 부분 관찰가능성 문제를 해결할 수 있게 된다.
도 4는 본 발명에 따른 함수 근사기의 액션 출력의 일 실시예를 설명하기 위한 개념도이다.
앞서 도 2의 실시예를 통해 본 발명에서 액션 공간에 CWND 크기 값을 설정하여 CWND 크기 값을 실제로 직접 결정할 수 있음을 살펴보았다. 이 때, 함수 근사기로 사용한 DNN의 출력 노드를 실제 CWND 값으로 설정하게 되면DNN의 액션 공간 사이즈가 커져서 학습이 어려워진다. 이를 해결하기 위해 본 실시예에서는 함수 근사기의 출력 노드 각각을 CWND 의 각 자리에 매칭시키는 방법을 제공한다.
도 4에서는 액션 공간 구성에 따른 CWND 계산의 일 예를 보여준다. 도 4를 참조하면, 즉, 5개의 출력 노드를 가정하였을 때, DNN의 출력 노드 1, 노드 2, 노드 3, 노드 4, 노드 5의 출력 값이 각각 3, 2, 1, 7, 5인 경우가 도시되어 있다. 본 실시예에서 출력 노드 각각은 예를 들어, 십진수로 표기되는 혼잡 윈도우의 크기 값의 각 자릿수에 해당하는 값이다. 따라서, 이 경우 도 4의 출력 노드가 나타내는 실제 혼잡윈도우의 크기 값은 32,175가 된다.
이러한 방법을 사용하면, 예를 들어, 0부터 99,999까지 100,000개의, 액션 공간에 소요되는 데이터를 50개의 데이터로 줄이는 효과를 얻을 수 있다. 즉, 도 4에 도시된 실시예를 따르는 경우 혼잡 윈도우의 실제 값을 표현하는 데 필요한 액션 공간의 개수를 줄이는 효과를 얻을 수 있다.
이때, 출력 노드의 개수는 대상 환경에 따라서 다르게 구성할 수 있는데, 주어진 네트워크 환경에서 CWND 값이 9,999까지 표현되는 경우 필요한 출력 노드의 개수는 4개이다.
즉, 본 발명에서 함수 근사기로 이용되는 DNN의 출력 노드는 십진수로 표현되는 혼잡 윈도우의 크기 값의 자릿수 중 하나에 대응할 수 있다. 따라서, DNN의 출력 노드는 0에서 9까지의 숫자 중 하나의 값을 가질 수 있고, 혼잡 윈도우의 크기 값은 각 출력 노드의 값에 해당 출력 노드에 대응하는 자릿수에 해당하는 값을 곱하여 도출할 수 있다.
도 5는 본 발명의 일 실시예에 따라 최적의 TCP 혼잡 윈도우의 크기 값을 설정하는 통신 방법의 동작 순서도이다.
도 5에 도시된 TCP 혼잡 윈도우 설정 방법은 본 발명의 일 실시예를 통해 설명한 TCP 송신기에 의해 수행될 수 있으나, 동작 주체가 이에 한정되는 것은 아니다. 본 발명의 일 실시예에 따른 통신 방법은, 복수의 네트워크 또는 통신 방식이 공존하는 환경에서 패킷을 전송하는 통신 방법에 관한 것이다.
본 발명에 따른 통신 방법에서는 함수 근사기를 학습시키는 단계(S510)가 선행될 수 있다. 함수 근사기는 강화 학습 또는 지도 학습 방식을 이용해 학습될 수 있다. 함수 근사기는 예를 들어, 적어도 하나의 상태(state)를 입력 노드로 가지고 적어도 하나의 액션(action)을 출력 노드로 갖는 DNN(Deep Neural Network)일 수 있고, LSTM(Long Short-Term Memory models)를 추가로 포함할 수 있다.
함수 근사기에 대한 학습이 완료되면 학습된 함수 근사기를 이용해 TCP 혼잡 윈도우의 크기를 결정하고 TCP 혼잡 윈도우를 이용해 패킷을 전송하는 단계(S520)가 이어질 수 있다.
보다 구체적으로, 학습된 함수 근사기를 포함하는 통신 장치는 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신한다(S521). 통신 장치는 네트워크로부터 수신한 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정한다(S522). 이후 TCP 송신기는 결정된 TCP 혼잡 윈도우에 따라 패킷을 전송한다(S523).
한편, 도 5의 실시예에서는 도시의 편의상 함수 근사기의 학습 과정(S510) 이후에 함수 근사기를 이용해 TCP 혼잡 윈도우의 크기를 결정하고 TCP 혼잡 윈도우를 이용해 패킷을 전송하는 과정(S520)이 수행되는 것으로 설명하였으나, 함수 근사기의 학습 과정(S510)은 주기적 또는 반복적으로 수행되는 TCP 혼잡 윈도우의 크기 결정 및 패킷 전송 과정(S520) 중에 또는 이후에 추가적으로 수행될 수 있다.
도 6은 본 발명의 일 실시예에 따른 통신 장치의 블록 구성도이다.
도 6을 참조하면, 통신 장치(100)는 적어도 하나의 프로세서(110), 메모리(120) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(130)를 포함할 수 있다. 또한, 통신 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다.
통신 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다. 다만, 통신 장치(100)에 포함된 각각의 구성요소들은 공통 버스(170)가 아니라, 프로세서(110)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다. 예를 들어, 프로세서(110)는 메모리(120), 송수신 장치(130), 입력 인터페이스 장치(140), 출력 인터페이스 장치(150) 및 저장 장치(160) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수도 있다.
프로세서(110)는 메모리(120) 및 저장 장치(160) 중 적어도 하나에 저장된 적어도 하나의 명령 또는 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
여기서, 메모리(120) 및 저장 장치(160) 중 적어도 하나에 저장된 적어도 하나의 명령은, 상기 프로세서로 하여금, 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신하도록 하는 명령; 상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정하도록 하는 명령; 및 결정된 TCP 혼잡 윈도우 크기에 따라 패킷을 전송하도록 하는 명령을 포함할 수 있다.
상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP 혼잡 윈도우 크기를 결정하도록 하는 명령은, 학습된 함수 근사기(function approximator)를 이용해 TCP 혼잡 윈도우를 결정하도록 하는 명령을 포함할 수 있다.
상기 함수 근사기는 강화 학습 또는 지도 학습 방식을 이용해 학습될 수 있다. 이때, 상기 함수 근사기는 예를 들어, 적어도 하나의 상태(state)를 입력 노드로 가지고 적어도 하나의 액션(action)을 출력 노드로 갖는 DNN(Deep Neural Network)일 수 있고, LSTM(Long Short-Term Memory models)를 추가로 포함할 수 있다.
상기 적어도 하나의 상태는, 패킷의 평균 전송 간격, 평균 RTT(Round Trip Time), 평균 ACK 도착 간격, TCP 혼잡 윈도우의 크기, 및 패킷 손실률 중 하나 이상을 포함할 수 있다.
여기서, 액션의 각 노드는 십진수로 표현되는 혼잡 윈도우의 크기 값의 각 자릿수에 대응하며, 함수 근사기에 의해 출력되는 TCP 혼잡 윈도우의 값은 상기 액션 노드의 각 노드가 가지는 값에 각 액션 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출될 수 있다.
추가적으로, 함수 근사기의 상태 노드는 네트워크의 현재 상태 및 과거 상태가 적층된 형태의 값을 가질 수 있으며, 상기 보상은 통신 장치의 액션에 대해 네트워크가 상기 통신 장치로 피드백하는 정보를 포함할 수 있다.
상술한 실시예들을 통해 설명한 본 발명은, 첫째, TCP 혼잡 윈도우 크기를 직접 결정함에 따라서 네트워크 대역폭의 급격한 변화에 빠르게 대처할 수 있다. 예를 들어, 밀리미터파(mmWave) 통신 하에서 모바일 단말이 LoS(line-of-sight) 구간에서 non-LoS 구간으로 혹은 non-LoS 구간에서 LoS 구간으로 이동 시, 네트워크 대역폭은 급격하게 변하게 된다. 이때, 기존 AIMD, AIAD 기반의 CWND 제어로는 여러 RTT 를 필요로 하지만, 본 발명은 네트워크 상태에 최적화된 CWND 값을 바로 결정하기 때문에 빠르게 대처 가능하다.
둘째, 네트워크 상태의 부분 관찰가능성의 문제 해결을 위해 과거 네트워크 상태 정보들도 사용하여 네트워크 상태의 근사(approximation) 정확도를 향상시킴으로써 TCP 혼잡 윈도우 크기 설정의 성능을 높일 수 있다.
셋째, 기존 무선 네트워크에 특화된 TCP 혼잡제어 기법들은 PHY/MAC 레이어 정보를 필요로 하는 크로스-레이어(cross-layer) 기반이기에 배치되기 어려웠지만, 본 발명은 TCP 송신기에 적용되는 기술적 사항에 관련되므로 기 존재하는 네트워크에 적용하기 용이하다.
본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: TCP 송신기 200: 네트워크
300: TCP 수신기 110: 프로세서
120: 메모리 130: 송수신 장치
140: 입력 인터페이스 장치 150: 출력 인터페이스 장치
160: 저장 장치

Claims (20)

  1. 복수의 네트워크 또는 통신 방식이 공존하는 환경에서 수신 장치로 패킷을 전송하는 통신 장치로서,
    프로세서; 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 명령은,
    적어도 하나의 상태(state)를 입력 노드로 가지고 적어도 하나의 액션(action)을 출력 노드로 갖는 DNN(Deep Neural Network)인 함수 근사기(function approximator)를 훈련시키도록 하는 명령;
    상기 복수의 네트워크 중 미리 결정되는 네트워크로부터 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신하도록 하는 명령;
    훈련된 함수 근사기를 이용하여 상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정하도록 하는 명령; 및
    결정된 TCP 혼잡 윈도우 크기에 따라 패킷을 상기 미리 결정된 네트워크를 통해 상기 수신 장치로 전송하도록 하는 명령을 포함하며,
    상기 훈련된 함수 근사기에 의해 결정되는 상기 TCP 혼잡 윈도우 크기는 상기 출력 노드의 각 노드가 가지는 값에 각 출력 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출되는, 통신 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 함수 근사기는 강화 학습 또는 지도 학습 방식을 이용해 학습된, 통신 장치.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 적어도 하나의 상태는,
    패킷의 평균 전송 간격, 평균 RTT(Round Trip Time), 평균 ACK 도착 간격, TCP 혼잡 윈도우의 크기, 및 패킷 손실률 중 하나 이상을 포함하는, 통신 장치.
  6. 청구항 1에 있어서,
    상기 적어도 하나의 액션의 각 노드는 십진수로 표현되는 TCP 혼잡 윈도우의 크기 값의 각 자릿수에 대응하는, 통신 장치.
  7. 청구항 6에 있어서,
    상기 함수 근사기에 의해 출력되는 TCP 혼잡 윈도우의 값은 상기 적어도 하나의 액션의 각 노드가 가지는 값에 각 액션 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출되는, 통신 장치.
  8. 청구항 1에 있어서,
    상기 함수 근사기의 상태 노드는 네트워크의 현재 상태 및 과거 상태가 적층된 형태의 값을 갖는, 통신 장치.
  9. 청구항 1에 있어서,
    상기 함수 근사기는 LSTM(Long Short-Term Memory models)를 포함하는, 통신 장치.
  10. 청구항 1에 있어서,
    상기 보상 관련 정보는 상기 적어도 하나의 액션에 대해 상기 미리 결정되는 네트워크가 상기 통신 장치로 피드백하는 정보를 포함하는, 통신 장치.
  11. 복수의 네트워크 또는 통신 방식이 공존하는 환경에서 통신 장치가 수신 장치로 패킷을 전송하는 통신 방법으로,
    적어도 하나의 상태(state)를 입력 노드로 가지고 적어도 하나의 액션(action)을 출력 노드로 갖는 DNN(Deep Neural Network)인 함수 근사기(function approximator)를 훈련시키는 단계;
    상기 복수의 네트워크 중 미리 결정되는 네트워크로부터 네트워크 상태에 대한 적어도 하나의 관찰 값 또는 보상 관련 정보를 수신하는 단계;
    훈련된 함수 근사기를 이용하여 상기 적어도 하나의 관찰 값 또는 보상 관련 정보를 기초로 TCP (Transmission Control Protocol) 혼잡 윈도우 크기를 결정하는 단계; 및
    결정된 TCP 혼잡 윈도우에 따라 패킷을 상기 미리 결정된 네트워크를 통해 상기 수신 장치로 전송하는 단계를 포함하며,
    상기 훈련된 함수 근사기에 의해 결정되는 상기 TCP 혼잡 윈도우 크기는 상기 출력 노드의 각 노드가 가지는 값에 각 출력 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출되는, 통신 방법.
  12. 삭제
  13. 청구항 11에 있어서,
    상기 함수 근사기는 강화 학습 또는 지도 학습 방식을 이용해 학습된, 통신 방법.
  14. 삭제
  15. 청구항 11에 있어서,
    상기 적어도 하나의 상태는, 패킷의 평균 전송 간격, 평균 RTT(Round Trip Time), 평균 ACK 도착 간격, TCP 혼잡 윈도우의 크기, 및 패킷 손실률 중 하나 이상을 포함하는, 통신 방법.
  16. 청구항 11에 있어서,
    상기 적어도 하나의 액션의 각 노드는 십진수로 표현되는 TCP 혼잡 윈도우의 크기 값의 각 자릿수에 대응하는, 통신 방법.
  17. 청구항 16에 있어서,
    상기 함수 근사기에 의해 출력되는 TCP 혼잡 윈도우의 값은 상기 적어도 하나의 액션의 각 노드가 가지는 값에 각 액션 노드에 대응하는 자릿수에 해당하는 값을 곱하여 산출되는, 통신 방법.
  18. 청구항 11에 있어서,
    상기 함수 근사기의 상태 노드는 네트워크의 현재 상태 및 과거 상태가 적층된 형태의 값을 갖는, 통신 방법.
  19. 청구항 11에 있어서,
    상기 함수 근사기는 LSTM(Long Short-Term Memory models)를 포함하는, 통신 방법.
  20. 청구항 11에 있어서,
    상기 보상 관련 정보는 상기 액션에 대해 상기 미리 결정되는 네트워크가 상기 통신 장치로 피드백하는 정보를 포함하는, 통신 방법.
KR1020190040956A 2019-04-08 2019-04-08 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법 KR102389104B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190040956A KR102389104B1 (ko) 2019-04-08 2019-04-08 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법
US16/812,018 US11178056B2 (en) 2019-04-08 2020-03-06 Communication method and apparatus for optimizing TCP congestion window

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190040956A KR102389104B1 (ko) 2019-04-08 2019-04-08 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200118686A KR20200118686A (ko) 2020-10-16
KR102389104B1 true KR102389104B1 (ko) 2022-04-21

Family

ID=72662496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190040956A KR102389104B1 (ko) 2019-04-08 2019-04-08 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법

Country Status (2)

Country Link
US (1) US11178056B2 (ko)
KR (1) KR102389104B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112714074B (zh) * 2020-12-29 2023-03-31 西安交通大学 智能tcp拥塞控制方法、系统、设备和存储介质
CN113162850B (zh) * 2021-01-13 2023-10-24 中国科学院计算技术研究所 基于人工智能的异构网络多路径调度方法和系统
CN114866489A (zh) * 2022-04-28 2022-08-05 清华大学 拥塞控制方法和装置及拥塞控制模型的训练方法和装置
CN114726799B (zh) * 2022-04-28 2024-03-05 清华大学 拥塞控制智能体的训练方法、拥塞控制方法及装置
CN115834975A (zh) * 2022-11-17 2023-03-21 中国联合网络通信集团有限公司 一种视频传输方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033653B2 (en) * 2013-11-26 2018-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Controlling a transmission control protocol congestion window size

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100296077B1 (ko) * 1999-05-14 2001-07-12 이계철 비동기전송모드(atm) 망에서 전송제어프로토콜(tcp) 윈도우 사이즈 제어 방법
US7394764B2 (en) * 2001-12-14 2008-07-01 Sasken Communication Technologies Limited Technique for improving transmission control protocol performance in lossy networks
KR100592907B1 (ko) 2003-12-22 2006-06-23 삼성전자주식회사 큐오에스를 향상시키기 위한 무선 인터넷 단말 장치 및패킷 전송 방법
KR100600607B1 (ko) * 2004-12-14 2006-07-13 한국전자통신연구원 무선 휴대 인터넷 시스템에서 arq 제어 장치 및 제어방법
US7912060B1 (en) * 2006-03-20 2011-03-22 Agere Systems Inc. Protocol accelerator and method of using same
US20070223395A1 (en) * 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for optimizing a TCP session for a wireless network
US20120163165A1 (en) 2010-12-23 2012-06-28 Electronics And Telecommunications Research Institute Apparatus and method for packet transport service based on multi protocol label switching-transport profile (mpls-tp) network
JP5867188B2 (ja) * 2012-03-12 2016-02-24 富士通株式会社 情報処理装置、輻輳制御方法および輻輳制御プログラム
US10231138B2 (en) 2013-03-25 2019-03-12 Adaptive Spectrum And Signal Alignment, Inc. Method and apparatus for implementing wireless system discovery and control using a state-space
US10043137B1 (en) 2014-01-06 2018-08-07 Nuu:Bit, Inc. Dynamically optimized transport system
WO2015144211A1 (en) 2014-03-25 2015-10-01 Telefonaktiebolaget L M Ericsson (Publ) Method and system for monitoring qoe
CN104378307B (zh) 2014-10-27 2017-11-21 北京华夏创新科技有限公司 基于吞吐率和丢包控制cwnd的优化方法和系统
WO2016078703A1 (en) * 2014-11-19 2016-05-26 Telefonaktiebolaget L M Ericsson (Publ) Inferring component parameters for components in a network
KR102210738B1 (ko) * 2015-01-28 2021-02-02 삼성전자주식회사 통신 시스템에서 혼잡 제어 방법 및 장치
US10524256B2 (en) 2016-04-01 2019-12-31 Mediatek Inc. Method of adaptive TTI tuning
US10284480B2 (en) * 2016-12-27 2019-05-07 Netflix, Inc. Packet loss tolerant transmission control protocol congestion control
US20180351816A1 (en) * 2017-06-02 2018-12-06 Yan Li Methods and apparatus for parameter tuning using a cloud service
EP3477493A1 (en) * 2017-10-27 2019-05-01 Prowler.io Limited Machine learning system
US11886988B2 (en) * 2017-11-22 2024-01-30 International Business Machines Corporation Method for adaptive exploration to accelerate deep reinforcement learning
US11562223B2 (en) * 2018-04-24 2023-01-24 EMC IP Holding Company LLC Deep reinforcement learning for workflow optimization
CA3108301C (en) * 2018-08-01 2021-09-07 Centurylink Intellectual Property Llc Machine learning for quality of experience optimization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033653B2 (en) * 2013-11-26 2018-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Controlling a transmission control protocol congestion window size

Also Published As

Publication number Publication date
US20200322272A1 (en) 2020-10-08
KR20200118686A (ko) 2020-10-16
US11178056B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
KR102389104B1 (ko) Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법
CN111919423B (zh) 网络通信中的拥塞控制
Yu et al. Non-uniform time-step deep Q-network for carrier-sense multiple access in heterogeneous wireless networks
CN113966596B (zh) 用于数据流量路由的方法和设备
CN112422443B (zh) 一种拥塞算法的自适应控制方法、存储介质、设备及系统
WO2021103706A1 (zh) 控制数据包发送方法、模型训练方法、装置及系统
Yu et al. Multi-agent deep reinforcement learning multiple access for heterogeneous wireless networks with imperfect channels
CN117880092A (zh) 网络参数配置方法、装置、计算机设备以及存储介质
Saurav et al. Game of ages in a distributed network
JP6992039B2 (ja) テストデータ作成システムおよびテストデータ作成方法
Quan et al. Intra-domain knowledge reuse assisted reinforcement learning for fast anti-jamming communication
Van Huynh et al. Joint coding and scheduling optimization for distributed learning over wireless edge networks
Scanzio et al. Predicting Wi‐Fi link quality through artificial neural networks
CN115278811A (zh) 一种基于决策树模型的mptcp连接路径选择方法
Zhang et al. Deepcc: Bridging the gap between congestion control and applications via multiobjective optimization
Duong et al. IRSML: An intelligent routing algorithm based on machine learning in software defined wireless networking
CN111898692A (zh) 神经网络到决策树的转换方法、存储介质及电子设备
Bai et al. RNN-based approach to TCP throughput prediction
KR20220097201A (ko) 연합학습을 이용한 네트워크 혼잡 제어방법
Martins et al. Policy Distillation for Real-Time Inference in Fronthaul Congestion Control
Song et al. Multi-channel transmission scheduling with hopping scheme under uncertain channel states
US20220019871A1 (en) Method for Adapting a Software Application Executed in a Gateway
Xia et al. Glider: rethinking congestion control with deep reinforcement learning
Sheila de Cássia et al. Reinforcement learning-based Wi-Fi contention window optimization
Cruz et al. Reinforcement Learning-based Wi-Fi Contention Window Optimization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant