KR102442083B1 - Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템 - Google Patents

Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102442083B1
KR102442083B1 KR1020177028722A KR20177028722A KR102442083B1 KR 102442083 B1 KR102442083 B1 KR 102442083B1 KR 1020177028722 A KR1020177028722 A KR 1020177028722A KR 20177028722 A KR20177028722 A KR 20177028722A KR 102442083 B1 KR102442083 B1 KR 102442083B1
Authority
KR
South Korea
Prior art keywords
scheduling
module
tcp
packets
router
Prior art date
Application number
KR1020177028722A
Other languages
English (en)
Other versions
KR20170137088A (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 KR20170137088A publication Critical patent/KR20170137088A/ko
Application granted granted Critical
Publication of KR102442083B1 publication Critical patent/KR102442083B1/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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 전송 제어 프로토콜(TCP) 세션들 또는 사용자 데이터그램 프로토콜(UDP) 세션들에 대해 패킷 기반 스케줄링을 사용하는 리소스 번들링을 위한 방법 및 시스템을 제공하며, 상기 시스템은 데이터를 송신 및 수신하도록 구성된 사용자 디바이스 및 데이터를 송신 및 수신하도록 구성된 서버를 포함한다. 상기 시스템은 TCP 터널들 및 적어도 하나의 전송 네트워크를 통해 데이터 패킷들을 스케줄링하고 분배하도록 구성된 제1 본딩 모듈 및 제2 본딩 모듈을 더 포함한다.

Description

TCP 터널들 및 고유 TCP 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템
본 발명은 전송 제어 프로토콜(TCP) 세션들 또는 사용자 데이터그램 프로토콜(UDP) 세션들에 대해 패킷 기반 스케줄링을 사용하는 리소스 번들링을 위한 방법 및 시스템에 관한 것이다.
과거에, 세션/애플리케이션 접근 방식, 전송 접근 방식, 네트워크 접근 방식 및 링크 계층 접근 방식으로 크게 그룹화할 수 있는 리소스 번들링을 위한 접근 방식들에 대해 많은 노력들이 있어왔다. 다음에서는 이러한 그룹들 각각에 대한 가장 중요한 예들이 간단히 논의될 것이다.
HTTP 범위 요청은 리소스 번들링을 수행하는 데에도 사용될 수 있는 세션/애플리케이션-계층 피처이다. 이러한 피처는 콘텐트를 작은 부분들로 다운로드하기 위해 분할하며, 이후, 상이한 인터페이스들을 통해 별도의 TCP 세션들에 다운로드된다. 이러한 피처는, 삼성 갤럭시 S5 내에서 구현되며, 그리고 "네트워크 부스터(Network Booster)"라고 불린다(에스. 이. 코포레이션, "향상된 데이터 성능을 위한 네트워크 부스터("Network booster - for enhanced data performance," 기술 문서).
전송 계층 솔루션의 가장 눈에 띄는 예로는 RFC(Request for Comment) 6824의 IETF(Internet Engineering Task Force)에서 지정한 다중경로 TCP(MPTCP)가 있다(A. Ford, C. Raiciu, M. Handley 및 O. Bonaventure, "다중 주소들로 다중 경로 작업을 위한 Tcp 확장들", RFC, 번호 6824, 2013년 1월). MPTCP는 애플리케이션들에 대해 투명한 피어들 간에 다중 경로들을 동시에 사용할 수 있게 해주는 TCP의 확장으로 볼 수 있다. MPTCP는 이미 아이폰과 같은 상용 제품들에 사용된다. 예를 들어, 시리(Siri) 서비스는 신뢰성을 향상시키기 위해 MPTCP를 사용한다. 아이폰이 셀룰러 및 Wi-Fi 접속들을 갖는 경우, 시리는 Wi-Fi와 셀룰러 네트워크를 통해 2개의 섹션들을 시작한다. 접속들 중 하나를 사용할 수 없거나 신뢰할 수 없게 되면, 백업 접속을 즉시 사용할 수 있다.
또 다른 전송 계층 예는, 스트림 제어 전송 프로토콜(Stream Control Transmission Protocol: SCTP)이다(R. Stewart 외, "스트림 제어 전송 프로토콜" RFC 2960(제안된 표준), 인터넷 엔지니어링 태스크 포스, 2000년 10월, RFC 4960에 의해 폐기됨, RFC 3309에 의해 업데이트 됨). SCTP의 장점 중 하나는 원칙적으로 링크들의 번들링을 가능하게하는 다중-홈 피처이다.
원칙적으로 세션/애플리케이션 계층 접근법들과 함께 전송 계층 접근법들은 네트워크의 특별한 개입 없이 최종 디바이스들에 의해 번들링이 수행되므로 종단 간(E2E) 시나리오들에 적합하다는 점을 말할 수 있다. E2E 접근법들의 단점은 인터넷 서버들뿐 아니라 사용자 디바이스들에 의해 지원되어야 하는 기술을 도입하려는 노력이 필요하다는 것이다.
네트워크 계층 접근법들은 최종 디바이스들을 변경할 필요없이 용이하게 구현할 수 있으므로 네트워크 오퍼레이터들에게 선호되는 솔루션이다. 대신, 오퍼레이터가 제어하고 최종 디바이스들에 투명하게 번들링을 수행하는 프록시 서버들이 사용된다.
링크 계층 번들링이란 동등한 기술의 다수의 채널들을 번들링하는 것을 말한다. 그러한 예들로는, IEEE 802.3ad(WO 2009/019258 A1)에 정의된 이더넷 링크의 번들링 및 아데로스 슈퍼쥐 모드에서 구현된 Wi-Fi 채널들의 번들링이다. SmartAP 솔루션(E.G. Llairo와 D. Giustiniano, "Smartap : Practical wlan backhaul aggregation", Wireless Days. IEEE, 2013, pp. 1-7에서 제안됨)은 단일 라디오 다중 채널 시각화를 사용하는 무선 근거리 통신망(WLAN) 백홀의 집합을 다룬다. 이는, 상이한 채널들이 사용되는 경우에도 다수의 이웃하는 액세스 포인트(AP)들과의 접속들을 가능하게 한다. D. Giustiniano, E. Goma, A. Lopez Toledo, I. Dangerfield, J. Morillo 및 P. Rodriguez, "Fair wlan backhaul aggregation", 제16회 연례 국제 학술회의 모바일 컴퓨팅 및 네트워킹, MobiCom '10. New York, NY, USA:ACM, 2010, pp. 269-280은 상기 서술된 시스템의 공정성을 조사한다.
본 발명의 목적은, 향상된 성능을 갖는 전송 제어 프로토콜(TCP) 세션들 또는 사용자 데이터그램 프로토콜(UDP) 세션들에 대해 패킷 기반 스케줄링을 사용하는 방법 및 시스템을 제공하는 것이다. 상기 목적은 독립항들의 피처들로 성취된다. 종속항들은 본 발명의 추가 양상들에 관한 것이다.
본 발명은 바람직하게는 네트워크 오퍼레이터들에게 적합한 일반 번들링 아키텍처를 제안한다. 그러나, 본 발명은 오버-더-톱(OTT) 컨텐트 시나리오들에도 적합하다. 다른 접근 방법들과는 대조적으로 제시된 접근법은 시스템의 복잡성을 줄이고 높은 번들링 이득들을 제공하기 위해 TCP 터널들을 사용한다. 전통적인 번들 솔루션들과 같은 경로 모니터들은 필요하지 않다. 대신, TCP 터널들에서 오는 고유 정보는 가장 효율적인 패킷 스케줄링을 결정하기 위해 패킷 스케줄러들에 대한 입력으로 사용된다. 즉, 번들링 이득을 최대화하기 위해 스케줄링 접근법에 대한 가중치들을 결정할 수있는 혁신적인 솔루션이 서술된다. 즉, TCP 터널들 및 특히 TCP 터널들로부터의 고유 정보는 각 터널을 통해 사용 가능한 대역폭을 추정하기 위해 사용될 수 있다. 이 정보는 사용 가능한 터널들에 대한 데이터 패킷들의 효율적인 매핑에 사용된다. 본 발명에 따르면, 상이한 터널들은 상이한 네트워크 인터페이스들, 예를 들어, WiFi 및 3GPP 통해 건너갈 수 있고, 각각의 터널을 통한 이용 가능한 대역폭은 상당히 상이할 수 있다. 본 발명은 터널들 각각을 통해 이용가능한 대역폭을 고려하여 효율적인 대역폭 집합을 제공한다.
본 발명의 제1 양상에 따르면, 전송 제어 프로토콜(Transmission Control Protocol; TCP) 세션들 또는 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP) 세션들에 대한 패킷 기반 스케쥴링 시스템이 제공된다. 상기 시스템은 제1 스케줄링 모듈 및 적어도 하나의 전송 네트워크에 접속된 적어도 2개의 액세스 인터페이스들을 포함하는 제1 본딩 모듈을 포함하고, 상기 제1 본딩 모듈은 사용자 디바이스에 접속될 수 있고, TCP 터널은 제2 본딩 모듈에서 종단(terminate)하는 상기 액세스 인터페이스들 각각을 통해 구성되며, 그리고 상기 제1 스케줄링 모듈은 바람직하게는 인터넷을 통해 상기 TCP 터널들을 거쳐 상기 제2 본딩 모듈을 향하여 데이터 패킷들을 스케줄링 및 분배하도록 구성된다. 상기 시스템은, 제2 스케줄링 모듈 및 상기 적어도 하나의 전송 네트워크 각각에 접속된 적어도 하나의 액세스 인터페이스를 포함하는 상기 제2 본딩 모듈을, 홀로 또는 결합하여 더 포함하고, 상기 제2 본딩 모듈은 서버에 접속될 수 있으며, 그리고 상기 제2 스케쥴링 모듈은 상기 TCP 터널들을 통해 상기 제1 본딩 모듈을 향하여 데이터 패킷들을 스케줄링하고 분배하도록 구성된다.
데이터 패킷들은 네트워크 계층(계층 3)에 분산되는 것이 바람직하다. 이는 표준 TCP 프로토콜을 사용을 가능하게 한다. 따라서, 새로운 TCP 프로토콜이 필요하지 않을 수 있다.
상기 시스템은, 유선 또는 무선 접속을 통해 상기 제1 본딩 모듈에 접속된 제1 라우터를 더 포함할 수 있고, 바람직하게는 상기 제1 라우터는 상기 사용자 디바이스로부터 데이터를 수신하고 상기 사용자 디바이스로 데이터를 송신하도록 구성된다.
상기 시스템은, 유선 또는 무선 접속을 통해 상기 제2 본딩 모듈에 접속된 제2 라우터를 더 포함할 수 있고, 바람직하게는 상기 제2 라우터는 바람직하게 상기 서버로부터 데이터를 수신하고 상기 서버로 데이터를 송신하도록 구성된 네트워크 어드레스 변환 모듈을 포함한다.
제1 라우터는 멀티-홈일 수 있는데, 이는 제1 라우터가 적어도 2개의 인터페이스들을 통해 인터넷에 접속됨을 의미한다. 2개의 라우터들(제1 및 제2 라우터) 모두 상이한 네트워크들에 속할 수 있으며 TCP 터널들을 통해 서로 접속된다. 2개의 라우터들 간의 TCP 터널들의 수는, 제1 라우터가 인터넷에 접속된 인터페이스들의 수에 기초한다. 이러한 인터페이스들 각각을 통해 하나의 터널이 사용된다.
"접속된(connected)"이라는 용어는, 특정 모듈이 접속된 각각의 모듈의 일부분, 즉 모듈들이 내부적으로 접속될 수 있음을 의미할 수도 있다. 예를 들어, 제1 본딩 모듈 및/또는 제2 본딩 모듈은 각각 사용자 디바이스 및/또는 서버의 필수 부분일 수 있다. 다른 예로서, 제1 본딩 모듈 및/또는 제2 본딩 모듈은 각각 제1 라우터 및/또는 제2 라우터의 필수 부분일 수 있다.
바람직하게는, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은 상기 TCP 터널들로부터의 고유 정보에 기초하여 상기 제1 라우터와 상기 제2 라우터 사이에서 상기 TCP 터널들의 용량을 획득하도록 구성된다. 이러한 정보는 TCP 터널들 각각에 대한 스케줄링 가중치를 결정하는 데 사용된다.
더욱이, 상기 TCP 터널들의 고유 정보는 혼잡 윈도우(Ccwnd)의 크기, TCP 슬로우 스타트 임계값(Sthresh), 평활(smoothed) 왕복 시간(TRTT), 전송된 패킷들의 수(Pout), 확인된 패킷들의 수(Psacked), 재전송된 패킷들의 수(Pretrans) 및 손실된 것으로 간주되는 패킷들의 수(Plost) 중 적어도 하나를 포함할 수 있다. 대안으로 또는 부가적으로, TCP 터널 인터페이스들의 송신기 큐 크기는 추가적인 파라미터로서 고려될 수 있다.
본 발명의 추가적인 양상에 따르면, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은
Figure 112017097988935-pct00001
로서 상기 제1 라우터로부터 상기 제2 라우터로 현재 이동하고 있는 패킷들의 수를 획득하도록 구성된다.
보다 바람직하게, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은
Figure 112017097988935-pct00002
로서 잔여 용량(leftover capacity)을 획득하도록 구성된다.
더욱 바람직하게, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은 정의된 간격 내에서 상기 잔여 용량의 변화들
Figure 112017097988935-pct00003
을 획득하도록 구성된다.
하지만, 상기 파라미터들의 리스트는 본 발명의 동일한 효과들을 실현하기 위해 다른 파라미터들이 획득되고 사용될 수 있다는 점에서 포괄적인 것은 아니며, 이는 당업자에 의해 이해될 것임을 알 수 있다.
본 발명의 추가적인 양상에 따르면, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은 상기 제1 라우터와 상기 제2 라우터 사이의 상기 TCP 터널들에 대한 스케줄링 가중치들을 획득하기 위해 스케줄링 알고리즘을 사용하도록 구성된다.
바람직하게, 상기 스케쥴링 가중치들은, 상기 터널들 각각을 통해 전송된 패킷들의 양(amount) 및/또는 로우(row)인 상기 터널들의 각각을 통해 전송된 패킷들의 양의 비율을 포함한다.
추가적으로, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은 스케줄링 가중치들을 연속적으로 또는 타임슬롯들로 조정(adapt)하도록 구성될 수 있다.
바람직하게, 상기 제1 스케줄링 모듈 및/또는 상기 제2 스케줄링 모듈은 이전의 타임 슬롯 동안 수집된 파라미터들에 기초하여 후속(subsequent) 타임 슬롯의 스케줄링 가중치들을 조정하도록 구성될 수 있다.
본 발명의 제2 양상에 따르면, 바람직하게는 상기에서 서술된 시스템을 사용하여, 전송 제어 프로토콜 세션들에 대한 패킷 기반 스케줄링 방법이 제공된다. 상기 방법은: (a) 제1 스케줄링 모듈 및 적어도 하나의 전송 네트워크에 접속된 적어도 2개의 액세스 인터페이스들을 포함하는 제1 본딩 모듈을 접속시키는 단계 - 상기 제1 본딩 모듈은 사용자 디바이스에 접속될 수 있으며 - 와; (b) 제2 본딩 모듈에서 종단하는 상기 액세스 인터페이스들 각각을 통해 TCP 터널은 구성하는 단계와; (c) 상기 TCP 터널들 및 상기 적어도 하나의 전송 네트워크를 통해 상기 제1 본딩 모듈로부터 상기 제2 본딩 모듈을 향해 데이터 패킷들을 스케줄링하고 분배하는 단계와; (d) 제2 스케줄링 모듈 및 적어도 하나의 액세스 인터페이스를 포함하는 상기 제2 본딩 모듈을 상기 적어도 하나의 전송 네트워크 각각에 접속시키는 단계 - 상기 제2 본딩 모듈은 서버에 접속될 수 있으며 - 와; 그리고 (e) 상기 제2 본딩 모듈로부터 상기 제1 본딩 모듈쪽으로 상기 TCP 터널들을 통해 데이터 패킷들을 스케줄링하고 분배하는 단계를 포함한다.
상기 방법은, 유선 또는 무선 접속을 통해 제1 라우터를 상기 제1 본딩 모듈에 접속시키는 단계를 더 포함할 수 있고, 바람직하게는 상기 제1 라우터는 상기 사용자 디바이스로부터 데이터를 수신하고 상기 사용자 디바이스로 데이터를 송신하도록 구성된다.
상기 방법은 유선 또는 무선 접속을 통해 제2 라우터를 상기 제2 본딩 모듈에 접속시키는 단계를 또한 포함할 수 있고, 바람직하게는 상기 제2 라우터는 바람직하게 상기 서버로부터 데이터를 수신하고 상기 서버로 데이터를 송신하도록 구성된 네트워크 어드레스 변환 모듈을 포함한다.
다시 말하면, 접속하는 것은 2개의 개별적인 디바이스들/모듈들을 접속하는 것을 의미할 수 있거나 또는 제1 디바이스/모듈을 제2 디바이스/모듈에 내부적으로 접속하는 것을 의미할 수 있다; 즉, 제2 디바이스/모듈은 제1 디바이스/모듈에 통합될 수 있음이 명확하다.
바람직하게, 상기 방법은 상기 TCP 터널들로부터의 고유 정보에 기초하여 상기 제1 라우터와 상기 제2 라우터 사이에서 적어도 2개의 상기 TCP 터널들 각각의 용량들을 획득하는 단계를 포함한다.
추가적으로, 상기 데이터 패킷들을 스케줄링하고 분배하는 단계는 상기 제1 라우터와 상기 제2 라우터 사이의 상기 TCP 터널들에 대한 스케줄링 가중치들을 획득하기 위한 스케줄링 알고리즘에 기초할 수 있다.
상기 스케쥴링 가중치들은, 상기 터널들 각각을 통해 전송된 패킷들의 양 및/또는 로우인 상기 터널들의 각각을 통해 전송된 패킷들의 양의 비율을 포함할 수 있다.
바람직하게, 상기 스케줄링 가중치들은 연속적으로 또는 타임슬롯들로 조정된다.
더 바람직하게는, 후속 타임슬롯의 스케줄링 가중치들은 이전의 타임슬롯 동안 수집된 파라미터들에 기초할 수 있다.
현재의 모든 솔루션들에 공통적인 것은 사용 가능한 링크들을 통해 패킷들을 스케줄링하는 것이다. 상이한 액세스 네트워크들의 리소스들을 번들링하는 것은 네트워크 장애에 대한 처리량과 복원력을 향상시키는 방법이다. 그러나 액세스 네트워크 리소스들의 번들링은 특히 TCP 트래픽의 경우 매우 까다로운 작업이다. 특히, 액세스 리소스 번들링을 수행할 때의 과제들은 다음과 같다.
Figure 112017097988935-pct00004
첫 번째 과제는, 오늘날의 네트워크들에서 가장 많이 사용되는 전송 프로토콜들이 TCP(Transmission Control Protocol) 및 UDP(User Datagram Protocol)이며 이러한 프로토콜들이 여러 링크들에서 작동하도록 설계되지 않았다는 사실에 기인한다. 이러한 프로토콜들은, 동일한 세션에 속한 패킷들이 하나의 인터넷 프로토콜(IP) 주소에서만 수신된다고 가정한다. 하지만, 다수의 액세스 링크들이 사용되면 각 인터페이스마다 상이한 IP 주소가 부여된다. 이 문제를 극복하기 위해, 터미널에 의해 사용되는 모든 액세스 링크들 대신하여 NAT(Network Address Translation)를 수행하는 추가 상자가 도입되었다.
Figure 112017097988935-pct00005
두 번째 과제는, 사용 가능한 링크들을 통한 패킷들의 스케줄링과 관련된다. 우선 두 가지 기본 유형들의 스케줄링 방식: 세션 기초 및 패킷 기초를 구분할 수 있다. 세션 기초 스케줄링이 수행될 때 세션들이 사용 가능한 링크로 분배되는 동안 특정 세션의 패킷들은 항상 동일한 링크를 통해 전송될 것이다. 예를 들어, 세션 A의 패킷들은 링크 L1를 통해 전송되는 반면 세션 B의 패킷들은 링크 L2를 통해 전송된다. 세션 기초 접근법에는 몇 가지 단점들을 갖는다. 예를 들어, 단일 세션은 다수의 사용 가능한 링크들로부터 이익을 얻을 수 없다. 동일한 단말로/부터의 여러 세션들의 경우에도 상이한 링크들의 성능이 크게 다를 경우 번들링 이득을 보장될 수 없다. 본 발명의 초점은 단일 세션의 패킷들이 이용 가능한 링크들을 통해 분배되는 패킷 기반 스케줄링 접근법에 있다. 사용 가능한 대역폭(B), 지연(D), 지연 지터(J) 및 패킷 손실(L) 측면에서 상이한 링크들이 상이한 특성들을 가질 수 있으므로, 패킷들이 사용 가능한 링크들을 통해 균등하게 분배되는 라운드 로빈 스케줄링을 수행하는 것으로는 충분하지 않을 수 있다. 대신, 가중치가 있는 스케줄링이 선호된다. 특히, TCP 세션들의 경우, 이러한 가중치들은 엔드-투-엔드 성능에 중요한 영향을 미치므로 이러한 가중치들은 신중하게 결정되는 것이 바람직하다.
Figure 112017097988935-pct00006
마지막으로, 패킷 순서 재-지정의 과제들은 패킷 기반 스케줄링이 적용될 때 작용한다. 상이한 링크들의 상이한 특성들 및 패킷들이 인터넷을 통해 완전히 상이한 경로들을 통해 이동할 수 있는 사실로 인해, 패킷들이 잘못된 순서로 대상에 도착할 수 있다. 애플리케이션에 따라, 서비스 품질이 저하될 수 있다.
몇몇 바람직한 실시예들은 이제 도면들을 참조하여 설명된다. 설명의 목적으로, 청구된 본 발명의 범위를 벗어나지 않는 한, 다양한 특정 세부 사항들이 제시된다.
도 1은 종래 기술에 따른 멀티 홈(multi-homed) 단말의 예를 도시한 것이다.
도 2a 내지 도 2d는 본 발명의 네 가지 바람직한 실시예들을 도시한다.
도 3은 본 발명의 일 실시예에 따른 슬롯들에서의 스케줄링 가중치의 적용을 도시한다.
도 4는 본 발명의 일 실시예에 따른 스케줄링 알고리즘의 일례를 도시한다.
원칙적으로, 인터넷(11)의 서버(12)에 접속된 단말들(10)인 소위 멀티 홈 단말들(10)에 대한 리소스 번들링은 적어도 2개의 별개의 또는 상이한 링크들(L1, L2, ..., Ln)을 사용하여 이루어진다. 일 예가 도 1에서 도시된다.
단말(10)은 다수의 라인들(L1, L2, ..., Ln)로 인터넷(11)에 접속된다. 오늘날의 단말들(10)은 일반적으로 인터넷(11) 내의 서버(12)와의 통신을 위해 라인들 중 단지 하나의 라인만을 사용한다. 일반적으로, 사용되는 인터페이스들의 선택은 계층적 정책을 기초로 한다. 예를 들어, 스마트 폰들은 3GPP 인터페이스를 통해 Wi-Fi 인터페이스를 선호 할 수 있지만 랩탑들은 Wi-Fi 인터페이스를 통해 이더넷 인터페이스를 선호할 수 있다. 그 결과, 인터넷(11)을 향한 다른 링크들이 존재하더라도, 단말에 의해 인지되는 최대 대역폭은 선택된 네트워크 인터페이스에 의해 이용 가능한 대역폭으로 제한된다. 모든 이용 가능한 인터페이스들(N)의 동시 사용의 가능성을 가정하면, 단말(10) 당 감지된 대역폭은 상당히 증가할 것이다. 이상적인 경우, 터미널(10) 당 전체 대역폭(BWideal)은 단순히 각 인터페이스(BWi)에 의해 제공하는 대역폭의 합이다. 그러나, 실제 구현들에서는 좀 더 어려워 100% 번들링 효율(E)은 달성하기 거의 불가능하다. 따라서, 단말기(10)(BW)에 의해 인지되는 대역폭은 다음과 같이 표현될 수 있다:
Figure 112017097988935-pct00007
이하에서, 상기에서 서술된 과제들 중 하나 이상에 대한 해결책을 제공하는 액세스 자원 번들링을 위한 아키텍처가 제시된다. 또한, 번들링 이득을 최대화하기 위해 스케줄링 접근법에 대한 가중치를 결정할 수있는 혁신적인 솔루션이 제공된다. 먼저, 제안된 전체 아키텍처에 대해 설명하고, 이후 네이티브 TCP 정보에 기초한 패킷들의 가중치 스케줄링에 대한 주요 과제에 대해 자세히 설명한다.
본 발명의 바람직한 실시예에 따른 해결책의 개관이 도 2(a)에 예시되어 있다. 좌측의 노드(C)는 사용자 디바이스(100), 예를 들어, 스마트폰 또는 랩탑을 나타내고, 우측의 디바이스(S)는 인터넷(I)(107)에서의 서버(108), 예를 들어, 애플리케이션 서버이다. 사용자 디바이스(100) 및 서버(108)는 표준 디바이스들이다. 본딩 인텔리전스는 제1 라우터(R1)(101) 및 제2 라우터(R2)(104)내의 상기 디바이스들에서 명백하게 구현된다. 제1 라우터(101)는 사용자 디바이스(100)(예를 들어, DSL 라우터)에 대해 인터넷(107)을 향한 게이트웨이이고 그리고 몇 개의 액세스 인터페이스들(여기에서는, 예시를 위해, 2개의 액세스 인터페이스들 L1 및 L2로 도시됨)을 갖는다. 제2 라우터(104)는 네트워크 오퍼레이터의 하나 이상의 전송 네트워크들(103) 내의 라우터를 나타낸다. 2개의 라우터들(101, 104) 모두는 네트워크 오퍼레이터의 전송 네트워크(TR)(103)를 통해 서로 접속한다. 제1 라우터(101)에 의해 사용된 액세스 인터페이스들(L1, L2) 각각을 통해, 액세스 인터페이스들(L1, L2) 각각에 대해 제2 라우터(104)를 향한 각 TCP 터널(tun1 및 tun2)을 구성한다.
이들 터널들(tun1, tun2)의 목적은 사용자 디바이스(100)와 서버(108) 사이에서 데이터 패킷들을 전송하는 것이다. 라우터들(101, 104) 각각은 또한 구현되는 각각의 스케쥴링 모듈(SC)(102, 105)을 갖는다. 스케쥴링 모듈들(102, 105) 각각은 모든 관련 정보에 실시간으로 액세스하기 위해 라우터들(101, 104) 각각에 통합(내부적으로 접속)될 수 있음을 알아야 한다. 그러나, 스케줄링 모듈은 유선 또는 무선 접속을 통해 라우터에 간단히 부착(외부 연결)되는 외부 모듈로 구성될 수도 있다. 다음에서, "연결(connected)"이라는 용어는 내부 연결(또는 통합) 및/또는 외부 연결(또는 부착)에 대해 사용된다. 즉, 도 2(a)는, 스케줄링 모듈들(102, 105)이 각각 제1 및 제2 라우터(101, 104)에 통합되어 있음을 나타내지만, 이들 모듈들(102, 105)을 개별 디바이스들(도시하지 않음)로서 제공하는 것도 가능하다. 스케줄링 모듈들(102, 105)은 상이한 터널 인터페이스들(tun1, tun2)을 통한 패킷들의 스케줄링 및 분배를 담당한다. 최종적으로, 제2 라우터(104)는 인터넷(107)을 향한 인터페이스상에서 NAT-모듈(106)을 사용하고 있다. 스케줄링 모듈들(102, 105) 각각 및 대응하는 인터페이스들의 결합은 각각의 본딩 모듈이라 칭할 수 있다.
도 2(b) 내지 (d)는 본 발명에 따른 또 다른 대안적인 해결책들을 도시한다. 컴포넌트들은 도 2(a)의 컴포넌트에 따라 대응하는 참조 부호들로 표시된다.
여기서, 도 2(b)는 제1 및 제2 라우터(101, 104)가 생략된 다른 실시예를 도시한다. 즉, 스케줄링 모듈들(102, 105)은 각각 사용자 디바이스(100) 및 서버(108)에 통합된다(접속된다). 이러한 구성에서, 제1 번들링은 더 이상 제1 라우터(101)에서 실행되지 않고, 인터넷의 몇몇 경로들을 포함하는 사용자의 사용자 디바이스(100)에서 직접 실행된다. 또한, 제2 번들링은 제2 라우터(104)에서 더 이상 실행되지 않고 인터넷의 서버(108)에서 직접 실행된다.
도 2(c) 및 도 2(d)는 도 2(a) 및 도 2(b)에 도시된 실시예들의 추가적인 변형들을 도시한다. 특히, 도 2(c)에서는 제2 라우터(104)만이 생략되고, 도 2(d)에서는 도 2 (a)의 실시예와 비교하여 제1 라우터(101)만이 생략된다. 제1 및 제2 스케줄링 모듈(102, 105)은 각각 사용자 디바이스(100) 및 서버(108)에 통합될 수 있거나 또는 별개의 외부 디바이스들(도시되지 않음)로서 제공될 수 있음을 이해해야 한다.
예를 들어, D. Kaspar의 "Multipath aggregation of heterogeneous access networks," SIGMultimedia Rec, vol. 4, no. 1, pp. 27- 28, Mar. 2012에서 제시된 것과 같은 알려진 접근 방식들과 비교할 때, 도 1의 실시예에 따른 본 발명은 두 가지 중요한 단순화들을 갖는다. 먼저, 패킷들의 재정렬을 담당하는 디-지터 버퍼가 사용되지 않는다. 대신에, 패킷들의 재-순서화는 TCP의 네이티브 재-순서화 알고리즘으로 남겨진다. 즉, 재-순서화는 사용자 디바이스(100) 또는 인터넷 서버(108)에 의해 수행된다. 따라서, 시스템은, 추가적인 재-순서화 모듈을 필요로하지 않기 때문에, 사용자 디바이스(100) 또는 인터넷 서버(108)에 의해 행해진 재-순서화로부터 이득을 얻는다. 이는 다른 솔루션과 비교하여 시스템을 단순화한다. 둘째로, 제1 라우터(101)와 제2 라우터(104) 사이에서 TCP 터널들이 사용되는 사실로 인해, 링크 성능들의 결정을 담당하는 경로 모니터 모듈은 요구되지 않는다. 이들 터널들(tun1, tun2)로부터의 정보에 기초하여, 링크들(L1, L2)의 용량이 추정될 수 있다.
따라서, 본 발명은 상기에서 서술된 과제들 중 하나 이상의 해결책을 제공할 수 있다. NAT는 제2 라우터(104)에서 수행되며, 이는, 패킷이 전송된 경로와 독립적인 클라이언트의 동일한 IP 주소를 서버(108)가 항상 보는 터널(tun1, tun2)의 사용과 함께 보장한다. 서버(108)에 의해 보여지는 사용자 디바이스(100)의 IP 어드레스는 제2 라우터(104)의 공용 IP 어드레스이다. 따라서, 서버(108)로부터 사용자 디바이스(100)로의 패킷들은 항상 제2 라우터(104)로 향할 것이다. TCP 터널들(tun1, tun2)의 사용은 경로 모니터 모듈의 요구 사항들을 피하면서 동시에 스케줄링 프로세스에 필요한 정보를 제공한다. TCP가 항상 혼잡 창(Congestion Window: Ccwnd)의 적응을 기초로 매(every) 터널(tun1, tun2)에서 대역폭 사용을 최대화하려고 시도하려는 사실이 여기에서 활용된다.
TCP 터널들(tun1, tun2)에서 사용할 수 있는 정보의 예들은 다음과 같다:
Figure 112017097988935-pct00008
Ccwnd의 크기 측면에서 링크의 용량,
Figure 112017097988935-pct00009
TCP 슬로우스타트 임계값(Sthresh),
Figure 112017097988935-pct00010
TCP에 의해 결정된/계산된 RTT인 평활한(smoothed) 왕복시간(TRTT),
Figure 112017097988935-pct00011
전송된 패킷들의 수인 Pout,
Figure 112017097988935-pct00012
확인된 패킷들의 수인 Psacked,
Figure 112017097988935-pct00013
재전송된 패킷들의 수인 Pretrans,
Figure 112017097988935-pct00014
손실된 것으로 간주되는 패킷들의 수인 Plost.
이러한 기본적인 파라미터들에 기초하여, 추가적인 파라미터들이 도출될 수 있다. 예를 들어:
Figure 112017097988935-pct00015
발신자에 의해 전송되지만 아직 확인되지 않은 패킷들인 온 더 플라이 패킷들(Pfiy). 따라서, 이들은 현재 발신자에서 수신자로 이동하는 패킷들이다.
Figure 112017097988935-pct00016
.
Figure 112017097988935-pct00017
단순히 Ccwnd-Pfly이며 용량에 도달할 때까지 다른 확인을 기다리지 않고 링크를 통해 전송될 수 있는 패킷들의 수를 나타내는 잔여 용량(Cleft)
Figure 112017097988935-pct00018
정의된 간격 내 잔여 용량(
Figure 112017097988935-pct00019
)의 변경들.
스케쥴링 가중치들(SW)은 일반적으로 관계식들, 예를 들어, (A:B:C:D)로 표현된다. 4개의 사용가능한 링크들이 있는 다음 예제에서, 제1 링크는 A의 가중치를 가지며, 이는, A 패킷들이 다음 링크의 패킷들을 보내기 전에 이 링크를 통해 전송되고, B 패킷들이 제2 링크를 통해 전송되고, C 패킷들이 제3 링크를 통해 전송되며, 그리고 최종적으로 D 패킷들이 제4 링크를 통해 전송된다. 그 후, 제1 링크가 다시 스케쥴링된다. 스케줄링 가중치들(SW)은 2개의 특성들을 갖는다.
Figure 112017097988935-pct00020
링크들 간에 전송된 패킷들의 비율을 나타내는 가중치 비율(WR). 예를 들어, 2개의 링크들의 경우, 비율 2는, 2배 더 많은 패킷들이 링크 2에 비해 링크 1을 통해 전송된다는 것을 의미한다.
Figure 112017097988935-pct00021
로우의 한 링크를 통해 전송된 패킷들의 양을 나타내는 가중치(WH). 높이 10은, 로우 내의 10개의 패킷들이 링크 1을 통해 전송됨을 의미한다.
예: WR=2, WH=10 -> SW=(10:5).
성능상의 이유들로 인해, 스케줄링 가중치들의 적응들은 연속적으로 행해지지는 않지만, 도 3에 도시된 바와 같이 타임 슬롯들(예를 들어, 슬롯 n, 슬롯 n+1, 슬롯 n+2)에서 수행될 수 있다. 이들 타임 슬롯들의 지속 기간은 파라미터(DT)이다. 타임 슬롯(Xn) 동안 수집된 파라미터들의 세트는 다음 타임 슬롯 Xn + 1에 대한 스케줄링 알고리즘(SWn +1=f(Xn))에 대한 입력으로서 사용된다. 즉, 이러한 파라미터들(타임 슬롯 동안 수집된 파라미터들)과 함께 선택적인 입력 또는 구성 파라미터들에 기초하여, 스케줄링 알고리즘은 다음 슬롯에 대한 스케줄링 가중치들 등을 계산한다.
본 발명에 따른 예시적인 스케줄링 알고리즘은 도 4에 도시된다. 여기서, 설명을 위해 2개의 터널들(터널 a 및 터널 b)이 사용될 수 있다. 스케줄링 알고리즘은 슬립 DT, 즉, 슬롯 시간 DT를 기다리는 단계 S10에서 시작한다. 패킷이 전송되는 경우, 스케줄링 알고리즘은 단계(S11)에서 터널 a의 잔여 용량
Figure 112017097988935-pct00022
이 미리결정된 임계값(THR) 이상인지 여부를 검사한다. 터널 a의 잔여 용량
Figure 112017097988935-pct00023
가 미리결정된 임계값 이상이면, 스케줄링 알고리즘은 단계 S12에서 터널 a를 통해 패킷을 전송할 것이고, 이 예에서는 SW(1:0)의 스케줄링 가중치를 갖고, 그리고 시작점으로 복귀하며(단계 S10), 그리고 절차가 다른 슬롯에 대해 반복된다. 여기서, SW(1:0)는 하나의 패킷이 터널 a를 통해 전송되고 그리고 터널 b를 통해 전송되는 패킷이 없음을 의미한다. 즉, 터널 a를 통한 패킷들만 전송되며, 이 예에서 WR은 무한이고 WH는 1이다. 하지만, 터널 a의 잔여 용량
Figure 112017097988935-pct00024
이 미리결정된 임계값 이상이지 않으면, 스케줄링 알고리즘은 단계 S13에서 터널 b의 잔여 용량
Figure 112017097988935-pct00025
이 미리결정된 임계값(THR) 이상이 아닌지를 결정할 것이다. 터널 a 및 터널 b에 대한 임계값들은 반드시 동일할 필요는 없지만 상이한 임계값들일 수 있음을 이해해야 한다.
터널 b의 잔여 용량
Figure 112017097988935-pct00026
이 미리결정된 임계값 이상인경우, 스케쥴링 알고리즘은, 이 예에서 SW(0:1)의 스케쥴링 가중치를 갖는 단계 S14에서 터널 b를 통해 패킷을 송신하고, 시작점으로 복귀하며(단계 S10), 그리고 절차가 다른 슬롯에 대해 반복될 것이다. 하지만, 터널 b의 잔여 용량
Figure 112017097988935-pct00027
이 미리결정된 임계값 이상이 아니면, 스케줄링 알고리즘은 터널들 중 어느 것도 잔여 용량을 갖지 않는다고 결정할 것이고, 스케쥴링 알고리즘은, 이 예에서 SW(1:1)의 스케쥴링 가중치를 갖는 패킷을 단계 15에서 전송할 것이고, 단계 S10에서 시작점으로 복귀할 것이며, 그리고 절차가 다른 슬롯에 대해 반복된다.
즉, 터널 a는 우선순위 터널이며, 사용 가능한 용량이 있는 경우 패킷은 이 터널을 통해서만 전송된다. 터널 a에 사용 가능한 용량이 없는 경우, 패킷들은, 터널 b에 사용 가능한 용량이 있으면 터널 b를 통해 전송된다. 두 링크들 모두에 사용 가능한 용량이 없는 경우 라운드 로빈 스케줄링이 수행된다.
비록 네트워크 계층 접근법의 맥락에서 기술된다고 할지라도, 통상의 기술자는 본 발명이 다른 번들링 접근법들, 예를 들어, MPTCP에 또한 적용될 수 있음을 이해할 것이다. 하지만, 서술된 네트워크 계층 접근법(계층 3)을 사용하면, 새로운 TCP 프로토콜이 필요하지 않을수 있다. 따라서, 표준 TCP 프로토콜들이 사용될 수 있다.
본 발명은 그 범위 또는 본질적인 특성을 벗어나지 않고 몇몇 형태로 구체화 될 수 있으므로, 상술한 실시예들은 달리 명시하지 않는 한 상기의 상세한 설명 중 어느 것에 의해서도 제한되지 않고, 첨부된 청구 범위에서 정의된 범위 내에서 광범위하게 해석될 수 있으며, 따라서 본 발명에 속하는 모든 변경들 및 수정들은 첨부된 청구 범위에 포함되도록 의도된다.
더욱이, 청구 범위에서 "포함하는"이라는 단어는 다른 요소 또는 단계를 배제하지 않으며, 하나의 의미를 갖는 단어는 복수를 배제하지 않는다. 단일 유닛은 청구 범위에 언급된 여러 피처들의 기능들을 수행할 수 있다. 속성 또는 값과 관련하여 "본질적으로", "약", "대략" 등의 용어는 또한 특히 속성 또는 값을 각각 정확하게 정의한다. 청구 범위 내의 임의의 참조 부호들은 범위를 제한하는 것으로 해석되어서는 안된다.

Claims (18)

  1. 전송 제어 프로토콜(Transmission Control Protocol; TCP) 세션들 또는 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP) 세션들에 대한 패킷 기반 스케쥴링 시스템으로서,
    제1 스케쥴링 모듈 및 적어도 하나의 전송 네트워크에 접속된 적어도 2개의 액세스 인터페이스들을 포함하는 제1 본딩 모듈 - 상기 제1 본딩 모듈은 사용자 디바이스에 접속될 수 있고, TCP 터널은 제2 본딩 모듈에서 종단(terminate)하는 상기 액세스 인터페이스들 각각을 통해 구성되며, 상기 제1 스케쥴링 모듈은 상기 TCP 터널들을 거쳐 상기 제2 본딩 모듈을 향하여 데이터 패킷들을 스케쥴링 및 분배하도록 구성됨 - ; 또는 제2 스케쥴링 모듈 및 상기 적어도 하나의 전송 네트워크 각각에 접속된 적어도 하나의 액세스 인터페이스를 포함하는 상기 제2 본딩 모듈 - 상기 제2 본딩 모듈은 서버에 접속될 수 있으며 그리고 상기 제2 스케쥴링 모듈은 상기 TCP 터널들을 통해 상기 제1 본딩 모듈을 향하여 데이터 패킷들을 스케쥴링하고 분배하도록 구성됨 - 과;
    유선 또는 무선 접속을 통해 상기 제1 본딩 모듈에 접속된 제1 라우터와; 그리고
    유선 또는 무선 접속을 통해 상기 제2 본딩 모듈에 접속된 제2 라우터를 포함하고,
    상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈은 상기 TCP 터널들로부터의 고유 정보(native information)에 기초하여 상기 제1 라우터와 상기 제2 라우터 사이에서 상기 TCP 터널들의 용량을 획득하도록 구성되며, 그리고
    상기 TCP 터널들의 고유 정보는 혼잡 윈도우(Ccwnd)의 크기, TCP 슬로우 스타트 임계값(Sthresh), 평활(smoothed) 왕복 시간(TRTT), 전송된 패킷들의 수(Pout), 확인된 패킷들의 수(Psacked), 재전송된 패킷들의 수(Pretrans) 및 손실된 것으로 간주되는 패킷들의 수(Plost) 중 적어도 하나를 포함하는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈은 상기 제1 라우터로부터 상기 제2 라우터로 현재 이동하고 있는 패킷들의 수,
    Figure 112022075815150-pct00038
    를 획득하도록 구성되는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  7. 제6항에 있어서,
    상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈은 잔여 용량(leftover capacity),
    Figure 112022075815150-pct00039
    을 획득하도록 구성되는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  8. 제7항에 있어서,
    상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈은 정의된 간격 내에서 상기 잔여 용량의 변화들
    Figure 112022075815150-pct00030
    을 획득하도록 구성되는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  9. 제1항에 있어서,
    상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈은 상기 제1 라우터와 상기 제2 라우터 사이의 상기 TCP 터널들에 대한 스케쥴링 가중치들을 획득하기 위해 스케쥴링 알고리즘을 사용하도록 구성되는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  10. 제9항에 있어서,
    상기 스케쥴링 가중치들은, 상기 터널들 각각을 통해 전송된 패킷들의 양(amount) 또는 로우(row)인 상기 터널들의 각각을 통해 전송된 패킷들의 양의 비율을 포함하는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  11. 제10항에 있어서,
    상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈은 스케쥴링 가중치들을 연속적으로 또는 타임슬롯들로 조정(adapt)하도록 구성되는 것을 특징으로 하는
    패킷 기반 스케쥴링 시스템.
  12. 전송 제어 프로토콜 세션들에 대한 패킷 기반 스케쥴링 방법으로서,
    (a) 제1 스케쥴링 모듈 및 적어도 하나의 전송 네트워크에 접속된 적어도 2개의 액세스 인터페이스들을 포함하는 제1 본딩 모듈을 접속하는 단계 - 상기 제1 본딩 모듈은 사용자 디바이스에 접속될 수 있음 - 와;
    (b) 제2 본딩 모듈에서 종단하는 상기 액세스 인터페이스들 각각을 통해 TCP 터널은 구성하는 단계와;
    (c) 상기 TCP 터널들 및 상기 적어도 하나의 전송 네트워크를 통해 상기 제1 본딩 모듈로부터 상기 제2 본딩 모듈을 향해 데이터 패킷들을 스케쥴링하고 분배하는 단계와; 또는
    (d) 제2 스케쥴링 모듈 및 적어도 하나의 액세스 인터페이스를 포함하는 상기 제2 본딩 모듈을 상기 적어도 하나의 전송 네트워크 각각에 접속시키는 단계 - 상기 제2 본딩 모듈은 서버에 접속될 수 있음 - 와;
    (e) 상기 제2 본딩 모듈로부터 상기 제1 본딩 모듈쪽으로 상기 TCP 터널들을 통해 데이터 패킷들을 스케쥴링하고 분배하는 단계와;
    (f) 유선 또는 무선 접속을 통해 제1 라우터를 상기 제1 본딩 모듈에 접속시키는 단계와;
    (g) 유선 또는 무선 접속을 통해 제2 라우터를 상기 제2 본딩 모듈에 접속시키는 단계와; 그리고
    (f) 상기 TCP 터널들로부터의 고유 정보에 기초하여 상기 제1 라우터와 상기 제2 라우터 사이에서 상기 TCP 터널들의 용량을, 상기 제1 스케쥴링 모듈 또는 상기 제2 스케쥴링 모듈에 의해 획득하는 단계를 포함하고,
    상기 TCP 터널들의 고유 정보는 혼잡 윈도우(Ccwnd)의 크기, TCP 슬로우 스타트 임계값(Sthresh), 평활(smoothed) 왕복 시간(TRTT), 전송된 패킷들의 수(Pout), 확인된 패킷들의 수(Psacked), 재전송된 패킷들의 수(Pretrans) 및 손실된 것으로 간주되는 패킷들의 수(Plost) 중 적어도 하나를 포함하는 것을 특징으로 하는
    패킷 기반 스케쥴링 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 제12항에 있어서,
    상기 데이터 패킷들을 스케쥴링하고 분배하는 단계는 상기 제1 라우터와 상기 제2 라우터 사이의 상기 TCP 터널들에 대한 스케쥴링 가중치들을 획득하기 위한 스케쥴링 알고리즘에 기초하는 것을 특징으로 하는
    패킷 기반 스케쥴링 방법.
  17. 제16항에 있어서,
    상기 스케쥴링 가중치들은, 상기 터널들 각각을 통해 전송된 패킷들의 양 또는 로우인 상기 터널들 각각을 통해 전송된 패킷들의 양의 비율을 포함하는 것을 특징으로 하는
    패킷 기반 스케쥴링 방법.
  18. 제17항에 있어서,
    상기 스케쥴링 가중치들은 연속적으로 또는 타임슬롯들로 조정되는 것을 특징으로 하는
    패킷 기반 스케쥴링 방법.
