KR102208877B1 - 심층 강화학습 기반 다중경로 패킷 스케줄링 방법 - Google Patents

심층 강화학습 기반 다중경로 패킷 스케줄링 방법 Download PDF

Info

Publication number
KR102208877B1
KR102208877B1 KR1020190145873A KR20190145873A KR102208877B1 KR 102208877 B1 KR102208877 B1 KR 102208877B1 KR 1020190145873 A KR1020190145873 A KR 1020190145873A KR 20190145873 A KR20190145873 A KR 20190145873A KR 102208877 B1 KR102208877 B1 KR 102208877B1
Authority
KR
South Korea
Prior art keywords
packet
transmission
transmission path
reinforcement learning
multipath
Prior art date
Application number
KR1020190145873A
Other languages
English (en)
Other versions
KR20200092250A (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 고려대학교 산학협력단
Publication of KR20200092250A publication Critical patent/KR20200092250A/ko
Application granted granted Critical
Publication of KR102208877B1 publication Critical patent/KR102208877B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 다중경로 패킷 스케줄링 시스템 및 그 방법에 관한 것으로서, 다중 경로 전송 계층 프로토콜(MPQUIC)로 접속된 클라이언트와 서버 사이의 데이터 통신을 위한 다중경로 패킷 스케줄링 시스템에 있어서, 네트워크 상태의 측정값을 이용하여 다중 경로 중 전송 성능에 따라 패킷별 전송 경로를 결정하는 심층 강화학습 모델을 통해 우선 전송 경로를 선택하고, 상기 선택된 우선 전송 경로를 통한 패킷 전송 결과를 반환받는 심층 강화 학습(Deep Reinforcement Learning, DRL) 에이전트; 및 상기 클라이언트로부터 다중 경로를 통한 패킷 전송이 요청되면, 다중 경로의 전송 경로들에 대한 혼잡 윈도우 값이 기설정된 임계값 이하인 경우에 저지연 우선 스케줄링에 따른 전송 경로를 선택하여 패킷을 전송하고, 상기 전송 경로들 중 혼잡 윈도우 값이 상기 임계값보다 큰 전송 경로가 존재하는 경우에 네트워크 상황을 측정한 상기 네트워크 상태의 측정값을 상기 DRL 에이전트에 제공하여 상기 심층 강화학습 모델을 통해 선택된 우선 전송 경로로 패킷을 전송하도록 하는 패킷 스케줄링 장치를 포함할 수 있다.

Description

심층 강화학습 기반 다중경로 패킷 스케줄링 방법{SYSTEM FOR MULTIPATH PACKET SCHEDULING METHOD THEREFOR}
본 발명은 다중 전송 경로가 존재하는 네트워크 상황에서 데이터 전송 시간 시간을 단축할 수 있는 방향으로 전송 경로를 결정할 수 있도록 하는 다중경로 패킷 스케줄링 시스템 및 그 방법에 관한 것이다.
현재 사용자 디바이스와 네트워킹 기술의 발전에 따라 다중 네트워크 인터페이스가 탑재된 종단 디바이스가 폭넓게 활용되고 있다. 이러한 디바이스는 여러 네트워크 링크의 자원을 동시에 활용하는 것을 가능하게 하는 것으로서, 궁극적으로 사용자 경험을 향상시킬 수 있다.
다중 네트워크 인터페이스를 활용하기 위한 대표적인 전송 계층 프로토콜인 TCP를 확장한 Multipath TCP(MPTCP)가 2013년 1월 IETF 실험 표준 RFC 6824로 공개되었다. MPTCP는 서브플로우(subflow)라는 개념을 도입하여 여러 경로를 통해 데이터를 전송하는 것이 가능하도록 설계되었다. 이러한 다중경로 전송 네트워킹에 대한 지원은 최근 전송 계층 프로토콜인 QUIC에게도 적용되었다.
QUIC은 UDP 기반으로 사용자 영역(user space)에 구현되어 전통적인 HTTP/TLS/TCP 스택을 개선한 프로토콜로 다중경로 전송 네트워킹을 지원하기 위해 2017년 12월에 Mutipath QUIC(MPQUIC)의 형태로 개선되었다. MPQUIC은 커널 영역(kernel space) 대비 구현 비용이 낮고 기존 전송 프로토콜 동작상의 비효율성과 보안상의 문제점들이 보강되었기 때문에 보다 효과적으로 다중경로 전송 네트워킹을 지원하는 것이 가능하다.
다중경로 전송 네트워킹을 지원하는 전송 계층 프로토콜은 기존의 혼잡 제어(congestion control)와 흐름 제어(flow control)와 같은 전통적인 기능 외에 여러 전송 경로를 유지, 관리하고 어떤 경로로 데이터를 보낼 것인지를 판단하는 패킷 스케줄링 기능이 추가적으로 요구된다. 패킷 스케줄링은 다중경로로 인해 늘어난 전송 자원을 충분히 활용할 수 있도록 하는 것이기 때문에 전체 네트워킹 성능에 주요한 영향을 미친다.
기존 연구에서는 활용 가능한 전송 경로들을 차례로 번갈아 가며 균등하게 선택하는 순차 순환(round robin) 스케줄링 방법, Linux 커널의 MPTCP 구현에서 디폴트로 사용되는 경로별로 측정된 평균 양방향 지연(round trip time, RTT)이 가장 작은 경로를 선택하는 저지연(low latency) 우선 스케줄링 방법 등이 제안되어 왔다.
그러나, 저지연 우선 스케줄링과 같이 고정된 기준에 따라 패킷의 전송 경로를 선택하게 되면 비대칭적인 특성을 갖는 전송 경로들이 존재하는 환경에서는 특정 경로에 트래픽이 몰려 혼잡 상태를 유발하거나 평균 양방향 지연은 낮지만 분산이 큰 불안정한 경로를 선택하여 전체적인 네트워킹 성능을 저하시키는 문제를 야기한다. 이는 각 네트워크 경로에 대해 양방향 지연과 같은 특정 성능 척도를 기준으로 스케줄링하는 것에 발생하는 근본적인 문제로, 이를 해결하기 위해 다양한 성능 척도를 활용하여 변화하는 네트워크 상황에 대응하는 동작을 할 수 있는 패킷 스케줄링 방법이 필요하다.
한편, 심층 강화학습은 기존 다중경로 패킷 스케줄링 방법처럼 고정된 수식이나 알고리즘을 따르는 대신 가공되지 않은 입력 데이터를 토대로 환경과 상호작용하며 목표하는 효용 함수 값을 향상시키는 방향으로 학습하며 머신러닝 모델을 갱신해 나가는 기술로서, 머신러닝 분야에서 연구되어온 심층학습(deep learning)과 강화학습(reinforcement learning)을 결합한 기술이다. 심층학습은 신경세포의 기능을 모방하여 신경망을 다단으로 겹쳐 대량의 데이터로부터 학습하는 기계학습 방법이다. 이를 통하여 수많은 데이터 속에서 다단으로 겹친 신경망을 통하여 패턴을 발견하고 컴퓨터가 학습하는 것으로 인간의 두뇌와 유사하게 사물을 구분할 수 있다. 강화학습은 컴퓨터가 선택한 행동과 그에 따른 환경 변화에 특정한 보상값을 설정하는 것으로 학습이 진행됨에 따라 보다 나은 행동을 할 수 있게 하는 기술이다. 이러한 두 가지 방법이 결합된 심층 강화학습은 가공되지 않은 데이터를 토대로 환경 변화에 대응하는 결정을 도출하기 때문에 네트워크 상황에 맞는 패킷 스케줄링 방법에 활용되기 적합할 것이다.
대한민국 공개특허공보 제10-2018-0070872(발명의 명칭: 패킷 처리 방법 및 장치)
본 발명은 전술한 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따라 가공되지 않은 네트워크의 상태 정보를 입력받아서 적응적으로 동작 가능한 심층 강화학습 기반의 다중경로로 패킷을 스케줄링함으로써 다양한 네트워크 환경에 효과적으로 대응하여 데이터 전송 시간을 감소시키는 것에 목적이 있다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서 본 발명의 일 실시예에 따른 다중경로 패킷 스케줄링 시스템은, 다중 경로 전송 계층 프로토콜(MPQUIC)로 접속된 클라이언트와 서버 사이의 데이터 통신을 위한 다중경로 패킷 스케줄링 시스템에 있어서, 네트워크 상태의 측정값을 이용하여 다중 경로 중 전송 성능에 따라 패킷별 전송 경로를 결정하는 심층 강화학습 모델을 통해 우선 전송 경로를 선택하고, 상기 선택된 우선 전송 경로를 통한 패킷 전송 결과를 반환받는 심층 강화 학습(Deep Reinforcement Learning, DRL) 에이전트; 및 상기 클라이언트로부터 다중 경로를 통한 패킷 전송이 요청되면, 다중 경로의 전송 경로들에 대한 혼잡 윈도우 값이 기설정된 임계값 이하인 경우에 저지연 우선 스케줄링에 따른 전송 경로를 선택하여 패킷을 전송하고, 상기 전송 경로들 중 혼잡 윈도우 값이 상기 임계값보다 큰 전송 경로가 존재하는 경우에 네트워크 상황을 측정한 상기 네트워크 상태의 측정값을 상기 DRL 에이전트에 제공하여 상기 심층 강화학습 모델을 통해 선택된 우선 전송 경로로 패킷을 전송하도록 하는 패킷 스케줄링 장치를 포함하되, 상기 심층 강화학습 모델은, 상기 네트워크 상태의 측정값을 상태(State)로 정의하고, 상기 심층 신경망 연산을 통해 선택 가능한 전송 경로를 액션(Action)으로 정의하고, 상기 패킷 전송 결과에 따라 패킷의 전송 성능을 평가하여 보상(Reward)을 도출하는 것이다.
또한, 다중경로 패킷 스케줄링 시스템은 상기 DRL 에이전트와 상기 패킷 스케줄링 장치의 종단에 설치되어 네트워크 스택을 통해 상기 DRL 에이전트와 패킷 스케줄링 장치간 메시지를 이용하여 네트워크 연결을 수행하는 네트워크 인터페이스 모듈을 더 포함할 수 있다.
상기 패킷 스케줄링 장치는, 전송 계층 프로토콜 세션에 대한 혼잡 제어, 흐름 제어 또는 패킷별 전송 경로를 결정하는 패킷 스케줄러; 및 다중 네트워크 인터페이스의 적어도 하나를 이용하여 상기 패킷 스케줄러에서 결정된 전송 경로를 생성하여 해당 패킷을 전송하는 경로 매니저를 포함할 수 있다.
상기 패킷 스케줄러는, 다중 경로의 모든 전송 경로에 대한 양방향 지연, 패킷 손실, 송신 트래픽, 혼잡 윈도우를 포함한 네트워크 상태의 측정값을 상기 DRL 에이전트로 전송하고, 상기 전송 경로의 혼잡 윈도우 값에 기초하여 순차 순환(Round robin) 스케줄링 알고리즘, 저지연(Low latency) 우선 스케줄링 알고리즘, 상기 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘 중 어느 하나의 알고리즘을 선택적으로 사용하는 것이다.
상기 패킷 스케줄링 장치는, 상기 우선 전송 경로에 대한 패킷의 전송 성능을 평가하여 패킷 전송 결과로 상기 DRL 에이전트에 전송하고, 상기 DRL 에이전트는, 상기 패킷 전송 결과를 저장하고, 상기 심층 강화학습 모델의 요청에 따라 상기 저장된 패킷 전송 결과를 학습 데이터로 제공하는 리플레이 메모리를 더 포함할 수 있다.
또한, 본 발명의 다른 일 실시예에 따른 다중 경로 패킷 스케줄링 방법은, 다중 경로 전송 계층 프로토콜(MPQUIC)로 접속된 클라이언트와 서버 사이의 데이터 통신을 위한 다중경로 패킷 스케줄링 시스템에 의해 수행되는 다중 경로 패킷 스케줄링 방법에 있어서, a) 상기 클라이언트로부터 다중 경로 전송 계층 프로토콜을 통해 패킷 전송이 요청되면, 해당 패킷의 전송 가능한 모든 전송 경로의 혼잡 윈도우 값이 기설정된 임계값 이하인 경우에 저지연 우선 스케줄링에 따른 전송 경로를 선택하여 패킷을 전송하는 단계; b) 상기 전송 경로 중 혼잡 윈도우 값이 상기 임계값보다 큰 전송 경로가 존재하는 경우, 시간에 따라 변화하는 네트워크 상황을 측정한 네트워크 상태의 측정값을 심층 강화학습 모델에 제공하는 단계; c) 상기 심층 강화학습 모델에서 상기 네트워크 상태의 측정값을 이용하여 다중 경로 중 전송 성능에 따라 해당 패킷의 전송 경로를 선택하면, 상기 선택된 전송 경로로 패킷을 전송하는 단계; 및 d) 상기 패킷의 전송이 완료되면, 해당 패킷의 전송 성능을 평가하여 패킷 전송 결과를 상기 심층 강화학습 모델에 전송하여 상기 심층 강화학습 모델이 상기 패킷 전송 결과를 학습 데이터로 학습하면서 갱신하는 단계를 포함하되, 상기 심층 강화학습 모델은, 상기 네트워크 상태의 측정값을 상태(State)로 정의하고, 상기 심층 신경망 연산을 통해 선택 가능한 전송 경로를 액션(Action)으로 정의하고, 상기 패킷 전송 결과에 따라 패킷의 전송 성능을 평가하여 보상(Reward)을 도출하는 것이다.
상기 선택된 전송 경로로 패킷을 전송하는 단계는, 다중 네트워크 인터페이스의 적어도 하나를 이용하여 상기 선택된 전송 경로를 생성하여 해당 패킷을 전송하는 단계를 더 포함할 수 있다.
전술한 본 발명의 과제 해결 수단에 의하면, 시간에 다라 변화하는 네트워크 환경에 대하여 클라이언트의 요청에 의한 서버로부터의 데이터 전송 시간이 단축될 수 있기 때문에 사용자는 다중 네트워크 인터페이스를 활용하여 보다 다양한 환경에서 향상된 수준의 통신 서비스를 이용할 수 있으며, 서비스 제공자는 데이터 전송 시간뿐만 아니라 서비스의 종류와 특성에 맞춰 심층 강화학습 모델이 적용되도록 설정하여 폭넓은 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 심층 강화학습 모델의 구조를 설명하는 예시도이다.
도 3은 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법을 설명하는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법의 성능을 평가한 결과를 설명하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법과 순차 순환 스케줄링 방법, 저지연 우선 스케줄링 방법의 다운로드 시간을 비교한 결과를 보여주는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서 ‘단말’은 휴대성 및 이동성이 보장된 무선 통신 장치일 수 있으며, 예를 들어 스마트 폰, 태블릿 PC 또는 노트북 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치일 수 있다. 또한, ‘단말’은 네트워크를 통해 다른 단말 또는 서버 등에 접속할 수 있는 PC 등의 유선 통신 장치인 것도 가능하다. 또한, 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다.
무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
이하의 실시예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아니다. 따라서 본 발명과 동일한 기능을 수행하는 동일 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 시스템의 구성을 나타낸 도면이고, 도 2는 본 발명의 일 실시예에 따른 심층 강화학습 모델의 구조를 설명하는 예시도이다.
도 1를 참조하면, 다중 경로 패킷 스케줄링 시스템은 다중 경로 전송 계층 프로토콜(MPQUIC)로 접속된 클라이언트와 서버 사이의 데이터 통신을 위한 다중경로 패킷 스케줄링을 수행하는 것으로서, 심층 강화 학습(Deep Reinforcement Learning, DRL) 에이전트(100)와 패킷 스케줄링 장치(200)를 포함한다.
DRL 에이전트(100)는 패킷 스케줄링 장치(200)로부터 전송되는 네트워크 상태의 측정값을 이용하여 다중 경로 중 전송 성능에 따라 패킷별 전송 경로를 결정하는 심층 강화학습 모델을 통해 우선 전송 경로를 선택하고, 선택된 우선 전송 경로를 통해 패킷이 전송된 이후에 해당 패킷 전송 결과를 반환받는다.
이때, 심층 강화학습 모델(110)은 네트워크 상태의 측정값을 상태(State, st)로 정의하고, 심층 신경망 연산을 통해 선택 가능한 전송 경로를 액션(Action, at)으로 정의하며 각 패킷의 전송 성능을 평가하여 단위 시간당 정상적으로 수신한 트래픽 양으로 보상(Reward, rt)을 도출한다. 이러한 심층 강화학습 모델(110)은 도 2에 도시된 바와 같이, 네트워크 상태의 측정값인 입력 데이터(RTT, LOSS, SENT, CWND)로부터 자동적으로 주요 특징을 추출하고, 추출된 특징들 간의 관계를 바탕으로 출력을 생성하기 위해 딥 러닝에 기반한 Deep Q-network 구조로 설계된다. 이러한 심층 강화학습 모델(110)은 2개의 은닉층(hidden1, hidden2)으로 구성된 순방향 신경망(Feed forward neural network) 구조를 갖고, 출력 데이터로 두 가지 전송 경로(Path1, Path2)가 존재한다.
DRL 에이전트(100)는 패킷 스케줄링 장치(200)로부터 전송되는 패킷 전송 결과를 저장하는 리플레이 메모리(120)를 더 포함하고, 리플레이 메모리(120)에 저장된 패킷 전송 결과를 심층 강화학습 모델(110)의 학습 데이터로 활용한다.
패킷 스케줄링 장치(200)는 클라이언트로부터 다중 경로를 통한 패킷 전송이 요청되면, 혼잡 윈도우 값이 기설정된 임계값(예를 들어, '임계값=0') 이하인 경우에 저지연 우선 스케줄링에 따른 경로를 선택하여 패킷을 전송하고, 혼잡 윈도우 값이 임계값보다 큰 경우에 시간에 따라 변화하는 네트워크 상황을 측정하여 네트워크 상태의 측정값을 DRL 에이전트(100)에 제공하고, 심층 강화학습 모델(110)을 통해 선택된 우선 전송 경로로 패킷을 전송하도록 한다.
이러한 패킷 스케줄링 장치(200)는, 전송 계층 프로토콜(QUIC) 세션(210), 패킷 스케줄러(220), 경로 매니저(230) 및 네트워크 인터페이스(241, 242)를 포함한다.
QUIC 세션(210)은 클라이언트와 서버 간에 네트워크 연결이 지속적으로 유지되도록 하는 논리적 연결을 의미한다.
패킷 스케줄러(220)는 혼잡 제어, 흐름 제어 또는 패킷별 전송 경로를 결정함으로써 QUIC 세션(210)을 관리한다. 이때, 패킷 스케줄러(220)는 다중 경로의 각 전송 경로에 대한 양방향 지연, 패킷 손실, 송신 트래픽, 혼잡 윈도우를 포함한 네트워크 상태의 측정값을 DRL 에이전트(100)로 전송하고, 네트워크 상태의 측정값에 따라 순차 순환(Round robin) 스케줄링 알고리즘 및 저지연(Low latency) 우선 스케줄링 알고리즘 포함한 일반적인 패킷 스케줄링 알고리즘, 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘(DRL based) 중 어느 하나의 알고리즘을 선택적으로 사용한다. 여기서, 혼잡 윈도우 크기(Congestion Window Size, cwnd)는 수신측의 윈도우 크기(rwnd)에 영향을 받으며, 송신측에 있는 윈도우 크기로서, 네트워크 혼잡이 발견될 때마다 혼잡 윈도우는 감소한다.
경로 매니저(230)는 다중 네트워크 인터페이스(241, 242)의 적어도 하나를 이용하여 패킷 스케줄러(220)에서 결정된 전송 경로를 생성하여 해당 패킷이 전송되도록 한다.
한편, 네트워크 인터페이스 모듈(310, 320)은 DRL 에이전트(100)와 패킷 스케줄링 장치(200)의 종단에 설치되어 네트워크 스택을 통해 DRL 에이전트(100)와 패킷 스케줄링 장치(200)간의 메시지를 이용하여 네트워크 연결을 수행한다.
네트워크 스택에는 유저(user) 영역, 커널(kernel) 영역, 디바이스(device) 영역으로 나눌 수 있는데, UDP 통신처럼 연결하지 않은 상태에서 메시지를 전송하거나 수신할 때 sendto 함수와 recvfrom 함수를 사용한다.
따라서, 패킷 스케줄링 장치(200)의 종단에 설치된 제1 네트워크 인터페이스 모듈(310)은 MPQUIC 이 UDP 기반으로 사용자 영역(user space)에 구현되므로 sendto 함수와 recvfrom 함수를 사용하여 Setup(), Oberrve(), Clear() 의 데이터들을 DRL 에이전트(100)와 송수신한다.
또한, DRL 에이전트(100)의 종단에 설치된 제2 네트워크 인터페이스 모듈(320)은 sendto 함수와 recvfrom 함수를 사용하여 get_state(), step()의 데이터들을 패킷 스케줄링 장치(200)와 송수신한다.
도 3은 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법을 설명하는 순서도이다.
도 3을 참조하면, 클라이언트(또는 응용)로부터 다중 경로 전송 계층 프로토콜을 통해 패킷 전송이 요청되면(S1), 해당 패킷의 전송 가능한 모든 전송 경로의 혼잡 윈도우 값이 기설정된 임계값('0')보다 큰 경우에(S2), 패킷 스케줄링 장치(200)는 DRL 에이전트(100)에 네트워크 상태의 측정값을 전송한다(S3).
DRL 에이전트(100)는 심층 강화학습 모델(110)을 통해 우선 전송 경로를 선택할 수 있다(S4). 심층 강화학습 모델(110)은 네트워크 상태의 측정값을 상태(State)로 정의하고, 심층 신경망 연산을 통해 선택 가능한 우선 전송 경로를 액션(Action)으로 정의하며, 각 패킷의 전송 성능을 평가하여 보상(Reward)을 도출한다. 여기서, 보상은 단위시간당 정상적으로 수신한 트래픽의 양으로 나타낼 수 있고, 심층 신경망 연산은 상태(st)에서 액션(at)을 수행한 후 최적의 규칙에 따라 액션을 수행할 때 미래에 예상되는 전체 보상(rt)의 최대값을 도출한다. 이러한 심층 강화학습 모델(110)은 최대 값을 가지는 액션들의 규칙, 즉 정책(Policy)을 찾는 것이 강화 학습 알고리즘의 목표로 한다.
구체적으로, 패킷 스케줄러(220) 내의 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘은 두 가지 전송 경로(Path1, Path2)가 존재하는 다중경로 환경에서 하나의 QUIC 연결 수립 시, 심층 강화학습 모델(즉, 신경망 내의 노드 간의 가중치 값)을 메모리에 적재하고 연산 및 학습에 필요한 설정값들을 초기화한다(Setup()).
이후에 응용이 패킷을 전송하고자 할 때 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘은 해당 시점의 네트워크 상태(State s_t)를 측정한 측정값(Observe())을 심층 강화학습 모델(110)의 심층 신경망 연산과 학습을 담당하는 DRL 에이전트(100)에 전달한다. DRL 에이전트(100)는 이러한 정보를 받아 심층 강화학습 모델(110) 의 입력으로 연산하여 다운로드 시간을 단축할 수 있는 경로(Action a_t)를 출력하고, 이를 다시 MPQUIC 내 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘에 전달한다(get_state()).
DRL 에이전트(100)에 의해 결정된 우선 전송 경로를 전달받은 패킷 스케줄러(220)는 우선 전송 경로에 따라 패킷을 전송하고(S5), 이후 새로운 패킷 전송이 발생했을 때 이전 패킷 스케줄링 결정이 전체적인 네트워킹 성능 향상에 미친 영향(‘Reward r_t)을 측정하고, 이를 DRL 에이전트(100)에 보상으로 전달한다(S6). DRL 에이전트(199)는 전달받은 보상 정보를 토대로 심층 강화학습 모델(110)이 보다 다운로드 시간이 적은 경로를 선택할 수 있도록 심층 강화학습 모델(110) 내 가중치 값을 갱신한다(step()).
한편, 패킷의 전송 가능한 모든 전송 경로 중 혼잡 윈도우의 값이 0보다 큰 경로가 없는 경우에, 패킷 스케줄링 장치(200)는 기본 스케줄링 방식인 저지연 우선 스케줄링 알고리즘을 선택하여 통계적으로 측정된 양방향 지연이 가장 적은 전송 경로를 선택하여 패킷을 전송한다(S7). 그 후, 패킷 스케줄링 장치(200)는 선택한 최소 지연을 갖는 전송 경로를 선택하여 패킷을 전송한 결과에 대한 성능 평가를 수행하여 이에 대한 보상을 DRL 에이전트(100)로 전송한다(S6).
모든 패킷의 전송이 종료되면, 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘은 DRL 에이전트(100)로 해당 시점까지 학습된 심층 강화학습 모델(110)을 저장하여 지속적인 학습이 가능하게 한다(Clear()). 이와 같은 과정의 반복을 통해 심층 강화학습 모델(110)은 다운로드 시간을 단축할 수 있는 경로를 찾을 수 있도록 학습되고, 이는 궁극적으로 전체 네트워킹의 성능 향상으로 이어진다.
DRL 에이전트(100)는 패킷 스케줄링 장치(200)로부터 전송되는 패킷 전송 결과를 리플레이 메모리(120)에 저장하고, 심층 강화학습 모델(110)의 요청에 따라 패킷 전송 결과를 학습 데이터로 활용하도록 한다. 따라서, 심층 강화학습 모델(110)은 다운로드 시간 단축이라는 목표에 맞도록 패킷 전송 결과를 학습 데이터로 활용함으로써 자율적으로 성능이 향상되도록 모델을 갱신할 수 있다.
한편 도 2의 단계 S1 내지 S8은 본 발명의 구현예에 따라서 추가적인 단계들로 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계간의 순서가 변경될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법의 성능을 평가한 결과를 설명하는 도면이고, 도 5는 본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법과 순차 순환 스케줄링 방법, 저지연 우선 스케줄링 방법의 다운로드 시간을 비교한 결과를 보여주는 도면이다.
본 발명의 일 실시예에 따른 다중 경로 패킷 스케줄링 방법은 Mininet 네트워크 에뮬레이터를 통해 총 다운로드 시간을 기준으로 성능을 평가하기 위해, 먼저 2개의 전송 경로가 존재하는 상황에서 클라이언트가 QUIC 세션을 생성하여 서버에 20MB 크기의 파일을 요청하여 수신하는 실험을 10,000회 반복하여 DRL 에이전트(100)를 학습시킨다.
도 4에 도시된 바와 같이, 심층 강화학습 모델(110)의 학습에 따라 약 2,000회 이후에는 실험 상의 잡음에 의한 약간의 변화를 제외하고, 다운로드 시간이 40초 부근에서 학습 횟수(Epoch 수)가 유지되는 양상을 확인할 수 있으며, 이를 통해 심층 강화학습 모델(110)에 기반하여 패킷 스케줄러(220)가 가공되지 않은 네트워크 상태의 데이터를 기반으로 자율적으로 성능이 향상되는 방향으로 모델을 갱신해 나가는 것을 알 수 있다.
도 5에 도시된 바와 같이, 다중 경로 패킷 스케줄링 방법(DRL)과 순차 순환 스케줄링 방법(RR), 저지연 우선 스케줄링 방법(LL)의 총 다운로드 시간을 비교해 보면, 매 데이터 전송마다 반복적으로 심층 강화학습 모델(110)의 출력 값을 계산하는 동기화된 설계에 기인한 오버헤드에도 불구하고, 저지연 우선 스케줄링 방법과 비슷한 수준의 다운로드 시간을 나타내어 절차 상의 동기화 방법을 보완할 경우에 DRL이 보다 향상된 성능을 보일 것으로 판단된다.
이와 같이, 본 발명은 다중 네트워크 인터페이스를 탑재한 종단 디바이스를 대상으로 네트워크 상황 변화에 대해 안정되고 신속한 서비스를 지원하는 전송 네트워킹 프로토콜에 적용될 수 있다. 대표적으로 스마트폰, 웨어러블, IoT 디바이스와 같이 이종 무선 표준을 따르는 다수의 네트워크 인터페이스를 토대로 제공되는 비디오 스트리밍, VR/AR 등 네트워크 서비스 전반에 활용하는 것이 가능하다.
또한, 본 발명은 사용자 디바이스의 다중 네트워크 인터페이스를 충분히 활용하여 네트워킹 성능을 향상시키는 것을 목표로 하기 때문에, 다중 네트워크 인터페이스가 탑재된 디바이스 전반에 걸쳐 적용이 가능하다.
이상에서 설명한 본 발명의 실시예에 따른 다중 경로 패킷 스케줄링 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: DRL 에이전트 110: 심층 강화학습 모델
120: 리플레이 메모리 200: 패킷 스케줄링 장치
220: 패킷 스케줄러 230: 경로 매니저
241, 242: 네트워크 인터페이스

