KR102328615B1 - 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법 - Google Patents

다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법 Download PDF

Info

Publication number
KR102328615B1
KR102328615B1 KR1020150057246A KR20150057246A KR102328615B1 KR 102328615 B1 KR102328615 B1 KR 102328615B1 KR 1020150057246 A KR1020150057246 A KR 1020150057246A KR 20150057246 A KR20150057246 A KR 20150057246A KR 102328615 B1 KR102328615 B1 KR 102328615B1
Authority
KR
South Korea
Prior art keywords
data
subflows
data units
mptcp connection
priority
Prior art date
Application number
KR1020150057246A
Other languages
English (en)
Other versions
KR20150123185A (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 KR20150123185A publication Critical patent/KR20150123185A/ko
Application granted granted Critical
Publication of KR102328615B1 publication Critical patent/KR102328615B1/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/30Routing of multiclass traffic
    • H04L47/14
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/14Multichannel or multilink protocols
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

다중 경로 송신 제어 프로토콜(Multipath Transmission Control Protocol: MPTCP) 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법이 개시된다. 상기 방법은 상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하는 과정과, 상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하는 과정을 포함한다. 또한, 상기 방법은 상기 데이터 유닛 각각을 상기 MPTCP 연결의 다수의 서브 플로우들 중 하나에 할당하기 위해 상기 우선 순위-관련 정보를 프로세싱하는 과정과, 상기 할당된 서브 플로우들을 사용하여 상기 MPTCP 연결을 통해 상기 제2 디바이스로 상기 사용중인 데이터 유닛들을 전송하는 과정을 포함한다.

Description

다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법{APPARATUS AND METHOD FOR TRANSFERRING DATA USING MULTIPATH TRANSMISSION CONTROL PROTOCOL}
본 발명은 다중 경로 송신 제어 프로토콜(Transmission Control Protocol TCP)(Multipath TCP: MPTCP) 연결을 사용하여 데이터를 전송하는 장치 및 방법에 관한 것이다.
MPTCP는 어플리케이션(application)에 대한 표준 송신 제어 프로토콜(Transmission Control Protocol: TCP) 소켓(socket) 어플리케이션 프로그래밍 인터페이스(Application Programming Interface: API)를 유지하면서, 단일 세션(session)에 대한 다수의 인터페이스들의 동시 이용을 허여하는 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force)에 의해 스탠다드화된 TCP의 에볼루션(evolution)이다. 병렬 서브 플로우들을 생성하는 상기 다수의 인터페이스들의 사용은 자원 사용을 향상시키고, 리던던시(redundancy)를 증가시킬 수 있으며, 따라서 상기 세션 어그리게이트 처리량(session aggregate throughput)을 증가시키게 된다. 또한, 상기 병렬 서브 플로우들을 생성하는 상기 다수의 인터페이스들의 사용은 원활한 핸드오버를 보장하고 혼잡 네트워크에서 다수의 인터페이스들간의 트래픽 로드(traffic load)를 밸런싱하는데 기여할 수 있다. MPTCP를 데이터 센터들 및 멀티 홈 서버(multihomed server)들에 도입함으로써 발생되는 처리량 향상 뿐만 아니라, MPTCP는 이동 전화기들이 인터넷에 연결하는 하나 이상의 인터페이스를 구비하고 있는 이동 무선 네트워크들에서 특히 유용하다. Wi-Fi™ 및 이동 네트워크 3G/LTE (롱 텀 에볼루션(Long Term Evolution)) 둘 다를 사용하는 것이 일반적인 사용 경우이다. 상기 어그리게이트 대역폭의 증가로 인해서 처리량에서의 기대되는 이득들 뿐만 아니라, MPTCP는 사용자 이동으로 인해서 연결 중단에 대한 강인함(robustness)을 개선시킬 수 있다.
도 1은 상기 클라이언트(client)(100)(이동 핸드셋 UE)가 두 개의 인터페이스들 Wi-Fi™(104) 및 3G/LTE 모뎀(106)을 통해 상기 서버(102) AS로부터 데이터, 일 예로, 파일들, 이미지들, 비디오들 혹은 웹 페이지들을 업로드(upload)하는 예제 MPTCP 연결의 시스템 개략도를 도시하고 있다. 따라서, 두 개의 서브 플로우들, 하나는 Wi-Fi™ 핫 스팟(hotspot)을 통한 서브 플로우, 나머지는 E-UTRAN를 통한 서브 플로우가 생성된다. 상기 두 개의 경로들은 다른 네트워크 토팔러지(network topology)들과 접하게 되고, 다양한 중간 장비(middlebox) 제한들을 통해 진행하기 때문에, 상기 생성된 두 개의 서브 플로우들은 다른 능력들 및 왕복 시간(Round Trip Time: RTT)들을 나타낸다. MPTCP의 중요한 태스크(task)들은 네트워크 혼잡 상태, 경로 토팔러지들, 수신기 버퍼 유용 공간을 기반으로 어떻게 동작하고, 얼마나 많은 데이터가 각 서브 플로우에 할당될 필요가 있는지를 포함한다.
SPDY™와 같은 일부 어플리케이션들 및 서비스들에서, 상기 데이터 세그먼트(segment)들은 높은 우선 순위 데이터가 브라우징(browsing) 경험을 향상시키기 위해서 첫 번째로 송신되는 방식으로 우선 순위화된다. 우선 순위화된 데이터를 MPTCP가 세그먼트의 중요도(importance) 및 중요성(significance)를 인식하지 않는 MPTCP 버퍼에 푸시(push)하는 것은 특히 높은 중요도 세그먼트들 중 일부가 손실이 있는 채널을 통해 송신될 경우 상기 송신을 덜 효율적으로 할 수 있고, 상기 채널에서는 반복적 재송신이 상기 높은 중요도 데이터(브라우징시 상기 문서 오브젝트 모델(Document Object Model: DOM)을 구성하기 위해 필요로 되는 상기 HTML 파일과 같은)를 성공적으로 송신하기 위해 발생할 수 있다.
보다 효율적인 송신을 위해서, MPTCP가 상기 패킷들의 중요도를 인식하도록 하여 혼잡 제어가 상기 높은 우선 순위 패킷들을 강인하고, 보다 손실이 적은 서브 플로우들로 푸시하도록 할 수 있도록 하는 것이 보다 이로울 것이다. 본 발명자가 아는 한, 문헌 상 어떤 연구도 이 교차 계층 동작 및 MPTCP가 어떻게 서브 플로우들을 분류할 수 있고 상기 우선 순위화된 데이터를 어떻게 상기 서브 플로우들로 오프로드할 수 있는지에 대해서는 전혀 언급하지 않고 있었다.
본 발명의 실시예들은 상기에서 설명한 바와 같은 몇몇 문제점들을 적어도 처리하도록 의도된다. 본 발명의 실시예들은 상기 세션 계층으로부터의 교환된 우선 순위화된 패킷들을 반영하기 위해서 유용한 서브 블로우들을 분류하는 MPTCP 기반 데이터 전송 시스템들에 대한 메커니즘을 제공할 수 있다. 또한, 본 발명의 실시예들은 상기 공통 버퍼를 관리하여 적합한 서브 플로우들에 상기 우선 순위화된 데이터를 오프로드(offload)할 수 있다.
본 발명의 제1 측면에 따르면, 다중 경로 송신 제어 프로토콜(Multipath Transmission Control Protocol: MPTCP) 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법이 제공되며, 상기 방법은:
상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하는 과정과;
상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하는 과정과;
상기 데이터 유닛 각각을 상기 MPTCP 연결의 다수의 서브 플로우들 중 하나에 할당하기 위해 상기 우선 순위-관련 정보를 프로세싱하는 과정과;
상기 할당된 서브 플로우들을 사용하여 상기 MPTCP 연결을 통해 상기 제2 디바이스로 상기 사용중인 데이터 유닛들을 전송하는 과정을 포함함을 특징으로 한다.
상기 우선 순위-관련 정보를 프로세싱하는 과정은 다수의 우선 순위 레벨들 중 하나를 상기 각 데이터 유닛에 할당하기 위해 상기 데이터 유닛들을 분석하는 과정을 포함할 수 있다.
상기 방법은 다수의 품질 클래스(class)들 중 하나를 상기 각 서브 플로우에 할당하기 위해서 상기 MPTCP 연결의 서브 플로우들을 분석하는 과정을 더 포함할 수 있다.
또한, 상기 우선 순위-관련 정보를 프로세싱하는 과정은 상기 데이터 유닛들을 상기 서브 플로우들에 할당하여 특정한 우선 순위 레벨을 가지는 데이터 유닛들이 특정 품질 클래스를 가지는 서브 플로우에 할당되도록 하는 과정을 더 포함할 수 있다.
상기 방법은 혼잡 제어 프로세스를 상기 버퍼로부터 전송되는 상기 데이터 유닛들의 상기 각 서브 플로우에 적용하는 과정을 더 포함할 수 있다. 상기 혼잡 제어 프로세스는 결합 MPTCP 혼잡 제어 메커니즘(coupled MPTCP congestion control mechanism)을 포함할 수 있다.
상기 우선 순위-관련 정보를 프로세싱하는 과정은 상기 서브 플로우들을 RTT 및 ACK들과 같은 손실 레이트 및/혹은 다른 파라미터들과 같은, 상기 서브 플로우들의 적어도 하나의 데이터 전송 품질-관련 팩터(factor)를 기반으로 상기 품질 클래스들, 일 예로 낮은 및 높은 품질 클래스들로 분류하는 과정을 포함할 수 있다. 높은 품질 클래스를 가지는 서브 플로우는 강인하지만(일 예로, 낮은 기대 재송신 레이트를 가지는) 손실되지는 않는 서브 플로우를 포함할 수 있다. 낮은 품질 클래스를 가지는 서브 플로우는 상기 데이터 유닛들의 반복적인 재송신을 요구하지 않는 서브 플로우를 포함할 수 있다.
상기 우선 순위-관련 정보를 프로세싱하는 과정은 서브 플로우의 손실 레이트를 계산하는 과정과, 상기 계산된 손실 레이트를 기반으로 품질 클래스를 상기 서브 플로우에 할당하는 과정을 포함할 수 있다. 상기 서브 플로우의 손실 레이트를 계산하는 과정은:
상기 각 서브 플로우를 사용하여 다수의 데이터 유닛들을 전송하는 과정과;
상기 각 서브 플로우에 대한 시간 윈도우(T) 내에서 손실된 데이터 유닛들(일 예로, NACK(non-acknowledged) 데이터 유닛들)의 개수를 인지하는 과정과;
상기 각 서브 플로우에 대한 시간 윈도우 내에서 평균 손실 레이트 LRi를 계산하는 과정을 포함할 수 있다.
상기 평균 손실 레이트 LRi를 계산하는 과정은 하기의 수학식을 사용할 수 있다:
Figure 112015039710516-pat00001
상기 서브 플로우들을 상기 품질 클래스들로 분류하는 과정은 상기 각 서브 플로우의 상기 계산된 평균 손실 레이트 LRi를 기반으로 상기 서브 플로우들을 정렬하는 과정을 포함할 수 있다. 일부 실시예들에서, 기준 값, 일 예로 1%보다 작은 계산된 평균 손실 레이트 LRi를 가지는 서브 플로우는 높은 품질 클래스 서브 플로우로 분류된다.
상기 서브 플로우들을 분석하는 과정은:
상기 서브 플로우들의 서브 그룹들의 다수의 결합들을 통해 다수의 높은 우선 순위 레벨 데이터 유닛들을 전달하는 기대 전달 시간을 계산하는 과정과;
가장 낮은 기대 전달 시간을 가지는 서브 그룹에서의 서브 플로우들을 높은 품질 클래스로 분류하는 과정을 포함할 수 있다.
상기 기대 전달 시간을 계산하는 과정은:
상기 서브 플로우들의 서브 그룹을 통해 상기 다수의 데이터 유닛들의 전달을 시도하는 과정과,
상기 다수의 데이터 유닛들의 반복 송신을 수행하는 과정과,
각 왕복 시간(Round Trip Time: RTT)에서 각 서브 플로우에 대한 상응하는 윈도우를 계산하는 과정을 포함할 수 있다.
상기 서브 플로우들을 분석하는 과정은 일 예로, 상기 MPTCP 연결 변경을 위해 사용되는 네트워크의 조건에 상응하여 다이나믹(dynamic)하게 수행될 수 있다.
상기 데이터 유닛들을 분석하는 과정은 상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하는 과정을 포함할 수 있다. 상기 우선 순위-관련 정보를 추출하는 과정은 세션 계층(session layer)과 트랜스포트 계층(transport layer)간을 교차하는 데이터 유닛들에 대한 정보와 같은 교차 계층 정보(cross layer information)를 프로세싱할 수 있다. 상기 데이터 유닛들을 분석하는 과정은 상기 데이터 유닛들의 우선 순위 플래그(flag)들/신호들을 분석하는 과정을 포함할 수 있다. 일부 실시예들에서, 상기 데이터 유닛들을 분석하는 과정은 상기 데이터 유닛들의 관련 순서(relevance order)를 분석하는 과정을 포함한다.
상기 데이터 유닛은 SPDY™ 메시지를 포함할 수 있다. 상기 데이터 유닛들을 분석하는 과정은 SYN_STREAM 혹은 SYN_REPLY 높은 우선 순위 식별자를 가지는 SPDY™ 메시지를 포함하는 데이터 유닛에 높은 우선 순위 레벨을 할당하는 과정을 포함할 수 있다.
상기 데이터는 비디오 데이터를 포함할 수 있으며, 상기 각 데이터 유닛은 I-프레임, P-프레임, 혹은 B-프레임으로 카테고리화된다. 상기 데이터 유닛들을 분석하는 과정은 I-프레임을 포함하는 데이터 유닛에 높은 우선 순위 레벨을 할당하는 과정과, 상기 P-프레임 혹은 B-프레임을 포함하는 데이터 유닛에 낮은 우선 순위 레벨을 할당하는 과정을 포함할 수 있다.
상기 버퍼에 상기 데이터 유닛들을 배열하는 과정은 높은 우선 순위 레벨을 가지는 데이터 유닛들을 상기 버퍼로 포워드 로딩(forward loading)하는 과정과, 낮은 우선 순위 레벨을 가지는 데이터 유닛들을 상기 버퍼로 백워드 로딩(backward loading)하는 과정을 포함할 수 있다. 상기 데이터 유닛들을 상기 버퍼에 배열하는 과정은 상기 버퍼의 나머지 공간이 상기 높은 우선 순위 레벨을 가지는 데이터 유닛들의 로딩에만 충분할 경우 상기 낮은 우선 순위 레벨을 가지는 데이터 유닛들의 상기 버퍼로의 추가적인 로딩을 방지하는 과정을 포함할 수 있다.
상기 MPTCP 연결은 다수의 통신 네트워크 인터페이스들을 사용할 수 있다. 상기 통신 네트워크들은 무선 네트워크들, 일 예로 LTE 및 Wi-Fi™를 포함할 수 있다. 상기 방법은 상기 제1 디바이스와 제2 디바이스간의 MPTCP 연결을 성립하는 과정을 포함할 수 있다. 상기 MPTCP 연결은 다수의, 일 예로 2개의 서브 플로우들을 포함할 수 있다.
본 발명의 다른 측면에 따르면, 다중 경로 송신 제어 프로토콜(Multipath Transmission Control Protocol: MPTCP) 연결을 통해 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 시스템이 제공되며, 상기 시스템은:
상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하도록 구성되는 디바이스와;
상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하도록 구성되는 분석기와;
상기 각 데이터 유닛을 상기 MPTCP 연결의 다수의 서브 플로우들 중 하나에 할당하기 위해 상기 우선 순위-관련 정보를 프로세싱하도록 구성되는 프로세싱 디바이스와;
상기 할당된 서브 플로우들을 사용하여 상기 MPTCP 연결을 통해 상기 제2 디바이스로 상기 사용중인 데이터 유닛들을 전송하도록 구성되는 데이터 전송 디바이스를 포함한다.
상기 분석기는 안드로이드 프레임워크(Android™ framework) 내에 논리적으로 위치될 수 있으며, 상기 프로세싱 디바이스는 리눅스 커널(Linux kernel) 내에 논리적으로 위치될 수 있다.
상기 MPTCP 연결은 적어도 하나의 무선 네트워크, 일 예로, 3G/LTE 혹은 Wi-Fi™ 네트워크를 사용할 수 있다.
본 발명의 또 다른 측면에 따르면, 여기에서 설명되는 방법을 실질적으로 동작시키는 컴퓨터 프로그램을 저장하는 컴퓨터 리드 가능 매체가 제공된다.
본 발명의 또 다른 측면에 따르면, MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법이 제공되며, 상기 방법은:
상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하는 과정과;
다수의 우선 순위 레벨들 중 하나를 상기 각 데이터 유닛에 할당하기 위해 상기 데이터 유닛들을 분석하는 과정과;
각 서브 플로우에 다수의 품질 클래스들 중 하나를 할당하기 위해 상기 MPTCP 연결의 서브 플로우들을 분석하는 과정과;
상기 데이터 유닛들을 상기 서브 플로우들에 할당하여 특정한 우선 순위 레벨을 가지는 데이터 유닛들이 상응하는 품질 클래스를 가지는 서브 플로우에 할당되도록 하는 과정과;
상기 데이터 유닛들의 할당된 우선 순위 레벨들에 따라 상기 MPTCP 연결의 버퍼 내에 상기 데이터 유닛들을 배열하는 과정과;
상기 할당된 서브 플로우들을 사용하여 상기 버퍼로부터 상기 제2 디바이스로 사용중인 상기 배열된 데이터 유닛들을 전송하는 과정을 포함한다.
상기 우선 순위-관련 정보를 프로세싱하는 과정은:
상기 우선 순위-관련 정보로부터 데이터 유닛이 낮은 우선 순위 레벨을 가지는지 혹은 높은 우선 순위 레벨을 가지는지 결정하는 과정과;
상기 낮은 우선 순위 레벨을 가지는 데이터 유닛을 높은 우선 순위 데이터 전송 분류를 가지는 서브 플로우에 할당하는 과정과;
상기 높은 우선 순위 레벨을 가지는 데이터 유닛을 낮은 우선 순위 데이터 전송 분류를 가지는 서브 플로우에 할당하는 과정을 포함할 수 있다.
상기 방법은 상기 MPTCP 연결의 서브 플로우들을 높은 품질 데이터 전송 분류를 가지는 서브 플로우로 분류하거나, 혹은 낮은 품질 데이터 전송 분류를 가지는 서브 플로우로 분류하는 과정을 더 포함할 수 있다.
본 발명에 따르면, 첨부된 청구항들에 기재되어 있는 바와 같은 방법, 장치 및 시스템이 제공된다. 본 발명의 다른 특징들은 종속항들 및 하기의 상세한 설명으로부터 자명할 것이다.
본 발명에 대한 보다 나은 이해를 위해서, 그리고 본 발명의 실시예들이 어떻게 효과적으로 수행될 수 있는지를 나타내기 위해서, 이제부터는 다음과 같은 첨부 도식적 도면들을 참조하여 예시적으로 설명될 것이다:
도 1은 서버로부터 클라이언트로의 데이터 전송에 사용중인 예제 MPTCP 연결의 시스템 개략도를 도시하고 있는 도면이다;
도 2는 본 발명의 데이터 전송 방법의 일 실시예에 따라 MPTCP 연결을 통해 서버로부터 클라이언트로의 데이터 전송을 도시하고 있는 타임라인(timeline)이다;
도 3은 상기 데이터 전송 방법의 일 실시예에 따른 이동 디바이스에 배치된 예제 MPTCP 우선 순위화된 데이터 오프로드 메커니즘(offload mechanism)의 아키텍쳐(architecture)를 도시하고 있다;
도 4는 상기 데이터 전송 방법의 일 실시예에 따른 버퍼 관리를 그래픽적으로 도시하고 있다;
도 5는 상기 데이터 전송 방법의 일 실시예에 따른 비디오 프레임들의 중요 카테고리화를 그래픽적으로 도시하고 있다.
본 발명의 실시예들은 상기 MPTCP 오프로딩 메커니즘에 패킷/세그먼트 분석기(304), 서브 플로우 코디네이터(subflow coordinator)(306), 버퍼 관리기(308), 듀얼 혼잡 제어(dual congestion control)(310)를 포함할 수 있는 새로운 절차들을 도입한다. 도 2는 서버(300)와 클라이언트(302)간의 MPTCP 송신 진행에 따른 상기 도입된 절차들의 타임라인(timeline) 다이아그램이다. 도 2의 단계들은 오직 예일 뿐이며, 다른 실시예들에서는 상기 단계들 중 적어도 일부가 재정렬될 수 있거나 혹은 생략될 수 있고, 및/혹은 추가적인 단계들이 또한 수행될 수 있다는 것이 이해될 것이다.
상기 절차는 MTCP 연결이 다수의 활성화된 서브 플로우들을 사용하여 이동 핸드셋(mobile handset)(클라이언트(302)) 및 송신기((서버(300))간에 성립된다고 가정하기로 한다. 교차 계층 정보(cross layer information) 교환이 세션 계층과 트랜스포트 계층간에 발생하여 상기 패킷들/세그먼트들의 우선 순위화 레벨 및 상기 패킷들/세그먼트들 중 어떤 패킷들/세그먼트들이 높은 우선 순위 중요 태스크들에 상응하는지(일 예로, 브라우징시 DOM을 구성하는 것에 관련되는 세그먼트들, 혹은 비디오 송신시 I-프레임들, 하지만, 상기 방법은 다양한 방식들로 우선 순위화될 수 있는 다른 타입들의 데이터 유닛들에도 적용될 수 있다는 것이 이해될 것이다)에 관한 MPTCP를 알려주는 포인트로부터 시작하기로 한다. 상기 패킷 분석기(Packet Analyzer: PA)(304)는 상기 세그먼트들/패킷들을 우선 순위 레벨 클래스들로 분류한다. 예제 실시예에서, 상기 클래스들은 상기 교환되는 정보(일 예로, SPDY™ 서비스를 가정할 경우의 세그먼트의 우선 순위)를 기반으로 높은 우선 순위 클래스(high priority class: HPC) 및 낮은 우선 순위 클래스(low priority class: LPC)를 포함한다. 하지만, 다른 실시예들에서, 다른 타입들 및/혹은 다수의 우선 순위 레벨 클래스들이 사용될 수 있다는 것이 이해될 것이다.
한편, 상기 서브 플로우 코디네이터(Subflow Coordinator: SC)(306)는 상기 유용한 서브 플로우들을 상기 유용한 서브 플로우들의 손실 레이트 및/혹은 RTT 및/혹은 ACK들과 같은 다른 파라미터들과 같은 데이터 전송 품질 팩터들을 기반으로 품질 클래스들로 분류한다. 상기 SC에 의해 수행될 수 있는 상기 분류 절차들의 예들은 하기에서 설명된다. 상기 분류는 다이나믹하게 수행되며, 클라이언트 설정들을 기반으로 일 예로 네트워크/무선 조건 변경과 같은 짧은 기간에 대한 연속적이고도 빠른 리밸런싱(rebalancing)을 허여한다. 상기 예제 실시예에서, 서브 플로우들의 두 가지 품질 클래스들이 제공된다. 상기 서브 플로우 클래스들은 그리고 나서 상기 PA(304)에 의해 수행되는 상기 HPC 및 LPC 세그먼트들/프래그먼트들에 매핑된다. 상기 분류를 수행하는 예제 메커니즘이 하기에서 설명될 것이다. 다른 실시예들에서, 다른 타입들 및/혹은 다수의 품질 클래스들이 사용될 수 있다. 상기 데이터 유닛 우선 순위 레벨 클래스들, 상기 서브 플로우 품질 클래스들 및/혹은 상기 MPTCP 연결에 관련되는 네트워크 인터페이스들의 개수는 서로에게 필수적으로 상응하지는 않는다.
각 윈도우에 포함하는 특정한 개수의 높은 우선 순위 패킷들 및 특정한 개수의 낮은 우선 순위 패킷들을 할당하는 것을 포함할 수 있는, 각 클래스에 대한 어그리게이트 유용 서브 플로우 윈도우들을 산출한 후, 상기 버퍼 관리기(Buffer Manager: BM)(308)는 상기 서버(300)의 공통 버퍼 내에서 상기 분류된 패킷들을 재정렬하여 상기 유용한 버퍼 공간이 보다 나은 버퍼 사용 효율성을 위해 공정 기회 방식(fair and opportunistic manner)으로 HPC 및 LPC 세그먼트들/패킷들 둘 다에 대해서 할당될 수 있도록 한다. 이런 할당의 예제가 하기에서 설명될 것이다.
마지막으로, 두 개의 별도의 혼잡 제어들(310)은 상기에서 설명된 바와 같은 각 품질 클래스에 적용될 수 있고, 상기 연산된 분류들에 따라 상기 패킷들을 상기 서브 플로우들에 할당할 수 있다. 각 혼잡 제어 프로세스는 상기 두 개의 제어들이 explicitly 결합되지 않고, 독립적으로 동작된다고 할지라도 기본 결합 MPTCP 혼잡 제어 메커니즘(basic coupled MPTCP congestion control mechanism)이 될 수 있다. 하지만, 서브 플로우 분류는 다이나믹하기 때문에, 서브 플로우들은 상기 두 개의 메커니즘들간의 간접적인 커플링의 분류를 확실하게 하는 다른 서브 플로우에 규칙적으로 재할당될 수 있다.
상기 데이터가 상기 서버(300)로부터 상기 클라이언트(302)로 전송되도록 하기 위해서, 상기 패킷들은 상기 클라이언트 디바이스의 플로우 제어기(312)로 전송되며, 상기 클라이언트 디바이스는 상기 서버에게 상기 클라이언트 디바이스의 버퍼에서의 공간이 상기 데이터를 수신하기에 유용한지 여부를 지시한다.
안드로이드(Android™) 이동 전화에서의 예제 MPTCP 플로우 제어 메커니즘의 블록 아키텍쳐(architecture) 및 그 배치가 도 3에 도시되어 있다. 상기 예제 MPTCP 플로우 제어 메커니즘은 두 개의 네트워크 토팔러지들: LTE 및 무선 근거리 네트워크(Wireless Local Area Network: WLAN)를 사용하여 구현된다. 상기 아키텍쳐는 상기 규칙적 MPTCP/TCP 소켓 API(501)(이미 두 개의 서브 플로우들이 개시되어 있는 상기 서버/송신기와 상기 클라이언트간의 성립된 MPTCP 연결을 가정할 경우)를 유지하고, 하기에서 설명되는, 서로 다른 계층들에 배치되는, 상기 패킷 분석기(packet analyzer: PA)(304) 및 상기 서브 플로우 코디네이터(subflow coordinator: SC)(306)를 도입하지만, 상기 세션 및 트랜스포트 계층들간의 교차 계층 채널을 사용하여 우선 순위화 제어 신호들을 교환한다. 다른 실시예들에서, 다른 타입들의 네트워크들, 인터페이스들, 송신/수신 디바이스들이 사용될 수 있다는 것이 이해될 것이다.
상기 패킷 분석기(packet analyzer: PA)(304)는 상기 세션/어플리케이션 계층(502)과 트랜스포트 계층간의 인터페이스에서 도입된다(그리고, 따라서 상기 도시되어 있는 실시예에서 상기 안드로이드 프레임워크 내에서 논리적으로 위치된다). 전송될 데이터 유닛들의 우선 순위 레벨들에 관련되는 데이터는 상기 PA(304)에 의해 수신되고 프로세싱된다. 상기 패킷 분석기의 중요한 역할은 상기 교환되는 패킷들의 우선 순위 플래그들/신호들을 기반으로 패킷들을 분류하는 것이다(일 예로, 높은 우선 순위 클래스(high priority class: HPC) 및 낮은 우선 순위 클래스(low priority class: LPC)와 같이). 일 예로, 상기 SPDY™ 서비스의 경우에서, 상기 PA는 상기 세그먼트들을 분류하기 전에 세그먼트들의 그룹 플래그들 혹은 관련 순서를 참조한다.
상기 서브 플로우 코디네이터(subflow coordinator: SC)(306) 및 상기 버퍼 관리기(buffer manager: BM)(308)는 상기 도시되어 있는 실시예에서 상기 리눅스(Linux™) 커널 내에 논리적으로 위치되어 있는, 상기 MPTCP 연결(504), TCP들(505A, 505B) 및 IP 라우팅 컴포넌트(routing component)(506)와 함께 존재한다. 상기 SC(306)는 다이나믹하게 상기 유용한 서브 플로우들(일 예로, 508A, 508B)을 상기 유용한 서브 플로우들의 손실 레이트와 같은 품질-관련 팩터들 및/혹은 RTT 및 ACK들과 같은 다른 파라미터들을 기반으로 품질 클래스들, 일 예로, HPC 및 LPC로 분류한다. 다른 실시예들에서, 상기 플로우 제어 윈도우로부터의 데이터는 품질 클래스들을 할당하기 위해 사용될 수 있고, 일반적으로, 송신 동안 교환되는 어떤 정보라도 상기 분류를 기반으로 할 수 있다. 또한, 다른 메커니즘들이 상기 분류 프로세스를 수행하기 위해 사용될 수 있다는 것이 이해될 것이다.
첫 번째 예제 분류 프로세스는 각 서브 플로우의 손실 레이트를 계산하는 것을 기반으로 하는 간단한 분류 프로세스이다. 이 예제 분류 절차를 사용할 경우, 시작에서, 모든 서브 플로우들, 즉 i=1:N 개의 서브 플로우들은 상기 SC(306)에 의해 상기 HPC 클래스로 분류된다. 그리고 나서, 상기 SC(306)는 특정 시간 윈도우 T: 일반적으로 각 서브 플로우에 대해서 몇 개의 RTT들 내에서 상기 손실된 패킷들(NACK(non-acknowledged) 패킷들)의 개수를 인지하고, 그리고 나서 이 시간 윈도우 내에서의 평균 손실 레이트 LRi를 하기 수학식과 같이 계산한다:
Figure 112015039710516-pat00002
모든 LRi i=1:N를 계산한 후, 상기 SC(306)는 모든 서브 플로우들의 손실 레이트들을 기반으로 상기 모든 서브 플로우들을 정렬한다. 기본적으로,
Figure 112015039710516-pat00003
인 서브 플로우는 HPC로 분류되고, 상기 조건에 부합되지 못하는 서브 플로우에는 상기 LPC 클래스로 할당된다.
Figure 112015039710516-pat00004
의 대표적인 예제 값은 1%이다.
상기 SC(306)에 의해 수행될 수 있는, 보다 더 복잡하지만, 보다 더 효율적인 분류 절차의 예제는 서브 플로우들의 모든 가능한 서브 그룹들의 M개의 높은 우선 순위 패킷들을 전달하는 기대 시간을 계산하는 것을 기반으로 한다. 각 서브 플로우에 대해서, 상기 SC(306)는 상기 각 서브 플로우가 상기 MPTCP 혼잡 제어 메카니즘의 실제 상태/현재의 스테이트(state)로부터 시작되는 서브 플로우들의 서브 그룹을 통해 M개의 패킷들을 전달하는 것을 시도하고 있다고 가정하며, 그리고 나서 상기 패킷들의 반복적 송신을 동작시키고, 알려진 혼잡 제어 알고리즘들을 기반으로 각 RTT에서 각 서브 플로우에 대한 상응하는 윈도우를 계산한다.
일 실시예에서, 상기 버퍼 관리기(buffer manager: BM)(308)는 상기 분류된 패킷들을 상기 공통 버퍼에 할당하여 HPC 패킷들이 상기 공통 버퍼의 시작으로부터 시작되어 위치되고, 일 예로, 왼쪽으로부터 오른쪽으로(포워드 로딩(forward loading) 로딩되고, LPC 패킷들은 상기 마지막으로부터 시작되어 오른쪽에서 왼쪽으로 로딩되도록 한다. 이는 한 가지 가능한 버퍼 관리 예제일 뿐이며, 다른 공유 메카니즘들이 사용될 수 있다는 것이 이해될 것이다. 도 4는 이 방법에 따른 버퍼 관리를 그래픽적으로 도시하고 있다. 한 가지 중요한 측면은 HPC 데이터는 상기 유용한 메모리 공간이 HPC 송신에 대해 필요로 될 경우 LPC의 더 이상의 추가적인 로딩이 수행되지 않는 로딩되는 버퍼의 경우에서 항상 우선 순위를 가질 수 있다.
다른 실시예는 SPDY™ 세그먼트들을 프로세싱하도록 구성된다. SPDY™은 HTTP 통신을 작은 개별 프레임들로 분할하고, 상기 작은 개별 프레임들은 논리 스트림(stream) 내에서의 메시지들에 매핑된다. 상기 스트림은 양방향 메시지들을 운반하는 가상 채널이다. 각 스트림은 고유한 정수 식별자 (1, 2, …, S)를 가진다. HTTP 1.x와는 달리, SPDY™에서, 모든 통신은 단일 TCP 연결 내에서 수행된다. SPDY™의 성능을 추가적으로 개선시키기 위해서, 각 스트림에는 31-비트 우선 순위 값이 할당된다:
. 0은 가장 높은 우선 순위 스트림을 나타낸다.
. 2 31 -1는 가장 낮은 우선 순위 스트림을 나타낸다.
상기 브라우저에서 페이지를 렌더링(rendering)할 경우 모든 자원들이 동일한 우선 순위를 가지지 않기 때문에, 상기 HTML 문서 자체는 상기 DOM의 구성에 대해서 중요하고: 상기 캐스케이딩 스타일 시트들(Cascading Style Sheets: CSS)이 상기 CSS 오브젝트 모델(Object Model)을 구성하는 것이 필요로 되며; 상기 DOM 및 CSS 오브젝트 모델 구성 둘 다는 자바 스크립트(JavaScript™) 자원들에서 차단될 수 있으며, 이미지들과 같은 다른 자원들은 주로 더 낮은 우선 순위로 페치(fetch)된다. 공간에서의 우선 순위들을 사용하여, 상기 클라이언트 및 서버는 다양한 기술들을 적용하여 상기 자원들(CPU, 메모리, 대역폭)의 할당을 제어함으로써 개별 스트림들, 메시지들, 프레임들을 최적 순서로 프로세싱하고, 상기 응답 데이터가 유용하면, 상기 클라이언트에 대한 높은-우선 순위 프레임들의 전달을 우선 순위화한다.
하지만, SPDY™는 모든 세그먼트들을 하나의 TPC 연결로 페치하도록 디자인되고, MPTCP에 대해서는 디자인되지 않는다. 기본 MPTCP 상에서 SPDY™를 구현하는 것은 우선 순위화된 세그먼트들을 하나 이상의 TCP 서브 플로우에 매핑하는 것이 고려되지 않기 때문에 최적이 되지는 않을 것이다. 하지만, 본 발명자들은 여기서 설명되는 메카니즘의 일 실시예를 개발하여 높은 우선 순위가 가능한한 빨리 최선의 서브 플로우들의 집합을 통해 송신되는 것을 보장하고, 상기 낮은 우선 순위 세그먼트들을 손실이 있는 서브 플로우들에 할당함으로써 추가적으로 SPDY™ 성능을 향상시킬 수 있는 향상된 매핑을 제공하도록 한다.
SPDY™ 메시지들에서 SYN_STREAM 및 SYN_REPLY와 같은 우선 순위 식별자들은 상기 세그먼트들의 우선 순위 레벨을 분류하기 위해 상기 MPTCP 패킷 분석기(304)와 교환될 수 있다. 상기에서 설명된 바와 같은 절차는 그리고 나서 상기 분류 프로세스를 따를 수 있다.
다른 실시예는 비디오 패킷들의 우선 순위를 기반으로 상기 비디오 패킷들을 분류할 수 있다. 비디오 컨텐트(Video content)는 인코딩된 비디오 패킷들이 일시적으로 이전에 인코딩된 비디오 패킷들과 상관되기 때문에 일반적인 데이터와는 차별화되고, 상기 이전에 인코딩된 비디오 패킷들은 패킷들간의 상호 의존성들을 도입한다. 게다가, 비디오 패킷들은 상기 비디오 패킷들의 능력에 따라 3개의 주요 카테고리들로 분류되어 셀프-디코딩 가능하거나(self-decodable) 혹은 종속적으로 디코딩 가능해진다(dependent-decodable). 비디오 패킷들/프레임들은 3개의 카테고리들: I-프레임들, P-프레임들, B-플레임들로 구분되며, 특히:
- I-프레임들은 최소 압축 가능 프레임들이고, 디코딩될 다른 비디오 프레임들을 기반으로 하지 않는다
- P-프레임들은 디코딩되기 위해서 이전 프레임들로부터의 데이터를 필요로 하고, I-프레임들보다 더 나은 압축을 성취할 수 있다
- B-프레임들은 높은 레벨의 압축을 성취하기 위해서 인코딩에 대한 이전 및 이후의 프레임들을 사용하지만, 상기 B-프레임들의 디코딩 프로세스는 철저하게 상기 B-프레임들이 기반으로 하는 패킷들의 디코딩의 성공을 기반으로 한다.
이 카테고리화를 고려할 경우, 본 발명자들은 상기 프레임들의 독립성 및 셀프-디코딩 능력을 기반으로 상기 프레임들에 대한 우선 순위화(도 5에 도시되어 있는)를 보다 중요하거나, 혹은 덜 중요하게 제안한 바 있다:
- I-프레임들은 상기 I-프레임들이 셀프-디코딩 가능하고 어떤 기준 프레임도 요구하지 않기 때문에 P-프레임들 혹은 B-프레임들보다 보다 중요하게 고려될 수 있다. P-프레임들 및 B-프레임들은 디코딩되기 위해서 I-프레임들을 필요로 한다.
- P-프레임들은 상기 P-프레임들이 상기 P-프레임들 자신을 디코딩하기 위해 기준 프레임/패킷의 이전의 성공적인 디코딩을 필요로 하기 때문에 B-프레임들보다 보다 중요하게 고려될 수 있다. 게다가, P-프레임들은 B-프레임들의 인코딩에 대한 기준 프레임으로서 사용될 수 있으며, 따라서 B-프레임들은 상기 B-프레임들이 상기 P-프레임들을 참조할 경우, 상기 P-프레임들을 기반으로 한다.
- B-프레임들은 상기 B-프레임들이 상기 B-프레임들 자신의 디코딩에 대해서 상기 B-프레임들의 기준 프레임들(I-프레임들 혹은 P-프레임들이 될 수 있다)의 이전의 성공적인 디코딩을 필요로 하기 때문에 P-프레임들 혹은 I-프레임들보다 덜 중요하게 고려될 수 있다(셀프-디코딩 능력 측면에서).
상기 MPTCP 패킷 분석기(304)와 비디오 프레임 타입 및 중요도 레벨(일 예로, 일 실시예에서, I-프레임들만 중요하고 높은 우선 순위라고 고려되고, B-프레임들 및 P-프레임들 둘 다는 낮은 우선 순위로 고려된다)을 교환함으로써, 상기 PA는 상기 상응하는 프레임들을 HPC 혹은 LHC 클래스들로 분류할 수 있다. 상기에서 설명한 바와 같은 프로세스는 그리고 나서 상기 송신 프로세스를 완료하도록 할 수 있다.
한편, 별도의 도면으로 도시하지는 않았으나, 본 발명의 일 실시예에서 서버는 송신기와, 제어기와, 수신기와, 저장 유닛을 포함할 수 있다.
먼저, 상기 제어기는 상기 서버의 전반적인 동작을 제어한다. 상기 제어기는 상기 서버가 본 발명의 일 실시예에 따른 MPTCP 연결을 사용하여 데이터를 전송하는 동작에 관련된 전반적인 동작을 수행하도록 제어한다. 여기서, 본 발명의 일 실시예에 따른 MPTCP 연결을 사용하여 데이터를 전송하는 동작에 관련된 전반적인 동작은 도 2 내지 도 5에서 설명한 바와 동일하므로, 그 상세한 설명을 생략하기로 한다.
상기 송신기는 상기 제어기의 제어에 따라 다른 엔터티, 일 예로 클라이언트 등으로 각종 신호들 및 각종 메시지들 등을 송신한다. 여기서, 상기 송신기가 송신하는 각종 신호들 및 각종 메시지들 등은 도 2 내지 도 5에서 설명한 바와 동일하므로, 그 상세한 설명을 생략하기로 한다.
또한, 상기 수신기는 상기 제어기의 제어에 따라 다른 엔터티, 일 예로 클라이언트 등으로부터 각종 신호들 및 각종 메시지들 등을 수신한다. 여기서, 상기 수신기가 수신하는 각종 신호들 및 각종 메시지들 등은 도 2 내지 도 5에서 설명한 바와 동일하므로, 그 상세한 설명을 생략하기로 한다.
상기 저장 유닛은 상기 서버의 동작에 필요한 프로그램과 각종 데이터 등, 특히 본 발명의 일 실시예에 따른 MPTCP 연결을 사용하여 데이터를 전송하는 동작에 관련된 전반적인 동작에 관련된 정보 등을 저장한다. 또한, 상기 저장 유닛은 상기 수신기가 수신한 각종 신호들 및 각종 메시지들 등을 저장한다.
한편, 상기에서는 상기 서버가 상기 송신기와, 제어기와, 수신기와, 저장 유닛과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 서버는 상기 송신기와, 제어기와, 수신기와, 저장 유닛 중 적어도 두 개가 1개의 유닛으로 통합된 형태로 구현 가능함은 물론이다.
또한, 별도의 도면으로 도시하지는 않았으나, 본 발명의 일 실시예에서 클라이언트는 송신기와, 제어기와, 수신기와, 저장 유닛을 포함할 수 있다.
먼저, 상기 제어기는 상기 클라이언트의 전반적인 동작을 제어한다. 상기 제어기는 상기 클라이언트가 본 발명의 일 실시예에 따른 MPTCP 연결을 사용하여 데이터를 전송하는 동작에 관련된 전반적인 동작을 수행하도록 제어한다. 여기서, 본 발명의 일 실시예에 따른 MPTCP 연결을 사용하여 데이터를 전송하는 동작에 관련된 전반적인 동작은 도 2 내지 도 5에서 설명한 바와 동일하므로, 그 상세한 설명을 생략하기로 한다.
상기 송신기는 상기 제어기의 제어에 따라 다른 엔터티, 일 예로 서버 등으로 각종 신호들 및 각종 메시지들 등을 송신한다. 여기서, 상기 송신기가 송신하는 각종 신호들 및 각종 메시지들 등은 도 2 내지 도 5에서 설명한 바와 동일하므로, 그 상세한 설명을 생략하기로 한다.
또한, 상기 수신기는 상기 제어기의 제어에 따라 다른 엔터티, 일 예로 서버 등으로부터 각종 신호들 및 각종 메시지들 등을 수신한다. 여기서, 상기 수신기가 수신하는 각종 신호들 및 각종 메시지들 등은 도 2 내지 도 5에서 설명한 바와 동일하므로, 그 상세한 설명을 생략하기로 한다.
상기 저장 유닛은 상기 클라이언트의 동작에 필요한 프로그램과 각종 데이터 등, 특히 본 발명의 일 실시예에 따른 MPTCP 연결을 사용하여 데이터를 전송하는 동작에 관련된 전반적인 동작에 관련된 정보 등을 저장한다. 또한, 상기 저장 유닛은 상기 수신기가 수신한 각종 신호들 및 각종 메시지들 등을 저장한다.
한편, 상기에서는 상기 클라이언트가 상기 송신기와, 제어기와, 수신기와, 저장 유닛과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 클라이언트는 상기 송신기와, 제어기와, 수신기와, 저장 유닛 중 적어도 두 개가 1개의 유닛으로 통합된 형태로 구현 가능함은 물론이다.
본 발명의 실시예들은 송신될 패킷들과 같은 데이터 유닛들의 우선 순위들이 보다 최적화된 서비스에 대해 상기 오프로드 메카니즘에 반영되는 효율적인 MPTCP 송신 방식을 제공할 수 있다. 상기 MPTCP 오프로딩 메카니즘에서의 추가적인 유연성은 상위 계층들의 설정들을 만족시킬 수 있고, 상기 상위 계층들의 설정들은 상기 교차 계층 가시성(cross layer visibility)을 도입함으로써 성취될 수 있다.
현재, 클라이언트들은 휴리스틱(heuristics)을 사용하여 주기적으로 가장 좋은 인터페이스를 선택할 수 있고, 기존 연결들을 종료시키고 새로운 연결들을 재성립할 때 마다 스위치가 이루어진다. 여기에서 설명되는 상기 MPTCP 우선 순위화 데이터 오프로딩 메카니즘의 실시예들은 상기와 같은 이진 결정들을 할 필요를 피할 수 있고, 대신에 클라이언트 설정들을 기반으로 무선 조건 변경과 같은 짧은 기간에서 연속적이고 빠른 리밸런싱(rebalancing)을 허여할 수 있다.
실시예들은 상기 MPTCP 송신 프로토콜을 변경하지 않고 어떤 제어 신호들 혹은 플래그들도 생성되거나 교환될 필요가 없기 때문에 중간 장비(middlebox)들로 완전하게 보여지지 않을 수 있다. 또한, 오직 교차 계층 정보만이 교환되기 때문에 어떤 추가적인 오버헤드 혹은 제어 데이터도 상기 네트워크를 통해 송신될 필요가 없다.
본 발명의 바람직한 실시예에 따라, 상기의 실시예들에 따른 방법을 동작시키는 컴퓨터 프로그램을 저장하는 컴퓨터 리드 가능 매체가 제공된다는 것이 이해될 것이다.
본 출원에 관해서 이 상세한 설명과 동시에 혹은 이전에 출원되고, 이 상세한 설명으로 공중 조사에 공개되는 모든 문서들 및 서류들과, 상기와 같은 모든 문서들 및 서류들의 컨텐트들은 참조로 여기에 포함된다는 것에 유의하여야 할 것이다.
본 명세서(첨부 청구항들, 요약서, 도면들을 포함하는)에서 개시되는 모든 특징들, 및/혹은 상기에서와 같이 개시된 방법 혹은 프로세서의 모든 단계들은 상기와 같은 특징들, 및/혹은 단계들 중 적어도 일부가 상호 배제되는 결합들을 제외한, 어떤 결합으로라도 결합될 수 있다.
본 명세서(첨부 청구항들, 요약서, 도면들을 포함하는)에 개시되어 있는 각 특징은 별도로 다르게 언급되지 않는 한 동일하거나, 등가적이거나, 혹은 유사한 목적을 서비스하는 다른 특징들로 대체될 수 있다. 따라서, 별도로 다르게 언급되지 않는한, 개시되어 있는 각 특징은 등가의 혹은 유사한 특징들의 일반적인 시리즈의 한 예제일 뿐이다.
본 발명은 상기의 실시예(들)의 구체적인 사항들로 제한되지 않는다. 본 발명은 본 상세한 설명(첨부되는 청구항들, 요약서 및 도면들을 포함하는)에서 개시되어 있는 특징들의 신규한 특징, 혹은 신규한 결합, 혹은 상기에서 개시된 방법 혹은 프로세스의 단계들의 신규한 단계 혹은 신규한 결합으로 확장된다.

Claims (27)

  1. 다중 경로 송신 제어 프로토콜(Multipath Transmission Control Protocol: MPTCP) 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법에 있어서,
    상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하는 과정과;
    상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하는 과정과;
    상기 데이터 유닛들 각각을 상기 MPTCP 연결의 다수의 서브 플로우들 중 하나에 할당하기 위해 상기 우선 순위-관련 정보를 프로세싱하는 과정과;
    상기 할당된 서브 플로우들을 사용하여 상기 MPTCP 연결을 통해 상기 제2 디바이스로 상기 사용중인 데이터 유닛들을 전송하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  2. 제1항에 있어서,
    상기 우선 순위-관련 정보를 프로세싱하는 과정은 다수의 우선 순위 레벨들 중 하나를 상기 각 데이터 유닛에 할당하기 위해 상기 데이터 유닛들을 분석하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  3. 제2항에 있어서,
    다수의 품질 클래스(class)들 중 하나를 상기 각 서브 플로우에 할당하기 위해서 상기 MPTCP 연결의 서브 플로우들을 분석하는 과정을 더 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  4. 제3항에 있어서,
    상기 우선 순위-관련 정보를 프로세싱하는 과정은 상기 데이터 유닛들을 상기 서브 플로우들에 할당하여 특정한 우선 순위 레벨을 가지는 데이터 유닛들이 상응하는 품질 클래스를 가지는 상기 서브 플로우에 할당되도록 하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  5. 제4항에 있어서,
    상기 데이터 유닛들의 상기 할당된 우선 순위 레벨들에 따라 버퍼에 상기 데이터 유닛들을 배열하는 과정과,
    상기 할당된 서브 플로우들을 사용하여 상기 사용중인 배열된 데이터 유닛들을 상기 버퍼로부터 상기 제2 디바이스로 전송하는 과정을 더 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  6. 제1항에 있어서,
    별도의 혼잡 제어 프로세스를 상기 각 서브 플로우에 적용하는 과정을 더 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  7. 제6항에 있어서,
    상기 별도의 혼잡 제어 프로세스는 결합 MPTCP 혼잡 제어 메커니즘(coupled MPTCP congestion control mechanism)을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  8. 제3항에 있어서,
    상기 서브 플로우들을 분석하는 과정은 상기 서브 플로우들을 상기 서브 플로우들의 적어도 하나의 데이터 전송 품질-관련 팩터(factor)를 기반으로 상기 품질 클래스들로 분류하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  9. 제3항에 있어서,
    상기 서브 플로우들을 분석하는 과정은 상기 서브 플로우의 손실 레이트를 계산하는 과정과,
    상기 계산된 손실 레이트를 기반으로 상기 품질 클래스를 상기 서브 플로우에 할당하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  10. 제9항에 있어서,
    상기 서브 플로우의 손실 레이트를 계산하는 과정은:
    상기 각 서브 플로우를 사용하여 다수의 데이터 유닛들을 전송하는 과정과;
    상기 각 서브 플로우에 대한 시간 윈도우(time window) 내에서 손실된 데이터 유닛들의 개수를 인지하는 과정과;
    상기 각 서브 플로우에 대한 시간 윈도우 내에서 평균 손실 레이트를 계산하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  11. 제10항에 있어서,
    기준 값 보다 작은 계산된 평균 손실 레이트를 가지는 서브 플로우는 높은 품질 클래스 서브 플로우로 분류됨을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  12. 제3항에 있어서,
    상기 서브 플로우들을 분석하는 과정은:
    상기 서브 플로우들의 서브 그룹들의 다수의 결합들을 통해 다수의 높은 우선 순위 레벨 데이터 유닛들을 전달하는 기대 전달 시간을 계산하는 과정과;
    가장 낮은 기대 전달 시간을 가지는 서브 그룹의 서브 플로우들을 높은 품질 클래스로 분류하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  13. 제12항에 있어서,
    상기 기대 전달 시간을 계산하는 과정은:
    상기 서브 플로우들의 서브 그룹을 통해 상기 다수의 데이터 유닛들의 전달을 시도하는 과정과,
    상기 기대 전달 시간을 계산하기 위해서 상기 다수의 데이터 유닛들의 반복 송신을 수행하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  14. 제3항에 있어서,
    상기 서브 플로우들을 분석하는 과정은 상기 MPTCP 연결 변경에 대해 사용되는 네트워크의 조건에 응답하여 다이나믹(dynamic)하게 수행됨을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  15. 제1항에 있어서,
    상기 우선 순위-관련 정보를 추출하는 과정은 교차 계층 정보(cross layer information)를 프로세싱하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  16. 제15항에 있어서,
    상기 교차 계층 정보는 세션 계층(session layer)과 트랜스포트 계층(transport layer)간을 교차하는 데이터 유닛들에 대한 정보를 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  17. 제1항에 있어서,
    상기 우선 순위-관련 정보를 프로세싱하는 과정은 상기 데이터 유닛들의 우선 순위 플래그(flag)들/신호들을 분석하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  18. 제1항에 있어서,
    상기 우선 순위-관련 정보를 프로세싱하는 과정은 상기 데이터 유닛들의 관련 순서(relevance order)를 분석하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  19. 제1항에 있어서,
    상기 데이터 유닛은 어플리케이션 메시지를 포함하며, 상기 우선 순위-관련 정보를 프로세싱하는 과정은 SYN_STREAM 혹은 SYN_REPLY 높은 우선 순위 식별자를 가지는 어플리케이션 메시지를 포함하는 데이터 유닛에 높은 우선 순위 레벨을 할당하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  20. 제1항에 있어서,
    상기 데이터는 비디오 데이터를 포함하며, 상기 각 데이터 유닛은 I-프레임, P-프레임, 혹은 B-프레임으로 카테고리화되고, 상기 우선 순위-관련 정보를 프로세싱하는 과정은 I-프레임을 포함하는 데이터 유닛에 높은 우선 순위 레벨을 할당하는 과정과, 상기 P-프레임 혹은 B-프레임을 포함하는 데이터 유닛에 낮은 우선 순위 레벨을 할당하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  21. 제5항에 있어서,
    상기 버퍼에 상기 데이터 유닛들을 배열하는 과정은 높은 우선 순위 레벨을 가지는 데이터 유닛들을 상기 버퍼로 포워드 로딩(forward loading)하는 과정과,
    낮은 우선 순위 레벨을 가지는 데이터 유닛들을 상기 버퍼로 백워드 로딩(backward loading)하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  22. 제21항에 있어서,
    상기 데이터 유닛들을 상기 버퍼에 배열하는 과정은 상기 버퍼의 나머지 공간이 높은 우선 순위 레벨을 가지는 데이터 유닛들의 로딩에만 충분할 경우 낮은 우선 순위 레벨을 가지는 데이터 유닛들의 상기 버퍼로의 추가적인 로딩을 방지하는 과정을 포함함을 특징으로 하는 MPTCP 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 방법.
  23. 다중 경로 송신 제어 프로토콜(Multipath Transmission Control Protocol: MPTCP) 연결을 통해 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 시스템에 있어서,
    상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하도록 구성되는 디바이스와;
    상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하도록 구성되는 분석기와;
    상기 데이터 유닛 각각을 상기 MPTCP 연결의 다수의 서브 플로우들 중 하나에 할당하기 위해 상기 우선 순위-관련 정보를 프로세싱하도록 구성되는 프로세싱 디바이스와;
    상기 할당된 서브 플로우들을 사용하여 상기 MPTCP 연결을 통해 상기 제2 디바이스로 상기 사용중인 데이터 유닛들을 전송하도록 구성되는 데이터 전송 디바이스를 포함함을 특징으로 하는 MPTCP 연결을 통해 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 시스템.
  24. 제23항에 있어서,
    상기 분석기는 안드로이드 프레임워크(Android framework) 내에 논리적으로 위치되며, 상기 프로세싱 디바이스는 리눅스 커널(Linux kernel) 내에 논리적으로 위치됨을 특징으로 하는 MPTCP 연결을 통해 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 시스템.
  25. 제23항에 있어서,
    상기 MPTCP 연결은 적어도 하나의 무선 네트워크를 사용함을 특징으로 하는 MPTCP 연결을 통해 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 시스템.
  26. 제25항에 있어서,
    상기 적어도 하나의 무선 네트워크는 3G (3rd generation)/LTE(long term evolution) 혹은 Wi-Fi네트워크를 포함함을 특징으로 하는 MPTCP 연결을 통해 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 시스템.
  27. 다중 경로 송신 제어 프로토콜(Multipath Transmission Control Protocol: MPTCP) 연결을 사용하여 제1 디바이스와 제2 디바이스간의 데이터를 전송하는 장치에 있어서,
    상기 제1 디바이스로부터 데이터 유닛들의 집합을 포함하는, 사용중인 전송될 데이터를 수신하는 수신기;
    상기 수신된 데이터로부터 상기 데이터 유닛들에 대한 우선 순위-관련 정보를 추출하고, 상기 데이터 유닛들 각각을 상기 MPTCP 연결의 다수의 서브 플로우들 중 하나에 할당하기 위해 상기 우선 순위-관련 정보를 프로세싱하는 제어기; 및
    상기 할당된 서브 플로우들을 사용하여 상기 MPTCP 연결을 통해 상기 제2 디바이스로 상기 사용중인 데이터 유닛들을 전송하는 송신기를 포함하는 장치.
KR1020150057246A 2014-04-24 2015-04-23 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법 KR102328615B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1407227.6 2014-04-24
GB1407227.6A GB2525416B (en) 2014-04-24 2014-04-24 Data transfer using a multipath TCP connection

Publications (2)

Publication Number Publication Date
KR20150123185A KR20150123185A (ko) 2015-11-03
KR102328615B1 true KR102328615B1 (ko) 2021-11-19

Family

ID=50971816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150057246A KR102328615B1 (ko) 2014-04-24 2015-04-23 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102328615B1 (ko)
GB (1) GB2525416B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE053344T2 (hu) * 2016-09-29 2021-06-28 Nokia Technologies Oy Rádiós vivõ kapcsolás rádiós hozzáférésnél
KR102352514B1 (ko) * 2017-01-26 2022-01-19 삼성전자주식회사 다중 경로 전송 시스템의 데이터 전송 방법 및 장치
CN111149384B (zh) * 2017-09-29 2022-05-27 苹果公司 针对mptcp的rohc标头压缩
US10708170B2 (en) 2018-03-14 2020-07-07 At&T Intellectual Property I, L.P. Transferring data over multiple network paths using decoupled sub-flows
KR102180980B1 (ko) * 2018-12-12 2020-11-19 국방과학연구소 다 계층 네트워크에서 다중 경로 전송을 위한 패킷 분배 시스템 및 그 방법
WO2021069678A1 (en) * 2019-10-10 2021-04-15 Deutsche Telekom Ag A method and communication device for transmitting multiple data streams of different communication services over a multipath transmission system
CN111200557B (zh) * 2019-11-22 2021-08-10 荣耀终端有限公司 一种连接建立方法及终端设备
CN113328940B (zh) * 2020-02-28 2022-06-03 中国电信股份有限公司 路径选择方法和装置、接入网关和通信系统
CN111447152B (zh) * 2020-03-16 2023-10-13 Oppo广东移动通信有限公司 子流资源调度方法、装置、终端设备和存储介质
KR20220072386A (ko) 2020-11-25 2022-06-02 한국전자통신연구원 무선 통신 환경에서의 다중 경로 전송 제어 프로토콜의 성능 향상 방법
CN114553781A (zh) * 2021-12-23 2022-05-27 北京秒如科技有限公司 一种高效传输层多路径汇聚方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514865B2 (en) * 2004-04-30 2013-08-20 Hewlett-Packard Development Company, L.P. Assigning WAN links to subflows based on WAN link characteristics and application preferences
US7933294B2 (en) * 2005-07-20 2011-04-26 Vidyo, Inc. System and method for low-delay, interactive communication using multiple TCP connections and scalable coding
US7911956B2 (en) * 2007-07-27 2011-03-22 Silicon Image, Inc. Packet level prioritization in interconnection networks
EP2633652B1 (en) * 2010-10-27 2014-09-10 Interdigital Patent Holdings, Inc. Scalable policy-controlled packet inspection systems and methods for advanced application interface
KR101554551B1 (ko) * 2011-02-23 2015-10-07 에스케이텔레콤 주식회사 혼합네트워크에서의 네트워크 선택 시스템 및 그 방법
US9490948B2 (en) * 2011-06-20 2016-11-08 Vid Scale, Inc. Method and apparatus for video aware bandwidth aggregation and/or management
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
KR101360454B1 (ko) * 2011-12-29 2014-02-07 기초과학연구원 콘텐츠 기반 네트워크 시스템 및 그 콘텐츠 전송 제어방법

Also Published As

Publication number Publication date
GB2525416B (en) 2017-11-01
KR20150123185A (ko) 2015-11-03
GB201407227D0 (en) 2014-06-11
GB2525416A (en) 2015-10-28

Similar Documents

Publication Publication Date Title
KR102328615B1 (ko) 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법
US9877265B2 (en) Coding approach for a robust and flexible communication protocol
US10136354B2 (en) Apparatus and methods for improved packet flow mobility
JP6121478B2 (ja) ワイヤレス通信ネットワークにおけるマルチパストランスポート接続のための動的なサブフロー制御
CN109314662B (zh) 数据传输方法及装置
EP3457643B1 (en) Method and device for transmitting data stream
JP5001283B2 (ja) 資源要求者への移動表示の提供
KR101557479B1 (ko) 데이터 전송 방법, 오프로드 포인트 장치, 사용자 단말 및 시스템
EP3563615B1 (en) Method and system for scheduling resources for streaming video services in mobile communication networks
CN102143078A (zh) 一种报文处理方法、转发设备及系统
US9832679B2 (en) Window regulator for improved performance in a communications network
CN114531429A (zh) 用于传输媒体流的数据包的方法和通信装置
US10439945B2 (en) Single stream aggregation protocol
US11647419B2 (en) Adjusting window size based on quality of experience
Halepoto et al. Management of buffer space for the concurrent multipath transfer over dissimilar paths
Zhang et al. Joint routing and packet scheduling for uRLLC and eMBB traffic in 5G O-RAN
Zeydan et al. Enhancing the capabilities of mobile backhaul: A user plane perspective
Nightingale et al. Performance evaluation of concurrent multipath video streaming in multihomed mobile networks
KR102140267B1 (ko) 적어도 둘 이상의 무선 경로들을 통해 비디오 데이터 프레임의 패킷을 전송하는 적응적 비디오 스트리밍 방법 및 시스템
EP4340314A1 (en) Data transmission method and apparatus, device, and storage medium
Goyal et al. Design of transport layer bandwidth aggregation scheme for wireless applications
CA3197979A1 (en) Method and controller for audio and/or video content delivery
KR20230139683A (ko) 무선 통신 시스템에서 어플리케이션 데이터를 처리하는 장치 및 방법
JP2023051054A (ja) 複数のストリームを使用してデータを送受信する通信装置及びプログラム
CN117714746A (zh) 基于多通道的数据包传输方法、装置、设备和介质

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