KR1020177028722A 2015-04-10 2016-04-08 Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템 KR102442083B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15163169 2015-04-10
EP15163169.4 2015-04-10
PCT/EP2016/057795 WO2016162501A1 (en) 2015-04-10 2016-04-08 Method and system for the scheduling of packets in a bundling scenario based on tcp tunnels and native tcp information

Publications (2)

Publication Number Publication Date
KR20170137088A KR20170137088A (ko) 2017-12-12
KR102442083B1 true KR102442083B1 (ko) 2022-09-13

Family

ID=52946348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177028722A KR102442083B1 (ko) 2015-04-10 2016-04-08 Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US10673991B2 (ko)
EP (1) EP3281380B1 (ko)
JP (1) JP6777650B2 (ko)
KR (1) KR102442083B1 (ko)
CN (1) CN107438993B (ko)
ES (1) ES2837224T3 (ko)
WO (1) WO2016162501A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10257283B2 (en) * 2016-10-03 2019-04-09 International Business Machines Corporation System, method and computer program product for network function modification
CN110399578B (zh) * 2018-04-17 2023-07-14 腾讯科技(深圳)有限公司 页面访问方法及装置
EP3579500B1 (en) * 2018-06-07 2021-11-17 Deutsche Telekom AG A communication system for transmitting a transmission control protocol segment over a communication network using a multipath transmission control protocol, corresponding method and computer program
US10805113B2 (en) * 2018-08-07 2020-10-13 Dh2I Company Application transmission control protocol tunneling over the public internet
US11165891B2 (en) * 2018-08-27 2021-11-02 Dh2I Company Highly available transmission control protocol tunnels
US11575757B2 (en) 2019-06-17 2023-02-07 Dh2I Company Cloaked remote client access
EP3840303B1 (de) * 2019-12-17 2023-05-17 Hotsplots GmbH Datenübertragungseinrichtung, datenempfangseinrichtung und sendeverfahren zum übertragen von datenpaketen durch einen tunnel
US11563802B2 (en) 2020-11-06 2023-01-24 Dh2I Company Systems and methods for hierarchical failover groups

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040190449A1 (en) * 2003-03-31 2004-09-30 Soenke Mannal Controlling data packet flows by manipulating data packets according to an actual manipulation rate
US20110170545A1 (en) * 2008-09-28 2011-07-14 Ruobin Zheng Data transmission method, network node, and data transmission system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144639A (en) * 1996-09-03 2000-11-07 Sbc Technology Resources, Inc. Apparatus and method for congestion control in high speed networks
US20020010866A1 (en) 1999-12-16 2002-01-24 Mccullough David J. Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths
JP2007243447A (ja) 2006-03-07 2007-09-20 Nippon Telegr & Teleph Corp <Ntt> パケット送信制御装置
CN101345695A (zh) * 2007-07-09 2009-01-14 鼎桥通信技术有限公司 一种分组调度方法
EP2023541B1 (en) 2007-08-07 2013-02-13 Nokia Siemens Networks Oy Method, device and communication system to avoid loops in an Ethernet Ring System with an underlying 802.3ad network
CN101404622B (zh) * 2008-11-07 2011-03-23 重庆邮电大学 基于多径负载均衡的无线互联网拥塞控制方法及控制器
US9584443B2 (en) * 2014-08-08 2017-02-28 Pismo Labs Technology Limited Methods and systems for transmitting data through an aggregated connection
US8923131B2 (en) 2010-02-16 2014-12-30 Broadcom Corporation Traffic management in a multi-channel system
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
KR20120065867A (ko) * 2010-12-13 2012-06-21 경희대학교 산학협력단 지연-대역폭의 곱이 큰 네트워크를 위한 단대단 에너지 절약 기법을 사용한 다중경로 tcp 네트워크
US9106787B1 (en) * 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
EP2763362A1 (en) * 2013-01-31 2014-08-06 Thomson Licensing A method for connecting a multi-homed and MPTCP capable client with a regular TCP server
US9456464B2 (en) * 2013-06-06 2016-09-27 Apple Inc. Multipath TCP subflow establishment and control
JP6206009B2 (ja) 2013-09-04 2017-10-04 沖電気工業株式会社 パケット通信装置及びシステム
US9954770B2 (en) * 2014-10-07 2018-04-24 At&T Intellectual Property I, L.P. Rerouting tunnel traffic in communication networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040190449A1 (en) * 2003-03-31 2004-09-30 Soenke Mannal Controlling data packet flows by manipulating data packets according to an actual manipulation rate
US20110170545A1 (en) * 2008-09-28 2011-07-14 Ruobin Zheng Data transmission method, network node, and data transmission system