Claims (8)

  1. 다중 경로 전송 계층 프로토콜(MPQUIC)로 접속된 클라이언트와 서버 사이의 데이터 통신을 위한 다중경로 패킷 스케줄링 시스템에 있어서,
    네트워크 상태의 측정값을 이용하여 다중 경로 중 전송 성능에 따라 패킷별 전송 경로를 결정하는 심층 강화학습 모델을 통해 우선 전송 경로를 선택하고, 상기 선택된 우선 전송 경로를 통한 패킷 전송 결과를 반환받는 심층 강화 학습(Deep Reinforcement Learning, DRL) 에이전트; 및
    상기 클라이언트로부터 다중 경로를 통한 패킷 전송이 요청되면, 다중 경로의 전송 경로들에 대한 혼잡 윈도우 값이 기설정된 임계값 이하인 경우에 저지연 우선 스케줄링에 따른 전송 경로를 선택하여 패킷을 전송하고, 상기 전송 경로들 중 혼잡 윈도우 값이 상기 임계값보다 큰 전송 경로가 존재하는 경우에 네트워크 상황을 측정한 상기 네트워크 상태의 측정값을 상기 DRL 에이전트에 제공하여 상기 심층 강화학습 모델을 통해 선택된 우선 전송 경로로 패킷을 전송하도록 하는 패킷 스케줄링 장치를 포함하되,
    상기 심층 강화학습 모델은,
    상기 네트워크 상태의 측정값을 상태(State)로 정의하고, 심층 신경망 연산을 통해 선택 가능한 전송 경로를 액션(Action)으로 정의하고, 상기 패킷 전송 결과에 따라 패킷의 전송 성능을 평가하여 보상(Reward)을 도출하는 것인, 다중경로 패킷 스케줄링 시스템.
  2. 제 1 항에 있어서,
    상기 DRL 에이전트와 상기 패킷 스케줄링 장치의 종단에 설치되어 네트워크 스택을 통해 상기 DRL 에이전트와 패킷 스케줄링 장치간 메시지를 이용하여 네트워크 연결을 수행하는 네트워크 인터페이스 모듈을 더 포함하는 것인, 다중경로 패킷 스케줄링 시스템.
  3. 제 1 항에 있어서,
    상기 패킷 스케줄링 장치는,
    전송 계층 프로토콜 세션에 대한 혼잡 제어, 흐름 제어 또는 패킷별 전송 경로를 결정하는 패킷 스케줄러; 및
    다중 네트워크 인터페이스의 적어도 하나를 이용하여 상기 패킷 스케줄러에서 결정된 전송 경로를 생성하여 해당 패킷을 전송하는 경로 매니저를 포함하는 것인, 다중경로 패킷 스케줄링 시스템.
  4. 제 3 항에 있어서,
    상기 패킷 스케줄러는,
    다중 경로의 모든 전송 경로에 대한 양방향 지연, 패킷 손실, 송신 트래픽, 혼잡 윈도우를 포함한 네트워크 상태의 측정값을 상기 DRL 에이전트로 전송하고,
    상기 전송 경로의 혼잡 윈도우 값에 기초하여 순차 순환(Round robin) 스케줄링 알고리즘, 저지연(Low latency) 우선 스케줄링 알고리즘, 상기 심층 강화학습 모델에 기반한 패킷 스케줄링 알고리즘 중 어느 하나의 알고리즘을 선택적으로 사용하는 것인, 다중 경로 패킷 스케줄링 시스템.
  5. 제 1 항에 있어서,
    상기 패킷 스케줄링 장치는, 상기 우선 전송 경로에 대한 패킷의 전송 성능을 평가하여 패킷 전송 결과로 상기 DRL 에이전트에 전송하고,
    상기 DRL 에이전트는, 상기 패킷 전송 결과를 저장하고, 상기 심층 강화학습 모델의 요청에 따라 상기 저장된 패킷 전송 결과를 학습 데이터로 제공하는 리플레이 메모리를 더 포함하는 것인, 다중 경로 패킷 스케줄링 시스템.
  6. 다중 경로 전송 계층 프로토콜(MPQUIC)로 접속된 클라이언트와 서버 사이의 데이터 통신을 위한 다중경로 패킷 스케줄링 시스템에 의해 수행되는 다중 경로 패킷 스케줄링 방법에 있어서,
    a) 상기 클라이언트로부터 다중 경로 전송 계층 프로토콜을 통해 패킷 전송이 요청되면, 해당 패킷의 전송 가능한 모든 전송 경로의 혼잡 윈도우 값이 기설정된 임계값 이하인 경우에 저지연 우선 스케줄링에 따른 전송 경로를 선택하여 패킷을 전송하는 단계;
    b) 상기 전송 경로 중 혼잡 윈도우 값이 상기 임계값보다 큰 전송 경로가 존재하는 경우, 시간에 따라 변화하는 네트워크 상황을 측정한 네트워크 상태의 측정값을 심층 강화학습 모델에 제공하는 단계;
    c) 상기 심층 강화학습 모델에서 상기 네트워크 상태의 측정값을 이용하여 다중 경로 중 전송 성능에 따라 해당 패킷의 전송 경로를 선택하면, 상기 선택된 전송 경로로 패킷을 전송하는 단계; 및
    d) 상기 패킷의 전송이 완료되면, 해당 패킷의 전송 성능을 평가하여 패킷 전송 결과를 상기 심층 강화학습 모델에 전송하여 상기 심층 강화학습 모델이 상기 패킷 전송 결과를 학습 데이터로 학습하면서 갱신하는 단계를 포함하되,
    상기 심층 강화학습 모델은,
    상기 네트워크 상태의 측정값을 상태(State)로 정의하고, 심층 신경망 연산을 통해 선택 가능한 전송 경로를 액션(Action)으로 정의하고, 상기 패킷 전송 결과에 따라 패킷의 전송 성능을 평가하여 보상(Reward)을 도출하는 것인, 다중경로 패킷 스케줄링 방법.
  7. 제 6 항에 있어서,
    상기 선택된 전송 경로로 패킷을 전송하는 단계는,
    다중 네트워크 인터페이스의 적어도 하나를 이용하여 상기 선택된 전송 경로를 생성하여 해당 패킷을 전송하는 단계를 더 포함하는 것인, 다중 경로 패킷 스케줄링 방법.
  8. 제 6 항에 따른 다중 경로 패킷 스케줄링 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능 기록매체.