Also Published As

Publication number Publication date
ES2837224T3 (es) 2021-06-29
CN107438993A (zh) 2017-12-05
US20180077267A1 (en) 2018-03-15
JP2018511275A (ja) 2018-04-19
EP3281380A1 (en) 2018-02-14
KR20170137088A (ko) 2017-12-12
JP6777650B2 (ja) 2020-10-28
EP3281380B1 (en) 2020-10-21
CN107438993B (zh) 2021-08-24
US10673991B2 (en) 2020-06-02
WO2016162501A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
KR102442083B1 (ko) Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템
US11159423B2 (en) Techniques for efficient multipath transmission
US10021034B2 (en) Application aware multihoming for data traffic acceleration in data communications networks
JP6473688B2 (ja) データ転送レートを増加させるためのデータストリーム分割
CN109076017B (zh) 用于路由信号的方法、路由设备和计算机可读存储介质
US20210084523A1 (en) Method for controlling data transmission by using network slices
US9825815B2 (en) System and method for aggregating and estimating the bandwidth of multiple network interfaces
US20170027016A1 (en) Communication device, wireless communication device, and communication method
US9635148B2 (en) Partitioning data sets for transmission on multiple physical links
EP3820088B1 (en) Method and network device for multi-path communication
EP3119057A1 (en) Packet conversion device and method for allowing transparent packet-based multipath bundling
KR102267116B1 (ko) 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체
Amend et al. A framework for multiaccess support for unreliable internet traffic using multipath dccp
WO2016172958A1 (zh) 一种流量动态控制方法、设备及网关、融合接入汇聚点
JP6504608B2 (ja) 通信装置及びその制御方法並びにプログラム、並びに通信システム
US20210336896A1 (en) Method and apparatus for coded multipath networking using path management and protocol translation
Sun et al. Multipath ip routing on end devices: Motivation, design, and performance
Becke et al. Data channel considerations for RTCWeb
JP5159114B2 (ja) 通信制御装置、無線通信装置、通信制御方法および無線通信方法
Kumar et al. Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol
Al-Najjar Traffic control for multi-homed end-hosts via software defined networking
Kliazovich et al. Cognitive information service: Basic principles and implementation of a cognitive inter-node protocol optimization scheme

Legal Events

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