KR1020190145873A 2019-01-24 2019-11-14 심층 강화학습 기반 다중경로 패킷 스케줄링 방법 KR102208877B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190009365 2019-01-24
KR20190009365 2019-01-24

Publications (2)

Publication Number Publication Date
KR20200092250A KR20200092250A (ko) 2020-08-03
KR102208877B1 true KR102208877B1 (ko) 2021-01-28

Family

ID=72042811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190145873A KR102208877B1 (ko) 2019-01-24 2019-11-14 심층 강화학습 기반 다중경로 패킷 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR102208877B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220097201A (ko) 2020-12-30 2022-07-07 순천대학교 산학협력단 연합학습을 이용한 네트워크 혼잡 제어방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435109B1 (ko) * 2020-08-06 2022-08-22 한양대학교 에리카산학협력단 데이터 전송스케줄 결정 방법 및 시스템
KR102420495B1 (ko) * 2020-12-09 2022-07-14 디노플러스 (주) 딥러닝 기반 데이터 패킷처리 가속화 기술을 이용한 저지연 클라우드 서비스제공장치
KR20230027501A (ko) * 2021-08-19 2023-02-28 삼성전자주식회사 강화 학습을 위한 정보를 제공하는 전자 장치 및 그 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102411188B1 (ko) * 2015-11-30 2022-06-21 삼성전자주식회사 무선 통신 시스템에서의 혼잡 관리 장치 및 방법
KR101849302B1 (ko) * 2016-07-29 2018-04-16 공주대학교 산학협력단 이종 망에서 다중 경로 전송제어프로토콜(tcp)의 혼잡 윈도우 제어 방법
KR101925912B1 (ko) 2016-12-19 2018-12-06 주식회사 엘지유플러스 패킷 처리 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220097201A (ko) 2020-12-30 2022-07-07 순천대학교 산학협력단 연합학습을 이용한 네트워크 혼잡 제어방법

Also Published As

Publication number Publication date
KR20200092250A (ko) 2020-08-03

Similar Documents

Publication Publication Date Title
KR102208877B1 (ko) 심층 강화학습 기반 다중경로 패킷 스케줄링 방법
Al-Kashoash et al. Congestion control in wireless sensor and 6LoWPAN networks: toward the Internet of Things
US10594766B2 (en) Facilitation of multipath transmission control protocols
US20190182114A1 (en) Endpoint-based mechanism to apply network optimization
US10917328B2 (en) Routing updates in ICN based networks
Xie et al. Adaptive online decision method for initial congestion window in 5G mobile edge computing using deep reinforcement learning
US10999348B2 (en) Method and apparatus for controlling multi-connection for data transmission rate improvement
CN103563331B (zh) 用于通过流控制来增强设备性能的方法和装置
Singh et al. Flexiweb: Network-aware compaction for accelerating mobile web transfers
CN111212156B (zh) 一种网络连接方法与装置
CN113966596B (zh) 用于数据流量路由的方法和设备
CN115277581B (zh) 网络传输的控制方法、装置、计算机设备、存储介质
Kharat et al. Modified QUIC protocol with congestion control for improved network performance
Xing et al. A Stream-Aware MPQUIC Scheduler for HTTP Traffic in Mobile Networks
El Khayat et al. Enhancement of TCP over wired/wireless networks with packet loss classifiers inferred by supervised learning
Liaqat et al. Social-similarity-aware TCP with collision avoidance in ad hoc social networks
Badarla et al. Learning-tcp: A stochastic approach for efficient update in tcp congestion window in ad hoc wireless networks
Grilo et al. Routing metrics for cache-based reliable transport in wireless sensor networks
KR20220097201A (ko) 연합학습을 이용한 네트워크 혼잡 제어방법
Smirnov et al. Real-time data transmission optimization on 5G remote-controlled units using deep reinforcement learning
Xia et al. Glider: rethinking congestion control with deep reinforcement learning
Sacco et al. Partially oblivious congestion control for the internet via reinforcement learning
Ramana et al. Learning-TCP: a novel learning automata based congestion window updating mechanism for ad hoc wireless networks
Smirnov et al. Real-time rate control of WebRTC video streams in 5G networks: Improving quality of experience with Deep Reinforcement Learning
Chaudhry Using machine learning to find the hidden relationship between RTT and TCP throughput in WiFi

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right