KR20150113625A - 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법 - Google Patents

멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법 Download PDF

Info

Publication number
KR20150113625A
KR20150113625A KR1020140037851A KR20140037851A KR20150113625A KR 20150113625 A KR20150113625 A KR 20150113625A KR 1020140037851 A KR1020140037851 A KR 1020140037851A KR 20140037851 A KR20140037851 A KR 20140037851A KR 20150113625 A KR20150113625 A KR 20150113625A
Authority
KR
South Korea
Prior art keywords
network
server
user terminal
service
tic
Prior art date
Application number
KR1020140037851A
Other languages
English (en)
Other versions
KR102259652B1 (ko
Inventor
권기석
이지철
이진성
박중신
배범식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140037851A priority Critical patent/KR102259652B1/ko
Priority to US14/672,501 priority patent/US9826560B2/en
Priority to PCT/KR2015/003156 priority patent/WO2015152602A2/en
Priority to CN201580029037.XA priority patent/CN107078972B/zh
Publication of KR20150113625A publication Critical patent/KR20150113625A/ko
Application granted granted Critical
Publication of KR102259652B1 publication Critical patent/KR102259652B1/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/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/0846Load balancing or load distribution between network providers, e.g. operators
    • 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/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • H04W76/32Release of transport tunnels

Abstract

본 발명은 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버가 서비스를 제공하는 방법에 있어서, 제1네트워크를 통해서 사용자 단말기 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 과정과, 상기 사용자 단말기로부터 서비스 제공 요구를 수신하면, 상기 서비스 제공 요구에 상응하는 서비스에 관련된 데이터가 캐시되어 있을 경우 상기 사용자 단말기와 상기 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하는 과정과, 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 과정을 포함함을 특징으로 한다.

Description

멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING SERVICE IN COMMUNICATION NETWORK SUPPORTING MULTIPATH TRANSPORT CONTROL PROTOCOL}
본 발명은 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP, 이하 “MPTCP”라 칭하기로 한다)을 지원하는 통신 네트워크에서 서비스를 제공하는 장치 및 방법에 관한 것으로, 특히 MPTCP를 지원하는 통신 네트워크에서 MPTCP 연결에 적합한 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC, 이하 “TIC”라 칭하기로 한다) 동작을 기반으로 서비스를 제공하는 장치 및 방법에 관한 것이다.
최근, 인터넷 비디오 서비스(internet video service)가 보편화되면서, 통신 사업자가 운영하는 인터넷 프로토콜(Internet Protocol: IP, 이하 “IP”라 칭하기로 한다) 네트워크에서는 막대한 양의 비디오 트래픽(traffic)이 처리되고 있다. 이렇게, 막대한 양의 비디오 트래픽 처리가 필요함에 따라, 통신 사업자는 실제로 수익을 창출하지는 못하지만 원활한 비디오 트래픽 처리를 위해 네트워크를 증설하기 위해 막대한 비용을 소모하고 있다.
따라서, 비디오 트래픽 양을 감소시키는 다양한 방식들이 제안되고 있는데, 상기 비디오 트래픽 양을 감소시키는 방식들 중 대표적인 방식이 TIC 방식이다. 상기 TIC 방식은 비디오 컨텐츠(contents)를 통신 사업자의 네트워크 내에 캐싱한 후, 비디오 컨텐츠 사용자들, 일 예로 사용자 단말기들이 상기 캐싱된 비디오 컨텐츠를 요청할 경우 상기 캐싱된 비디오 컨텐츠를 통신 사업자 네트워크 내의 캐싱 서버에서 상기 사용자 단말기들로 제공함으로써 국제 회선 및 백본(backbone) 네트워크 비용을 감소시키는 방식이다.
한편, 최근, 3세대(3rd Generation: 3G, 이하 “3G”라 칭하기로 한다) 방식과, 와이 파이(WiFi) 방식 등과 같은 다수 개의 라디오(Radio) 인터페이스들을 지원하는 사용자 단말기들이 증가함에 따라 트랜스포트 계층(transport layer)에서 다수 개의 네트워크 링크(link)들을 인지하고 사용할 수 있도록 하는 MPTCP의 중요성이 부각되고 있다.
상기 MPTCP는 네트워크 전반적인 트래픽 엔지니어링(traffic engineering) 효과를 획득할 수 있는 장점이 있으며, VoIP(Voice over IP), IP 텔레비전(IP TeleVision: IPTV, 이하 “IPTV” 라 칭하기로 한다) 게임 등과 같은 사용자 요구가 비교적 많은 서비스에게 신뢰성을 제공하기에 접합한 프로토콜이다. 또한, 상기 MPTCP는 다수 개의 링크들을 하나의 링크로 통합하여 사용할 수 있도록 자원 풀링(resource pooling) 방식을 사용함으로써 비교적 큰 버스트(burst)를 수용할 수 있으며, 다중 경로(multipath)를 사용함으로써 보다 견고하고, 혼잡 상황에 신속하게 반응 할 수 있다.
또한, 최근 멀티-호밍(multi-homing)이 가능한 사용자 단말기들이 점점 많아지고 있어, 향후 MPTCP의 사용은 더욱 증가될 것으로 예측된다. 특히, 최근에 유행하고 있는 사용자 단말기들에 MPTCP 기능이 탑재되어 있어, 점점 더 많은 제3자(3rd party) 서비스 공급자들이 운용하는 서버에 MPTCP 기능이 탑재될 가능성이 높아지고 있다.
하지만, 현재까지 제공되어 있는 TIC 서버들은 MPTCP 연결을 정상적으로 처리할 수 있는 대응 방안을 전혀 제공하지 못하고 있다.
본 발명의 일 실시예는 MPTCP를 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법을 제안한다.
또한, 본 발명의 일 실시예는 MPTCP를 지원하는 통신 네트워크에서 MPTCP 연결에 적합한 TIC 동작을 기반으로 서비스를 제공하는 장치 및 방법을 제안한다.
또한, 본 발명의 일 실시예는 MPTCP를 지원하는 통신 네트워크에서 TCP 연결과 MPTCP 연결을 구분하여 MPTCP 연결에 적합한 TIC 동작을 기반으로 서비스를 제공하는 장치 및 방법을 제안한다.
본 발명의 일 실시예에서 제안하는 장치는; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에 있어서, 제1네트워크를 통해서 사용자 단말기 및 오리지널 서버(original server)와 MPTCP 연결을 성립하고, 상기 사용자 단말기로부터 서비스 제공 요구를 수신하면, 상기 서비스 제공 요구에 상응하는 서비스에 관련된 데이터가 캐시되어 있을 경우 상기 사용자 단말기와 상기 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하고, 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 송신기/수신기를 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 다른 장치는; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기에 있어서, 제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 송신기/수신기를 포함하며, 상기 송신기는 상기 TIC 서버로 서비스 제공 요구를 송신하고, 상기 송신기/수신기는 상기 TIC 서버 및 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하고, 상기 수신기는 상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받음을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 또 다른 장치는; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에 있어서, 제1네트워크를 통해 오리지널 서버(original server)와 MPTCP 연결을 성립하고 있는 사용자 단말기가 상기 오리지널 서버로 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 생성할 것을 요청함을 검출하고, 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결임을 검출하고, 상기 서브 플로우를 통해서 송/수신되는 메시지를 캡쳐(capture)하지 않는 제어기를 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 또 다른 장치는; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기에 있어서, 제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버와 MPTCP 연결을 성립하고 있는 상태에서, 오리지널 서버(original sever)와 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 성립하는 절차를 수행 시도하는 송신기/수신기와, 상기 추가 서브 플로우 성립 절차에 실패함을 검출할 경우, 상기 사용자 단말기 자신에게 제공되는 서비스가 상기 TIC 서버에서 제공하는 것임을 검출하는 제어기를 포함하며, 상기 송신기/수신기는 상기 제2 네트워크로부터 할당받은 IP 어드레스를 상기 TIC 서버로 통보하여 상기 TIC 서버와 추가 서브 플로우를 성립함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 또 다른 장치는; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기에 있어서, 제1네트워크를 통해서 오리지널 서버(original sever)와 MPTCP 연결을 성립하고 있는 상태에서, 상기 제1네트워크와 상이한 제2네트워크와 추가 서브 플로우(subflow)를 성립하고, 상기 오리지널 서버 및 사용자 단말기와 연결되어 있는 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에서 상기 사용자 단말기로 제공되는 서비스에 관련된 데이터가 캐시되지 않도록 상기 제1네트워크를 통해서 성립되어 있는 MPTCP 연결을 통해서만 상기 사용자 단말기로 상기 서비스를 제공하는 송신기/수신기를 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 방법은; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버가 서비스를 제공하는 방법에 있어서, 제1네트워크를 통해서 사용자 단말기 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 과정과, 상기 사용자 단말기로부터 서비스 제공 요구를 수신하면, 상기 서비스 제공 요구에 상응하는 서비스에 관련된 데이터가 캐시되어 있을 경우 상기 사용자 단말기와 상기 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하는 과정과, 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 과정을 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 다른 방법은; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법에 있어서, 제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 과정과, 상기 TIC 서버로 서비스 제공 요구를 송신하는 과정과, 상기 TIC 서버 및 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하는 과정과, 상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받는 과정을 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 또 다른 방법은; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버가 서비스를 제공하는 방법에 있어서, 제1네트워크를 통해 오리지널 서버(original server)와 MPTCP 연결을 성립하고 있는 사용자 단말기가 상기 오리지널 서버로 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 생성할 것을 요청함을 검출하는 과정과, 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결임을 검출하는 과정과, 상기 서브 플로우를 통해서 송/수신되는 메시지를 캡쳐(capture)하지 않는 과정을 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 또 다른 방법은; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법에 있어서, 제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버와 MPTCP 연결을 성립하고 있는 상태에서, 오리지널 서버(original sever)와 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 성립하는 절차를 수행 시도하는 과정과, 상기 추가 서브 플로우 성립 절차에 실패함을 검출할 경우, 상기 사용자 단말기 자신에게 제공되는 서비스가 상기 TIC 서버에서 제공하는 것임을 검출하는 과정과, 상기 제2 네트워크로부터 할당받은 IP 어드레스를 상기 TIC 서버로 통보하여 상기 TIC 서버와 추가 서브 플로우를 성립하는 과정을 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 또 다른 방법은; 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법에 있어서, 제1네트워크를 통해서 오리지널 서버(original sever)와 MPTCP 연결을 성립하고 있는 상태에서, 상기 제1네트워크와 상이한 제2네트워크와 추가 서브 플로우(subflow)를 성립하는 과정과, 상기 오리지널 서버 및 사용자 단말기와 연결되어 있는 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에서 상기 사용자 단말기로 제공되는 서비스에 관련된 데이터가 캐시되지 않도록 상기 제1네트워크를 통해서 성립되어 있는 MPTCP 연결을 통해서만 상기 사용자 단말기로 상기 서비스를 제공하는 과정을 포함함을 특징으로 한다.
본 발명의 일 실시예는 MPTCP를 지원하는 통신 네트워크에서 TIC 동작을 기반으로 서비스를 제공하는 것을 가능하게 한다는 효과가 있다.
또한, 본 발명의 일 실시예는 TCP 연결과 MPTCP 연결을 구분하여 MPTCP 연결에 적합한 TIC 동작을 기반으로 서비스를 제공하는 것을 가능하게 한다는 효과가 있다.
본 발명의 특정한 바람직한 실시예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다:
도 1은 본 발명의 일 실시예에 따른 통신 네트워크에서 프로토콜 스택 구조를 개략적으로 도시한 도면이다;
도 2는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 일 예를 개략적으로 도시한 도면이다;
도 3은 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 다른 예를 개략적으로 도시한 도면이다;
도 4는 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP의 동작 과정을 개략적으로 도시한 도면이다;
도 5는 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP와 TIC 서버가 함께 사용될 경우 발생될 수 있는 상황의 일 예를 개략적으로 도시한 도면이다;
도 6은 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP와 TIC 서버가 함께 사용될 경우 발생될 수 있는 상황의 다른 예를 개략적으로 도시한 도면이다;
도 7a 내지 도 7b는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예를 개략적으로 도시한 신호 흐름도이다;
도 8은 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP 패킷의 포맷을 개략적으로 도시한 도면이다;
도 9는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예를 개략적으로 도시한 도면이다;
도 10은 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정이 수행될 경우 TIC 서버의 동작 과정을 개략적으로 도시한 도면이다;
도 11은 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예를 개략적으로 도시한 도면이다;
도 12는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예를 개략적으로 도시한 도면이다;
도 13은 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정이 수행될 경우 사용자 단말기의 동작 과정을 개략적으로 도시한 도면이다;
도 14는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기의 내부 구조를 개략적으로 도시한 도면이다;
도 15를 참조하면, 오리지널 서버(1500)는 송신기(1511)와, 제어기(1513)와, 수신기(1515)와, 저장 유닛(1517)을 포함한다;
도 16은 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 내부 구조를 개략적으로 도시한 도면이다.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 일 실시예는 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP, 이하 “MPTCP”라 칭하기로 한다)을 지원하는 통신 네트워크에서 서비스를 제공하는 장치 및 방법을 제안한다.
본 발명의 일 실시예는 MPTCP를 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC, 이하 “TIC”라 칭하기로 한다) 동작을 기반으로 서비스를 제공하는 장치 및 방법을 제안한다.
또한, 본 발명의 일 실시예는 MPTCP를 지원하는 통신 네트워크에서 송신 제어 프로토콜(Transmission Control Protocol: TCP, 이하 “TCP”라 칭하기로 한다) 연결과 MPTCP 연결을 구분하여 MPTCP 연결에 적합한 TIC 동작을 기반으로 서비스를 제공하는 장치 및 방법을 제안한다.
한편, 본 발명의 일 실시예에서 제안하는 방법 및 장치는 롱 텀 에볼루션 (LTE: Long-Term Evolution, 이하 "LTE"라 칭하기로 한다) 이동 통신 시스템과, 롱 텀 에볼루션-어드밴스드 (LTE-A: Long-Term Evolution-Advanced, 이하 "LTE-A"라 칭하기로 한다) 이동 통신 시스템과, 고속 하향 링크 패킷 접속(high speed downlink packet access: HSDPA, 이하 "HSDPA"라 칭하기로 한다) 이동 통신 시스템과, 고속 상향 링크 패킷 접속(high speed uplink packet access: HSUPA, 이하 "HSUPA"라 칭하기로 한다) 이동 통신 시스템과, 3세대 프로젝트 파트너쉽 2(3rd generation project partnership 2: 3GPP2, 이하 "3GPP2"라 칭하기로 한다)의 고속 레이트 패킷 데이터(high rate packet data: HRPD, 이하 "HRPD"라 칭하기로 한다) 이동 통신 시스템과, 3GPP2의 광대역 부호 분할 다중 접속(WCDMA: Wideband Code Division Multiple Access, 이하 "WCDMA"라 칭하기로 한다) 이동 통신 시스템과, 3GPP2의 부호 분할 다중 접속(CDMA: Code Division Multiple Access, 이하 "CDMA"라 칭하기로 한다) 이동 통신 시스템과, 국제 전기 전자 기술자 협회(IEEE: Institute of Electrical and Electronics Engineers, 이하 "IEEE"라 칭하기로 한다) 802.16m 통신 시스템과, 진화된 패킷 시스템(EPS: Evolved Packet System, 이하 "EPS"라 칭하기로 한다)과, 모바일 인터넷 프로토콜(Mobile Internet Protocol: Mobile IP, 이하 "Mobile IP"라 칭하기로 한다) 시스템 등과 같은 다양한 이동 통신 시스템들에 적용 가능하다.
먼저, 도 1을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크의 프로토콜 스택(protocol stack) 구조에 대해서 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 통신 네트워크에서 프로토콜 스택 구조를 개략적으로 도시한 도면이다.
도 1을 참조하면, 상기 프로토콜 스택은 어플리케이션(application) 계층(111)과, MPTCP 계층(113)과, 서브 플로우(subflow) 계층(송신 제어 프로토콜(Transmission Control Protocol: TCP, 이하 “TCP”라 칭하기로 한다) 계층)들, 즉 서브 플로우 계층(115) 및 서브 플로우 계층(117)과, IP 계층들, 즉 IP 계층(119) 및 IP 계층(121)을 포함한다.
도 1에 도시되어 있는 바와 같이 상기 MPTCP 계층(113)은 상기 어플리케이션 계층(111)과 IP 계층들 사이에 위치하며, 상기 어플리케이션 계층(111)과 IP 계층들에게는 일반적인 TCP 계층처럼 동작한다. 또한, MPTCP 연결(connection)은 다수의 서브 플로우들을 포함하며, 상기 다수의 서브 플로우들 각각은 일반적인 TCP 세션(session)과 동일하다.
일반적인 TCP에서는 하나의 프로세스(일 예로, 어플리케이션 프로그램)를 위해서 소스 노드(source node)와 데스티네이션 노드(destination node) 사이에서 하나의 TCP 세션을 통해서 데이터가 송/수신된다. 이에 반해, MPTCP에서는 소스 노드와 데스트네이션 노드 사이에 다수 개의 TCP 세션들을 통해서 하나의 어플리케이션을 위한 데이터가 송/수신된다. 이렇게, 다수의 다수 개의 TCP 세션들을 통해서 하나의 어플리케이션을 위한 데이터가 송/수신되는 것이 가능함으로써 데이터 통신의 신뢰성과 효율성이 증가한다.
도 1에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 프로토콜 스택 구조에 대해서 설명하였으며, 다음으로 도 2를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 일 예에 대해서 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 일 예를 개략적으로 도시한 도면이다.
도 2를 참조하면, 상기 통신 네트워크는 오리지널 서버(original server)(211)와, 인터넷(213)과, TIC 서버(215)와, 백홀(backhaul)(217)과, 기지국(Base Station: BS)(219)과 사용자 단말기(User Equipment: UE)(221)를 포함한다.
상기 오리지널 서버(211)의 IP 어드레스는 2.2.2.2이고, 포트 번호(port number)는 80이다. 여기서, 상기 오리지널 서버(211)는 일 예로 유투브(You Tube) 서버가 될 수 있다. 또한, 상기 사용자 단말기(221)의 IP 어드레스는 1.1.1.1이고, 포트 번호는 1030이다. 또한, 도 2에서 DIP는 데스티네이션 IP 어드레스(Destination IP address: DIP, 이하 “DIP”라 칭하기로 한다)를 나타내고, SIP는 소스 IP 어드레스(Source IP address: SIP, 이하 “SIP”라 칭하기로 한다)를 나타내고, DP는 데스티네이션 포트 번호(Destination Port number: DP, 이하 “DP”라 칭하기로 한다)를 나타내고, SP는 소스 포트 번호(Source Port number: SP, 이하 “SP”라 칭하기로 한다)를 나타낸다.
상기 TIC 서버(215)는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol: HTTP, 이하 “HTTP”라 칭하기로 한다) 기반 비디오 스트리밍 데이터(video streaming data)를 캐싱하는데 사용된다. 도 2에서, 상기 사용자 단말기(221)는 상기 오리지널 서버(211)로 비디오 스트리밍 송신을 요청하는 HTTP 메시지, 일 예로, HTTP GET 메시지의 DP는 80이 된다. 상기 TIC 서버(215)는 상기 DP가 80인 패킷만을 캡쳐(capture)하여 상기 사용자 단말기(221)에 의해 요구되는 컨텐츠가 Cache Hit인지를 검사한다. 따라서, 상기 DP가 80이 아닐 경우, 즉 다른 종류의 패킷들, 일 예로 DP가 21인 패킷들은 상기 TIC 서버(215)를 바이패스(bypass)한다.
도 2에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정이 일 예에 대해서 설명하였으며, 다음으로 도 3을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 다른 예에 대해서 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 다른 예를 개략적으로 도시한 도면이다.
도 3을 참조하면, 상기 통신 네트워크는 오리지널 서버(311)와, 인터넷(313)과, TIC 서버(315)와, 백홀(317)과, 기지국(319)과 사용자 단말기(321)를 포함한다.
상기 오리지널 서버(311)의 IP 어드레스는 2.2.2.2이고, 포트 번호는 80이다. 여기서, 상기 오리지널 서버(311)는 일 예로 유투브 서버가 될 수 있다. 또한, 상기 사용자 단말기(321)의 IP 어드레스는 1.1.1.1이고, 포트 번호는 1030이다.
상기 TIC 서버(315)는 HTTP 기반 비디오 스트리밍 데이터를 캐싱하는데 사용된다. 도 3에서, 상기 사용자 단말기(321)는 상기 오리지널 서버(311)로 비디오 스트리밍 송신을 요청하는 HTTP 패킷, 일 예로, HTTP GET 메시지의 DP는 80이 된다. 상기 TIC 서버(315)는 상기 DP가 80인 패킷만을 캡쳐하여 상기 사용자 단말기(321)에 의해 요구되는 컨텐츠가 Cache Hit인지를 검사한다. 따라서, 상기 DP가 80이 아닐 경우, 즉 다른 종류의 패킷들, 일 예로 DP 번호가 21인 패킷들은 상기 TIC 서버(315)를 바이패스한다.
한편, 상기 검사 결과, 상기 사용자 단말기(321)에 의해 요구되는 컨텐츠가 상기 TIC 서버(315)에 이미 캐싱되어 있어 Cache Hit이 발생된 경우, 상기 TIC 서버(315)는 상기 오리지널 서버(311)로 TCP FIN 메시지를 송신하여 상기 사용자 단말기(321)와 상기 오리지널 서버(311) 사이에 성립되어 있는 TCP 세션 연결을 해제한다. 여기서, 상기 TIC 서버(315)는 상기 사용자 단말기(321)의 IP 어드레스를 SIP로 설정하여 상기 오리지널 서버(311)로 패킷을 송신하기 때문에 상기 오리지널 서버(311)는 상기 사용자 단말기(321)에 의해서 상기 TCP 세션이 해제된 것으로 인식하게 된다.
이후, 상기 TIC 서버(315)는 상기 오리지널 서버(311)를 대신하여 상기 사용자 단말기(321)가 요청한 컨텐츠를 상기 사용자 단말기(321)에게 제공하게 된다. 여기서, 상기 TIC 서버(315)는 SIP으로 상기 오리지널 서버(311)의 IP 어드레스를 사용하기 때문에 상기 사용자 단말기(321)는 비디오 스트리밍 서비스를 상기 오리지널 서버(311)로부터 수신하는 것으로 인식하게 된다.
상기에서 설명한 바와 같은 특징으로 인해, 상기 TIC 서버(315)는 상기 오리지널 서버(311)와 상기 사용자 단말기(321)에게 트랜스페어런트(transparent)한 특징을 갖게 된다.
도 3에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 동작 과정의 다른 예에 대해서 설명하였으며, 다음으로 도 4를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP의 동작 과정에 대해서 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP의 동작 과정을 개략적으로 도시한 도면이다.
도 4를 참조하면, 상기 통신 네트워크는 호스트(host) A(411)와 호스트 B(413)를 포함한다.
또한, 상기 MPTCP의 동작 과정은 크게 MPTCP 연결 개시 절차(MPTCP Connection Initiation procedure)(415)와, 어드레스 광고 절차(Address Advertisement procedure)(425)와, 신규 서브 플로우 연관 절차(New Subflow Association procedure)(429)와, 어드레스 제거 절차(Address Remove procedure)(439)를 포함한다.
먼저, 상기 호스트 A(411)는 2개의 IP 어드레스들, 즉 A1과 A2의 2개의 IP 어드레스들을 사용하며, 상기 호스트 B(413)는 1개의 IP 어드레스, 즉 B1의 IP 어드레스를 사용한다고 가정하기로 한다.
상기 호스트 A(411)는 IP 어드레스 A1을 사용하여 상기 호스트 B(413)와 MPTCP 연결을 성립한다. 여기서, 상기 호스트 A(411)가 상기 호스트 B(413)와 MPTCP 연결을 성립하는 절차가 상기 MPTCP 연결 개시 절차(415)이며, 상기 MPTCP 연결 개시 절차(415)에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 호스트 A(411)는 상기 호스트 B(413)로 MP_CAPABLE 메시지를 송신한다(SYN: MP_CAPABLE)(417단계). 상기 호스트 A(411)로부터 MP_CAPABLE 메시지를 수신한 호스트 B(413)는 상기 호스트 A(411)로 MP_CAPABLE 메시지를 송신한다(SYN/ACK: MP_CAPABLE)(419단계). 상기 호스트 B(413)로부터 MP_CAPABLE 메시지를 수신한 호스트 A(411)는 상기 호스트 B(413)로 MP_CAPABLE 메시지를 송신한다(ACK: MP_CAPABLE)(421단계).
이에 따라 상기 호스트 A(411)와 호스트 B(413)간에는 MPTCP 연결이 성립된다(423단계).
한편, 상기 호스트 A(411)는 IP 어드레스 A2를 사용하여 두 번째 서브 플로우를 생성할 수도 있고, 상기 호스트 B(413)에게 상기 IP 어드레스 A2의 존재만을 알려줄 수도 있다. 만약, 상기 호스트 A(411)가 두 번째 서브 플로우는 생성하지 않고 상기 호스트 B(413)에게 새로운 IP 어드레스를 알려 주려고 한다면, 상기 호스트 A(411)는 IP 어드레스 A2를 ADD_ADDR 메시지를 사용하여 상기 호스트 B(413)에게 알려 준다(DATA: ADD_ADDR[Address A2, ID-A2](427단계). 여기서, 상기 어드레스 광고 절차(425)는 상기 427단계의 ADD_ADDR 메시지 송신 동작을 포함한다.
한편, 상기 호스트 A(411)는 IP 어드레스 A2를 사용해서 서브 플로우를 생성하려고 할 수 있다. 이 경우, 상기 호스트 A(411)는 상기 호스트 B(413)로 MP_JOIN 메시지를 송신한다(SYN: MP_JOIN[Token-B, ID-A2])(431단계). 여기서, 상기 Token-B는 생성되는 서브 플로우가 추가될 MPTCP 연결의 식별자(IDentifier: ID, 이하 “ID”라 칭하기로 한다)인 토큰(token)을 나타낸다. 상기 호스트 A(411)로부터 MP_JOIN 메시지를 수신한 호스트 B(413)는 상기 호스트 A(411)로 MP_JOIN 메시지를 송신한다(SYN/ACK: MP_JOIN[ID-B1])(433단계). 상기 호스트 B(413)로부터 MP_JOIN 메시지를 수신한 호스트 A(411)는 상기 호스트 B(413)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN)(435단계). 상기 호스트 A(411)로부터 MP_JOIN 메시지를 수신한 호스트 B(413)는 상기 호스트 A(411)로 ACK 패킷을 송신한다(437단계). 여기서, 상기 신규 서브 플로우 연관 절차(429)는 상기 431단계 내지 437단계의 동작을 포함한다.
만약, 상기 호스트 A(411)가 더 이상 상기 IP 어드레스 A1을 사용할 수 없게 되었을 때, 이를 상기 호스트 B(413)에게 알려 주어야 한다. 이때, 상기 호스트 A(411)는 REMOVE_ADDR 메시지를 사용한다. 상기 REMOVE_ADDR 메시지를 사용해서 상기 호스트 B(413)에게 상기 IP 어드레스 A1가 더 이상 사용 가능하지 않다는 것을 알리고 연관된 서브 플로우를 제거한다(DARA: REMOVE_ADDR [ID-A1])(441단계). 여기서, 상기 어드레스 제거 절차(439)는 상기 439단계의 REMOVE_ADDR 메시지 송신 동작을 포함한다.
한편, 도 4가 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP의 동작 과정을 도시하고 있더라도, 다양한 변형들이 도 4에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 4에는 연속적인 단계들이 도시되어 있지만, 도 4에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
한편, 최근 멀티-호밍(multi-homing)이 가능한 사용자 단말기들이 점점 많아지고 있어, 향후 MPTCP의 사용은 더욱 증가될 것으로 예측된다. 특히, 최근에 유행하고 있는 사용자 단말기들에 MPTCP 기능이 탑재되어 있어, 점점 더 많은 제3자(3rd party) 서비스 공급자들이 운용하는 서버에 MPTCP 기능이 탑재될 가능성이 높아지고 있다.
하지만, 현재까지 제공되어 있는 TIC 서버들은 MPTCP 연결에 대한 구체적인 방안에 대해서는 제시하고 있지 못하고 있다. 여기서, 상기 MPTCP 연결은 MPTCP 기능이 없는 TIC 서버의 관점에서는 일반 TCP 연결과 동일하게 처리될 수 있다.
만약, TIC 서버가 MPTCP 연결을 기존 TCP 연결과 동일하게 처리한다면 MPTCP 연결을 사용하여 획득하는 모든 이익들을 사용하지 못할 수 있으며, 이를 도 5 및 도 6을 참조하여 설명하면 다음과 같다.
먼저, 통신 네트워크에서 MPTCP와 TIC 서버가 함께 사용될 경우 하기와 같은 상황들이 발생될 수 있다.
첫 번째 상황은, 셀룰러(cellular) 네트워크를 통해서 MPTCP 연결을 성립할 경우 발생될 수 있으며, 이를 도 5를 참조하여 설명하면 다음과 같다.
도 5는 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP와 TIC 서버가 함께 사용될 경우 발생될 수 있는 상황의 일 예를 개략적으로 도시한 도면이다.
도 5를 참조하면, 상기 통신 네트워크는 오리지널 서버(511)와, 인터넷(513)과, TIC 서버(515)와, 백홀(517)과, 기지국(519)과 사용자 단말기(521)와, 백본(backbone)(523) 및 WiFi 억세스 포인트(Access Point: AP, 이하 “AP”라 칭하기로 한다)(525)를 포함한다.
상기 오리지널 서버(511)의 IP 어드레스는 2.2.2.2이고, 포트 번호는 80이다. 여기서, 상기 오리지널 서버(511)는 일 예로 유투브 서버가 될 수 있다. 또한, 상기 사용자 단말기(521)이 셀룰러 망으로부터 할당 받은 IP 어드레스는 1.1.1.1이고 포트 번호는 1030이다. 또한, 상기 사용자 단말기(521)이 WiFi 망으로부터 할당 받은 IP 어드레스는 5.5.5.5이고, 포트 번호는 2030이다.
도 5에 도시되어 있는 바와 같이 사용자 단말기(521)는 상기 셀룰러 네트워크에서 할당받은 IP 어드레스 1.1.1.1를 사용하여 상기 오리지널 서버(511)와 MPTCP 연결을 성립하고 HTTP GET 메시지를 사용하여 비디오 스트리밍 서비스를 요청한다. 상기 HTTP GET 메시지의 DP는 80 이기 때문에 상기 HTTP GET 메시지는 상기 TIC 서버(515)가 캡쳐를 수행하고, 만약 Cache Hit이 검출된다면, 상기 TIC 서버(515)는 기존 TCP 연결과 같이 상기 오리지널 서버(511)로 TCP FIN 메시지를 송신하여 상기 사용자 단말기(521)와 상기 오리지널 서버(511)간의 MPTCP 연결을 해제할 것이다.
이 후, 상기 TIC 서버(515)는 상기 오리지널 서버(511)의 IP 어드레스 2.2.2.2를 사용하여 상기 오리지널 서버(511)를 대신하여 상기 사용자 단말기(521)에게 비디오 스트리밍 서비스를 제공할 것이다. 따라서, 상기 사용자 단말기(521)는 여전히 상기 오리지널 서버(511)와 MPTCP 연결을 성립하고, 상기 TIC 서버(515)가 아닌 상기 오리지널 서버(511)로부터 서비스를 제공받고 있다고 인식할 것이다.
이 경우, 상기 사용자 단말기(521)가 핫 스팟(hot spot) 영역으로 이동하게 되면, 상기 사용자 단말기(521)는 상기 WiFi AP(525)로부터 IP 어드레스를 할당받는다. 상기 사용자 단말기(521)는 상기 오리지널 서버(511)와 MPTCP 연결을 성립하고 있다고 인식하고 있기 때문에, 상기 WiFi AP(525)로부터 새롭게 할당받은 IP 어드레스 5.5.5.5를 사용하여 상기 오리지널 서버(511)로 추가적인 서브 플로우를 생성하기 위해 MP_JOIN 동작을 시도할 것이다(527단계).
하지만, 상기 오리지널 서버(511)는 상기 사용자 단말기(521)과의 MPTCP 연결이 상기 TIC 서버(515)에 의해서 해제되었기 때문에, 상기 사용자 단말기(521)와의 MPTCP 연결에 관한 아무런 정보도 가지고 있지 않다(529단계).
따라서, 상기 사용자 단말기(521)의 MP_JOIN 동작은 성공하지 못하게 된다. 결국, 현재까지 제안되어 있는 일반적인 TIC 서버(515)로는 정상적인 MPTCP 동작이 수행되지 않을 수도 있다(MP_JOIN Fail)(531단계).
한편, 통신 네트워크에서 MPTCP와 TIC 서버가 함께 사용될 경우 발생할 수 있는 두 번째 상황은, 이종 네트워크, 일 예로 WiFi 네트워크를 통해서 MPTCP 연결을 성립할 경우 발생될 수 있으며, 이를 도 6을 참조하여 설명하면 다음과 같다.
도 6은 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP와 TIC 서버가 함께 사용될 경우 발생될 수 있는 상황의 다른 예를 개략적으로 도시한 도면이다.
도 6을 참조하면, 상기 통신 네트워크는 오리지널 서버(611)와, 인터넷(613)과, TIC 서버(615)와, 백홀(617)과, 기지국(619)과 사용자 단말기(621)와, 백본(623) 및 WiFi AP(625)를 포함한다.
상기 오리지널 서버(611)의 IP 어드레스는 2.2.2.2이고, 포트 번호는 80이다. 여기서, 상기 오리지널 서버(611)는 일 예로 유투브 서버가 될 수 있다. 또한, 상기 사용자 단말기(521)이 셀룰러 망으로부터 할당 받은 IP 어드레스는 1.1.1.1이고 포트 번호는 1030이다. 또한, 상기 사용자 단말기(521)이 WiFi 망으로부터 할당 받은 IP 어드레스는 5.5.5.5이고, 포트 번호는 1030이다.
먼저, 상기 TIC 서버(615)는 이동 네트워크에 설치되어 있기 때문에, 이종 네트워크, 즉 WiFi 네트워크를 통해 성립된 MPTCP 연결은 상기 TIC 서버(615)를 거치지 않는다.
도 6에 도시되어 있는 바와 같이, 상기 사용자 단말기(621)는 상기 WiFi AP(625)에서 할당받은 IP 어드레스 5.5.5.5를 사용하여 상기 오리지널 서버(611)와 MPTCP 연결을 성립하고, 상기 오리지널 서버(611)로부터 비디오 스트리밍 서비스를 제공받고 있다. 이 경우, 상기 사용자 단말기(621)가 셀룰러 네트워크에서 할당받은 IP 어드레스 1.1.1.1를 사용하여 추가 서브 플로우를 성립한다. 이때, 상기 사용자 단말기(621)가 송신한 MP_JOIN 메시지는 성공적으로 상기 오리지널 서버(611)로 송신되고, 추가적인 서브 플로우가 생성된다.
상기 사용자 단말기(621)는 비디오 스트리밍 데이터를 수신하기 위해서 HTTP GET 메시지를 어떤 서브 플로우를 사용해서라도 송신할 수 있다. 만약, 상기 HTTP GET 메시지가 셀룰러 네트워크를 통해서 상기 오리지널 서버(611)로 송신된다면, 상기 TIC 서버(615)가 상기 HTTP GET 메시지를 캡쳐할 수 있다.
만약, 상기 TIC 서버(615)가 Cache Hit을 검출한다면, 상기 TIC 서버(615)는 셀룰러 네트워크를 통해서 생성된 상기 사용자 단말기(621)와 상기 오리지널 서버(611) 간의 서브 플로우를 해제할 것이다. 이렇게 되면, 두 개의 서로 다른 소스들, 즉, 상기 오리지널 서버(611)와 TIC 서버(615)로부터 상기 사용자 단말기(621)는 비디오 스트리밍 서비스를 제공받게 된다(627단계).
이렇게, 두 개의 서로 다른 소스들로부터 하나의 MPTCP 연결은 정상적으로 동작될 수 없기 때문에, MPTCP 동작은 정상적으로 수행되지 않는다.
따라서, 본 발명의 일 실시예에서는 도 5 및 도 6에서 설명한 바와 같이 MPTCP와 TIC 서버가 함께 사용될 경우 통신 네트워크에서 발생될 수 있는 상황들을 해결하기 위해서는 두 가지 방식들, 즉 TIC 서버 기반 방식 및 사용자 단말기 기반 방식을 제안한다.
그러면 첫 번째로, 도 7a 내지 도 7b 내지 도 10을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정에 대해서 설명하기로 한다.
먼저, 도 7a 내지 도 7b를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예에 대해서 설명하기로 한다.
도 7a 내지 도 7b는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예를 개략적으로 도시한 신호 흐름도이다.
도 7a 내지 도 7b를 참조하면, 상기 통신 네트워크는 사용자 단말기(711)와, TIC 서버(713) 및 오리지널 서버(715)를 포함한다.
상기 사용자 단말기(711)는 셀룰러 IP 어드레스와 WiFi IP 어드레스를 사용하고, 상기 TIC 서버(713)는 오리지널 서버(715)의 IP 어드레스와 상기 TIC 서버(713)의 IP 어드레스를 사용하고, 상기 오리지널 서버(715)는 상기 오리지널 서버(715)의 IP 어드레스를 사용한다.
도 7a 내지 도 7b에 도시되어 있는, 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예는 셀룰러 네트워크를 통해서 MPTCP 연결을 성립할 경우의, 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예를 나타낸다.
상기 셀룰러 네트워크를 통해서 MPTCP 연결을 성립할 경우, 상기 TIC 서버 기반 방식의 MPTCP의 동작 과정에서는 상기 TIC 서버(713)는 MPTCP 연결을 검출하는 모듈(module)과, 상기 TIC 서버(713)의 IP 어드레스를 변경하는 소스 IP 어드레스 이송(migration) 모듈 및 상기 사용자 단말기(711)의 가입 데이터(subscription data)에 따라서 멀티 패스 서비스를 제공할 지 여부를 결정하는 모듈을 포함할 수 있다.
상기 사용자 단말기(711)는 상기 오리지널 서버(715)와 MPTCP 연결을 성립하며, 이에 대해서 구체적으로 설명하면 다음과 같다.
상기 사용자 단말기(711)는 상기 오리지널 서버(715)로 MP_CAPABLE 메시지를 송신한다(SYN: MP_CAPABLE)(717단계). 상기 사용자 단말기(711)로부터 _CAPABLE 메시지를 수신한 오리지널 서버(715)는 상기 사용자 단말기(711)로 MP_CAPABLE 메시지를 송신한다(SYN/ACK: MP_CAPABLE)(719단계). 상기 오리지널 서버(715)로부터 MP_CAPABLE 메시지를 수신한 사용자 단말기(711)는 상기 오리지널 서버(715)로 MP_CAPABLE 메시지를 송신한다(ACK: MP_CAPABLE)(721단계). 이 경우, 상기 TIC 서버(713)는 TCP 옵션 필드(option field)의 종류 옵션(kind option) 필드와 서브 타입(subtype) 필드를 통해서 상기 사용자 단말기(711)와 상기 오리지널 서버(715)간의 연결이 MPTCP 연결인지 여부를 검출할 수 있다(723단계).
여기서 도 8을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP 패킷의 포맷(format)에 대해서 설명하기로 한다.
도 8은 본 발명의 일 실시예에 따른 통신 네트워크에서 MPTCP 패킷의 포맷을 개략적으로 도시한 도면이다.
도 8을 참조하면, 상기 MPTCP 패킷은 소스 포트(Source Port) 필드와, 데스티네이션 포트(Destination Port) 필드와, 시퀀스 번호(Sequence Number) 필드와, 인지 번호(Acknowledgement Number) 필드와, 헤더 길이(Header Length) 필드와, 예약(Reserved) 필드와, URG 필드와, ACK 필드와, PSH 필드와, RST(ReSeT) 필드와, SYN 필드와, FIN 필드와, 윈도우 사이즈(Window Size) 필드와, 체크섬(Checksum) 필드와, 긴급 포인터(Urgent Pointer) 필드와, 옵션들(Options) 필드와, 패딩(Padding) 필드와, 데이터(Data) 필드를 포함한다.
상기 Options 필드는 종류(Kind) 필드와, 길이(Length) 필드와, 서브 타입(Subtype) 필드와, 서브 타입-특정 데이터(Subtype-specific data) 필드를 포함한다. 여기서, 상기 Subtype-specific data 필드는 가변 길이를 지원한다.
MPTCP 패킷에 대해서는 상기 Options 필드가 포함하는 Kind 필드의 필드값이 “30”으로 설정되고, MPTCP 연결을 성립할 경우 상기 subtype 필드의 필드값은 “MP_CAPABLE”로 설정된다.
한편, 도 7에서 상기 사용자 단말기(711)와, TIC 서버(713)와 오리지널 서버(715)간에 MPTCP 연결이 성립된 후(725단계), 상기 사용자 단말기(711)는 비디오 스트리밍 송신을 요구하기 위해서 HTTP GET 메시지를 상기 오리지널 서버(715)로 송신한다(Content Request [HTTP GET])(727단계). 이렇게, 상기 사용자 단말기(711)가 HTTP GET 메시지를 송신하면, 상기 TIC 서버(713)는 상기 HTTP GET 메시지를 중간에서 캡쳐하여 Cache Hit이 발생되는지 검사한다(729단계).
상기 검사 결과 Cache Hit이 발생됨을 검출하면, 상기 TIC 서버(713)는 상기 오리지널 서버(715)에게 TCP FIN 메시지를 송신하여 상기 사용자 단말기(711)와 상기 오리지널 서버(715)간에 성립되어 있는 MPTCP 연결을 해제한다(도 7a 내지 도 7b에 별도로 도시되어 있지 않음). 이후, 상기 사용자 단말기(711)가 요구한 비디오 스트리밍 서비스는 상기 오리지널 서버(715)가 아닌 상기 TIC 서버(713)에서 제공된다.
한편, 상기 TIC 서버(713)는 상기 오리지널 서버(715)로 비디오 스트리밍 송신을 요구한다. 이 경우, 상기 TIC 서버(713)는 HTTP GET 메시지를 사용하여 상기 비디오 스트리밍 요구를 위한 컨텐트 요구를 송신한다(Content Request [HTTP GET])(731단계). 상기 TIC 서버(713)로부터 HTTP GET 메시지를 수신한 오리지널 서버(715)는 상기 TIC 서버(713)로 비디오 스트리밍 서비스를 제공한다. 즉, 상기 오리지널 서버(715)는 HTTP Response and Payload 메시지를 사용하여 상기 TIC 서버(713)로 컨텐트를 제공한다(Content[HTTP Response and Payload])(733단계).
상기 오리지널 서버(715)로부터 HTTP Response and Payload 메시지를 수신한 TIC 서버(713)는 상기 오리지널 서버(715)로부터 제공받은 컨텐트가 유용한지 여부를 검사한다(735단계). 상기 TIC 서버(713)는 상기 오리지널 서버(715)로부터 제공받은 컨텐트가 유용할 경우, 상기 사용자 단말기(711)로 HTTP Response and Payload 메시지를 사용하여 컨텐트를 제공한다(Content[HTTP Response and Payload])(737단계).
한편, 상기 731단계 내지 737단계 역시 Cache Hit이 발생되는지 여부를 결정하기 위해 필요하며, 상기 729단계에서 파일명으로 Cache Hit 일 지라도 정말 같은 파일인지 한번 더 확인하기 위해서 Content Validity Check 동작을 수행할 수 있는 것이다. 이 테스트가 끝나 cache한 데이터와 사용자 단말기가 데이터가 동일하다는 것이 확인되면 이때 TCP FIN 메시지를 보내 커넥션을 해제하고, cache되어진 데이터를 전송하게 됩니다. 따라서, 사용자 단말기에게 데이터를 송신하기 위해서 오리지널 서버로부터 데이터를 수신하는 것은 아니다. 결국, TCP FIN은 상기 735 단계 이후에 오리지널 서버로 송신된다.
상기 TIC 서버(713)는 상기 사용자 단말기(711)에게 transparent하게 동작하기 위해서 상기 오리지널 서버(715)의 IP 어드레스를 사용해서 서비스를 제공한다. 하지만, 이후 상기 사용자 단말기(711)가 MP_JOIN 메시지를 상기 오리지널 서버(715)의 IP 어드레스를 사용하여 송신하기 때문에 상기 서비스를 제공하기 위해 사용되는 IP 어드레스를 상기 TIC 서버(713)의 IP 어드레스로의 변경이 필요로 된다.
따라서, 본 발명의 일 실시예에서는 소스 IP 어드레스 이송 방안을 제안한다.
상기 소스 IP 어드레스 이송 방안은 MPTCP에서 지원되는 동작인 MP_JOIN 동작과 REMOVE_ADDR 동작을 사용한다. 즉, 상기 TIC 서버(713)는 MP_JOIN 메시지를 사용하여 상기 TIC 서버(713) 자신의 IP 어드레스를 기반으로 상기 사용자 단말기(711)와 추가적인 서브 플로우를 성립하고, REMOVE_ADDR 메시지를 사용하여 상기 오리지널 서버(715)의 IP 어드레스를 기반으로 성립된 서브 플로우를 제거한다. 이런 동작을 통해서, 상기 TIC 서버(713)는 상기 오리지널 서버(715)의 IP 어드레스에서 상기 TIC 서버(713) 자신의 IP 어드레스로 변경하여 비디오 스트리밍 서비스를 제공할 수 있게 된다. 이를 구체적으로 설명하면 다음과 같다.
먼저, 상기 TIC 서버(713)는 상기 사용자 단말기(711)로 MP_JOIN 메시지를 송신한다(SYN: MP_JOIN[Token, ID])(739단계). 상기 TIC 서버(713)로부터 MP_JOIN 메시지를 수신한 사용자 단말기(711)는 상기 TIC 서버(713)로 MP_JOIN 메시지를 송신한다(SYN/ACK: MP_JOIN[ID])(741단계). 상기 사용자 단말기(711)로부터 MP_JOIN 메시지를 수신한 TIC 서버(713)는 상기 사용자 단말기(711)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN[ID])(743단계). 상기 TIC 서버(713)로부터 MP_JOIN 메시지를 수신한 사용자 단말기(711)는 상기 TIC 서버(713)로 ACK 메시지를 송신한다(745단계). 상기 사용자 단말기(711)로부터 ACK 메시지를 수신한 TIC 서버(713)는 상기 사용자 단말기(711)로 REMOVE_ADDR 메시지를 송신한다(DATA: REMOVE_ADDR [ID])(747단계).
이후, 상기 사용자 단말기(711)가 WiFi 핫 스팟으로 이동하여 WiFi AP(도 7a 내지 도 7b에 별도로 도시되어 있지 않음)로부터 새로운 IP 어드레스를 할당받는다(749단계).
상기 사용자 단말기(711)는 상기 WiFi AP로부터 새로 할당받은 IP 어드레스를 사용하여 추가적인 서브 플로우를 성립한다. 이때 발생되는 MP_JOIN 메시지는 상기 TIC 서버(713)의 IP 어드레스를 사용하여 송신되기 때문에 MP_JOIN 메시지는 상기 TIC 서버(713)로 송신된다. 이를 구체적으로 설명하면 다음과 같다.
상기 사용자 단말기(711)는 상기 TIC 서버(713)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN)(751단계). 상기 사용자 단말기(711)로부터 MP_JOIN 메시지를 수신한 TIC 서버(713)는 상기 사용자 단말기(711)로 MP_JOIN 메시지를 송신한다(SYN/ACK: MP_JOIN)(755단계). 상기 사용자 단말기(711)로부터 MP_JOIN 메시지를 수신한 TIC 서버(713)는 상기 사용자 단말기(711)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN)(757단계).
한편, 상기 TIC 서버(713)는 상기 MP_JOIN 메시지를 상기 사용자 단말기(711)로부터 수신할 경우, 상기 MPTCP 패킷이 포함하는 Options 필드를 사용하여 해당 MP_JOIN 메시지가 MPTCP 제어 메시지인지 여부를 검출할 수 있고, 상기 해당 MP_JOIN 메시지가 MPTCP 제어 메시지일 경우 상기 MPTCP 패킷이 포함하는 subtype(MP_JOIN)을 검출한다. 또한, 상기 TIC 서버(713)는 상기 MP_JOIN 메시지에 포함되어 있는 token이 상기 TIC 서버(713)에 존재하는 MPTCP 연결의 ID인지를 검사한다. 상기 검사 결과, 상기 MP_JOIN 메시지에 포함되어 있는 token에 해당하는 MPTCP 연결이 존재하지 않는다면, 상기 서브 플로우는 상기 사용자 단말기(711)와 상기 오리지널 서버(715)간에 생성된 MPTCP 연결에 추가되는 서브 플로우이기 때문에 상기 TIC 서버(713)는 이에 관여하지 않는다(753단계).
이에 따라, 상기 사용자 단말기(711)와 상기 TIC 서버(713)간에는 MPTCP 서브 플로우가 성립된다(759단계).
한편, 상기 TIC 서버(713)는 상기 사용자 단말기(711)의 가입 정보를 기반으로 상기 사용자 단말기(711)에게 멀티 패스를 사용하여, 즉 WiFi 네트워크와 셀룰러 네트워크를 통해 서비스를 제공할지, 아니면 WiFi 네트워크를 통해 트래픽 오프로딩(offloading) 동작을 수행할지를 결정한다(Decide Service Type Based on user profile [1. Multiple path, 2. offloading])(761단계). 여기서, 상기 트래픽 오프로딩 동작은 셀룰러 네트워크를 통해서 송신할 데이터를 WiFi 네트워크 등을 통해서 송신하는 것과 같이 트래픽 양을 분산시켜 서비스를 제공하는 동작을 나타낸다. 만약, 멀티패스일 경우에는 셀룰러 네트워크와 WiFi 네트워크 모두를 통해 트래픽을 분산시켜 제공할 수도 있음은 물론이다. 일 예로, 등급이 높은, 일 예로 미리 설정되어 있는 임계 등급 이상의 등급을 가지는 사용자 단말기에 대해서는 멀티패스를 사용하여 서비스를 제공하여 높은 데이터 전송 속도, 일 예로 미리 설정되어 있는 데이터 전송 속도 이상의 데이터 전송 속도와 안정성을 보장할 수 있다. 이와는 반대로, 등급이 낮은, 일 예로 상기 임계 등급 미만의 사용자 단말기에 대해서는 WiFi 네트워크를 통해 오프로딩 동작을 수행하여 비교적 비싼 셀룰러 무선 자원을 절약할 수 있다.
상기 TIC 서버(713)는 상기 결정 결과를 기반으로 상기 사용자 단말기(711)에게 서비스를 제공하고(Content[Payload]-Multiple path Transmission)(763단계), 상기 사용자 단말기(711)에게 REMOVE_ADDR 메시지를 송신한다(DATA: REMOVE_ADDR[ID]-OFFLOADING)(765단계).
한편, 도 7a 내지 도 7b가 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예를 도시하고 있더라도, 다양한 변형들이 도 7a 내지 도 7b에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 7a 내지 도 7b에는 연속적인 단계들이 도시되어 있지만, 도 7a 내지 도 7b에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 7a 내지 도 7b에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 일 예에 대해서 설명하였으며, 다음으로 도 9를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예에 대해서 설명하기로 한다.
도 9는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예를 개략적으로 도시한 도면이다.
도 9를 참조하면, 상기 통신 네트워크는 사용자 단말기(911)와, TIC 서버(913) 및 오리지널 서버(915)를 포함한다.
상기 사용자 단말기(911)는 셀룰러 IP 어드레스와 WiFi IP 어드레스를 사용하고, 상기 TIC 서버(913)는 오리지널 서버(915)의 IP 어드레스를 사용하고, 상기 오리지널 서버(915)는 상기 오리지널 서버(915)의 IP 어드레스를 사용한다.
도 9에 도시되어 있는, 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예는 WiFi 네트워크를 통해서 MPTCP 연결을 성립할 경우의, 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예를 나타낸다.
상기 WiFi 네트워크를 통해서 MPTCP 연결을 성립할 경우, 상기 TIC 서버 기반 방식의 MPTCP의 동작 과정에서는 상기 TIC 서버(913)는 MPTCP 연결을 검출하는 모듈을 포함할 수 있다.
상기 사용자 단말기(911)는 상기 오리지널 서버(915)와 MPTCP 연결을 성립하며, 이에 대해서 구체적으로 설명하면 다음과 같다.
상기 사용자 단말기(911)는 상기 오리지널 서버(915)로 MP_CAPABLE 메시지를 송신한다(SYN: MP_CAPABLE)(917단계). 상기 사용자 단말기(911)로부터 _CAPABLE 메시지를 수신한 오리지널 서버(915)는 상기 사용자 단말기(911)로 MP_CAPABLE 메시지를 송신한다(SYN/ACK: MP_CAPABLE)(919단계). 상기 오리지널 서버(915)로부터 MP_CAPABLE 메시지를 수신한 사용자 단말기(911)는 상기 오리지널 서버(915)로 MP_CAPABLE 메시지를 송신한다(ACK: MP_CAPABLE)(921단계).
상기 사용자 단말기(911)와오리지널 서버(915)간에 MPTCP 연결이 성립된 후(MPTCP Connection [ID:1])(923단계), 상기 사용자 단말기(911)는 비디오 스트리밍 송신을 요구하기 위해서 HTTP GET 메시지를 상기 오리지널 서버(915)로 송신한다(Content Request [HTTP GET])(925단계). 상기 사용자 단말기(911)로부터 HTTP GET 메시지를 수신한 오리지널 서버(915)는 상기 사용자 단말기(911)로 HTTP Response and Payload 메시지를 사용하여 컨텐트를 제공한다(Content[HTTP Response and Payload])(927단계).
한편, 상기 TIC 서버(913)는 이동 네트워크에 존재하기 때문에 WiFi 네트워크를 통해 상기 사용자 단말기(911)과 상기 오리지널 서버(915)간에 MPTCP 연결이 성립될 경우, 상기 TIC 서버(913)는 이렇게 성립된 MPTCP 연결을 검출할 수 없다.
상기 오리지널 서버(915)로부터 HTTP Response and Payload 메시지를 수신한 사용자 단말기(911)는 추가적인 서브 플로우를 생성하기 위해서 셀룰러 네트워크를 통해 할당받은 IP 어드레스를 사용하여 상기 오리지널 서버(915)에게 MP_JOIN 메시지를 송신한다. 상기 MP_JOIN 메시지는 셀룰러 네트워크를 통해서 송신되기 때문에 상기 TIC 서버(913)가 캡쳐할 수 있다. 상기 TIC 서버(913)는 상기 검출 모듈을 통해서 상기 MP_JOIN 메시지가 MPTCP 제어 메시지인 것을 검출할 수 있고, 이 경우, 상기 TIC 서버(913)는 TCP 옵션 필드의 종류 옵션과 서브 타입을 통해서 상기 사용자 단말기(911)와 상기 오리지널 서버(915)간의 연결이 MPTCP 연결이라는 것을 검출할 수 있다. 여기서, 상기 TIC 서버(913)가 상기 사용자 단말기(911)와 상기 오리지널 서버(915)간의 연결이 MPTCP 연결이라는 것을 검출하는 동작은 도 7a 내지 도 7b와, 도 8에서 설명한 바와 유사하므로, 여기서는 그 상세한 설명을 생략하기로 한다. 하지만, 상기 TIC 서버(913)는 MP_JOIN 메시지에 포함되어 있는 token에 해당되는 MPTCP 연결이 상기 TIC 서버(913) 내에 존재하지 않음을 검출하고, 상기 해당되는 MPTCP 연결은 상기 사용자 단말기(911)와 상기 오리지널 서버(915)간에 성립되어 있다는 것을 검출할 수 있다. 이와 같은 동작에 대해서 보다 구체적으로 설명하면 다음과 같다.
먼저, 상기 사용자 단말기(911)는 상기 오리지널 서버(915)로 MP_JOIN 메시지를 송신한다(SYN: MP_JOIN [Token, ID])(929단계). 상기 사용자 단말기(911)로부터 MP_JOIN 메시지를 수신한 오리지널 서버(915)는 상기 사용자 단말기(911)로 MP_JOIN 메시지를 송신한다(SYN/ACK: MP_JOIN [ID])(931단계). 상기 오리지널 서버(915)로부터 MP_JOIN 메시지를 수신한 사용자 단말기(911)는 상기 오리지널 서버(915)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN [ID])(933단계). 상기 사용자 단말기(911)로부터 MP_JOIN 메시지를 수신한 오리지널 서버(915)는 상기 사용자 단말기(911)로 ACK 메시지를 송신한다(935단계).
한편, 상기 MP_JOIN 메시지는 셀룰러 네트워크를 통해서 송신되기 때문에 상기 TIC 서버(913)가 캡쳐할 수 있다. 상기 TIC 서버(913)는 상기 검출 모듈을 통해서 상기 MP_JOIN 메시지가 MPTCP 제어 메시지인 것을 검출할 수 있고, 이 경우, 상기 TIC 서버(913)는 TCP 옵션 필드의 종류 옵션과 서브 타입을 통해서 상기 사용자 단말기(911)와 상기 오리지널 서버(915)간의 연결이 MPTCP 연결이라는 것을 검출할 수 있다. 하지만, 상기 TIC 서버(913)는 MP_JOIN 메시지에 포함되어 있는 token에 해당되는 MPTCP 연결이 상기 TIC 서버(913) 내에 존재하지 않음을 검출하고, 상기 해당되는 MPTCP 연결은 상기 사용자 단말기(911)와 상기 오리지널 서버(915)간에 성립되어 있다는 것을 검출할 수 있다(TCP option kind field and subtype check. MPTCP Kind option = 30 and subtype = 0x1 (MP_JOIN). If no MPTCP connection ID exists in cache server, No caching service)(937단계).
따라서, 상기 TIC 서버(913)는 해당 서브 플로우를 통해 비디오 스트리밍 서비스에 대한 요구를 위해 상기 사용자 단말기(911)가 송신하는 HTTP GET 메시지를 더 이상 캡쳐하지 않는다. 이에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 사용자 단말기(911)는 상기 오리지널 서버(915)로 HTTP GET 메시지를 사용하여 컨텐트를 요구한다(Content Request[HTTP GET])(939단계). 상기 사용자 단말기(911)로부터 HTTP GET 메시지를 수신한 오리지널 서버(915)는 상기 사용자 단말기(911)로 HTTP Response and Payload 메시지를 사용하여 컨텐트를 제공한다(Content[HTTP Response and Payload])(941단계, 943단계). 또한, 상기 TIC 서버(913)는 해당 서브 플로우를 통해 비디오 스트리밍 서비스에 대한 요구를 위해 상기 사용자 단말기(911)가 송신하는 HTTP GET 메시지를 더 이상 캡쳐하지 않을 뿐만 아니라, 상기 오리지널 서버(915)가 제공하는 컨텐트에 대한 캐싱 서비스를 제공하지 않는다(No caching Service(service from the original server)(945단계)
한편, 도 9가 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예를 도시하고 있더라도, 다양한 변형들이 도 9에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 9에는 연속적인 단계들이 도시되어 있지만, 도 9에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 9에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정의 다른 예에 대해서 설명하였으며, 다음으로 도 10을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정이 수행될 경우 TIC 서버의 동작 과정에 대해서 설명하기로 한다.
도 10은 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정이 수행될 경우 TIC 서버의 동작 과정을 개략적으로 도시한 도면이다.
도 10을 참조하면, 먼저 1011단계에서 상기 TIC 서버는 포트 번호가 80인 패킷을 수신하고 1013단계로 진행한다(Packet Receive(port: 80)). 상기 1013단계에서 상기 TIC 서버는 오리지널 서버와 사용자 단말기간에 성립되어 있는 연결이 MPTCP 연결인지 검사하기 위해 해당 패킷이 포함하는 Kind 필드의 필드 값이 “30”으로 설정되어 있는지 검사한다. 상기 검사 결과, 해당 패킷이 포함하는 Kind 필드의 필드 값이 “30”으로 설정되어 있지 않을 경우 상기 TIC 서버는 1015단계로 진행한다. 상기 1015단계에서 상기 TIC 서버는 노말 캐시 동작(Normal Cache Operation)을 수행한다.
한편, 상기 1013단계에서 검사 결과, 상기 해당 패킷이 포함하는 Kind 필드의 필드 값이 “30”으로 설정되어 있을 경우 상기 TIC 서버는 1017단계로 진행한다. 상기 1017단계에서 상기 TIC 서버는 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x0”으로 설정되어 있는지 검사한다. 여기서, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x0”이라는 것은 subtype 필드의 필드값이 “MP_CAPABLE”로 설정되어 있다는 것을 나타낸다. 상기 검사 결과, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x0”으로 설정되어 있을 경우 상기 TIC 서버는 1021단계로 진행한다. 상기 1021단계에서 상기 TIC 서버는 상기 오리지널 서버와 사용자 단말기간에 성립되어 있는 연결이 MPTCP 연결이라고 결정하고, 그 내용을 기록한다.
한편, 상기 1017단계에서 검사 결과, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x0”으로 설정되어 있지 않을 경우 상기 TIC 서버는 1023단계로 진행한다. 상기 1023단계에서 상기 TIC 서버는 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x2”로 설정되어 있는지 검사한다. 여기서, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x2”라는 것은 subtype 필드의 필드값이 “데이터 시컨스 신호( Data Sequence Signal : DSS, 이하 “DSS”라 칭하기로 한다)”로 설정되어 있다는 것을 나타낸다. 상기 검사 결과, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x2”로 설정되어 있을 경우 상기 TIC 서버는 1025단계로 진행한다. 상기 1025단계에서 상기 TIC 서버는 상기 해당 패킷이 HTTP GET 패킷인지 검사한다. 상기 검사 결과 상기 해당 패킷이 HTTP GET 패킷이 아닐 경우 상기 TIC 서버는 1027단계로 진행한다. 상기 1027단계에서 상기 TIC 서버는 노말 MPTCP 동작을 수행한다.
한편, 상기 1025단계에서 검사 결과 상기 해당 패킷이 HTTP GET 패킷일 경우 상기 TIC 서버는 1029단계로 진행한다. 상기 1029단계에서 상기 TIC 서버는 Cache Hit이 발생되는지 검사한다. 상기 검사 결과, 상기 Cache Hit이 발생되지 않을 경우 상기 TIC 서버는 1031단계로 진행한다. 상기 1031단계에서 상기 TIC 서버는 해당 MPTCP 연결에 관한 기록을 삭제한다.
한편, 상기 1029단계에서 검사 결과 상기 Cache Hit이 발생될 경우 상기 TIC 서버는 1033단계로 진행한다. 상기 1033단계에서 상기 TIC 서버는 상기 TIC 서버 자신의 IP 어드레스를 가지는 서브 플로우를 추가하고 1035단계로 진행한다(Add subflow with its own IP address). 상기 1035단계에서 상기 TIC 서버는 상기 오리지널 서버의 IP 어드레스를 제거한다. 즉, 상기 1035단계에서 상기 TIC 서버는 상기 오리지널 서버의 IP 어드레스를 가지는 서브 플로우를 해제한다(Remove IP address of original server(close subflow with it)). 여기서, 상기 1033단계와 1035단계의 동작이 소스 IP 어드레스 이송(Source IP address Migration) 동작에 해당한다.
한편, 상기 1023단계에서 검사 결과 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x2”로 설정되어 있지 않을 경우 상기 TIC 서버는 1037단계로 진행한다. 상기 1037단계에서 상기 TIC 서버는 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x1”로 설정되어 있는지 검사한다. 여기서, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x1”이라는 것은 subtype 필드의 필드값이 “MP_JOIN”으로 설정되어 있다는 것을 나타낸다. 상기 검사 결과, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x1”로 설정되어 있지 않을 경우 상기 TIC 서버는 1039단계로 진행한다. 상기 1039단계에서 상기 TIC 서버는 노말 MPTCP 동작을 수행한다(Normal MPTCP Operation).
한편, 상기 1037단계에서 검사 결과, 상기 해당 패킷이 포함하는 subtype 필드의 필드값이 “0x1”로 설정되어 있을 경우 상기 TIC 서버는 1041단계로 진행한다. 상기 1041단계에서 상기 TIC 서버는 MPTCP 연결 ID가 존재하는지 검사한다(MPTCP Connection ID Existing?). 상기 검사 결과 MPTCP 연결 ID가 존재하지 않을 경우 상기 TIC 서버는 1043단계로 진행한다. 상기 1043단계에서 상기 TIC 서버는 캐싱 서비스를 제공하지 않는다. (No Caching Service(Service from the original server)(1043단계).
한편, 상기 1041단계에서 검사 결과 MPTCP 연결 ID가 존재할 경우 상기 TIC 서버는 1045단계로 진행한다. 상기 1045단계에서 상기 TIC 서버는 상기 사용자 단말기가 골드 사용자(Gold User)인지 검사한다. 여기서, 상기 사용자 단말기가 골드 사용자라는 것은 도 7a 내지 도 7b의 761단계에서 설명한 바와 같이 등급을 고려하여 결정된 사용자 레벨이 골드 사용자 레벨이라는 것을 나타내며, 도 10에서는 상기 골드 사용자는 가장 높은 등급으로 지정되어 있는 사용자를 나타낸다.
상기 1045단계에서 검사 결과 상기 사용자 단말기가 상기 골드 사용자일 경우 상기 TIC 서버는 1047단계로 진행한다. 상기 1047단계에서 상기 TIC 서버는 상기 사용자 단말기에 대한 MP_JOIN 동작을 수락한다.
한편, 1045단계에서 검사 결과 상기 사용자 단말기가 상기 골드 사용자가 아닐 경우 상기 TIC 서버는 1049단계로 진행한다. 상기 1049단계에서 상기 TIC 서버는 상기 사용자 단말기에 대한 MP_JOIN 동작을 수락하고 1051단계로 진행한다. 상기 1051단계에서 상기 TIC 서버는 셀룰러 네트워크를 통한 서브 플로우를 해제한다(close subflow through cellular network). 여기서, 상기 1045단계 내지 1051단계의 동작이 서비스 타입 결정(Service Type Decision) 동작에 해당한다.
한편, 도 10이 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버 기반 방식의 MPTCP의 동작 과정이 수행될 경우 TIC 서버의 동작 과정을 도시하고 있더라도, 다양한 변형들이 도 10에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 10에는 연속적인 단계들이 도시되어 있지만, 도 10에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
한편, 상기에서는 도 7a 내지 도 7b 내지 도 10을 참조하여 도 5 및 도 6에서 설명한 바와 같이 MPTCP와 TIC 서버가 함께 사용될 경우 통신 네트워크에서 발생될 수 있는 상황들을 해결하기 위한 첫 번째 방식인 TIC 서버 기반 방식의 MPTCP의 동작 과정에 대해서 설명하였으며, 다음으로, 도 5 및 도 6에서 설명한 바와 같이 MPTCP와 TIC 서버가 함께 사용될 경우 통신 네트워크에서 발생될 수 있는 상황들을 해결하기 위한 두 번째 방식인 사용자 단말기 기반 방식의 MPTCP의 동작 과정을 도 11 내지 도 13을 참조하여 설명하기로 한다.
먼저, 도 11을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예에 대해서 설명하기로 한다.
도 11은 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예를 개략적으로 도시한 도면이다.
도 11을 참조하면, 상기 통신 네트워크는 오리지널 서버(1111)와, TIC 서버(1113) 및 사용자 단말기(1115)를 포함한다.
상기 사용자 단말기(1115)는 셀룰러 IP 어드레스와 WiFi IP 어드레스를 사용하고, 상기 TIC 서버(1113)는 상기 TIC 서버(1113)의 IP 어드레스를 사용하고, 상기 오리지널 서버(1111)는 상기 오리지널 서버(1111)의 IP 어드레스를 사용한다.
도 11에 도시되어 있는, 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예는 셀룰러 네트워크를 통해서 MPTCP 연결을 성립할 경우의, 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예를 나타낸다.
먼저, 상기 TIC 서버(1113)와 상기 사용자 단말기(1115)간에는 셀룰러 네트워크를 통해서 MPTCP 연결이 성립되어 있다(1117단계). 상기 TIC 서버(1113)는 상기 사용자 단말기(1115)에 대해서 transparent하기 때문에 상기 사용자 단말기(1115)는 상기 사용자 단말기(1115) 자신이 현재 비디오 스트리밍 서비스를 상기 TIC 서버(1113)로부터 제공받고 있는지, 혹은 상기 오리지널 서버(1113)로부터 제공받고 있는지 인식할 수 없다.
한편, 상기 사용자 단말기(1115)가 WiFi 핫 스팟으로 이동하여 WiFi AP(도 11에 별도로 도시되어 있지 않음)로부터 IP 어드레스를 할당받고(Turn on WiFi Getting IP address(5.5.5.5))(1119단계), 새로운 서브 플로우를 추가하고자 한다.
이에 따라, 상기 사용자 단말기(1115)는 상기 오리지널 서버(1111)로 MP_JOIN 메시지를 송신한다(SYN: MP_JOIN [Token, ID-A2])(1121단계). 한편, 상기 사용자 단말기(1115)는 현재 상기 TIC 서버(1113)로부터 서비스를 제공받고 있기 때문에, 상기 오리지널 서버(1111)는 상기 사용자 단말기(1115)와 상기 오리지널 서버(1111)간에 성립되어 있는 MPTCP 연결에 관한 정보를 삭제한 상태이다(Unknown Token in MP_JOIN)(1123단계). 따라서, 상기 오리지널 서버(1111)는 상기 사용자 단말기(1115)로부터 상기 MP_JOIN 메시지를 수신할 경우 RST 메시지를 상기 사용자 단말기(1115)에게 송신한다(RST)(1125).
상기 오리지널 서버(1111)로부터 RST 메시지를 수신한 사용자 단말기(1115)는 현재 비디오 스트리밍 서비스를 정상적으로 제공받고 있는 상황에서 상기 오리지널 서버(1111)로부터 RST 메시지를 수신하였기 때문에 현재 제공받고 있는 비디오 스트리밍 서비스는 상기 TIC 서버(1113)가 제공한다는 사실을 검출할 수 있다(Detecting that TIC server is being used in cellular network)(1127단계).
이에 따라, 상기 사용자 단말기(1115)는 WiFi 네트워크를 통해 추가적으로 서브 플로우를 생성하기 위해 이전에 셀룰러 네트워크를 통해 생성되어 있는 서브 플로우를 사용하여 상기 WiFi AP로부터 할당받은 IP 어드레스를 ADD_ADDR 메시지를 통해 상기 TIC 서버(1113)에게 알려 준다(DATA: ADD_ADDR[Address A2, ID-A2])(1129단계). 상기 사용자 단말기(1115)로부터 ADD_ADDR 메시지를 수신한 TIC 서버(1113)는 상기 사용자 단말기(1115)가 기존이 IP 어드레스 이외에도 새로운 IP 어드레스를 사용한다는 것을 검출하고, 상기 새로운 IP 어드레스를 사용하여 MP_JOIN 동작을 수행하여 추가적인 서브 플로우를 생성한다. 이를 구체적으로 설명하면 다음과 같다.
상기 사용자 단말기(1115)로부터 ADD_ADDR 메시지를 수신한 TIC 서버(1113)는 상기 사용자 단말기(1115)가 기존이 IP 어드레스 이외에도 새로운 IP 어드레스를 사용한다는 것을 검출하고, 따라서 상기 사용자 단말기(1115)로 MP_JOIN 메시지를 송신한다(SYN: MP_JOIN[Token, ID-A2])(1131단계). 상기 TIC 서버(1113)로부터 MP_JOIN 메시지를 수신한 사용자 단말기(1115)는 상기 TIC 서버(1113)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN)(1133단계). 상기 사용자 단말기(1115)로부터 MP_JOIN 메시지를 수신한 TIC 서버(1113)는 상기 사용자 단말기로 ACK 메시지를 송신한다(1135단계).
한편, 도 11이 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예를 도시하고 있더라도, 다양한 변형들이 도 11에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 11에는 연속적인 단계들이 도시되어 있지만, 도 11에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 11에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 일 예에 대해서 설명하였으며, 다음으로 도 12를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예에 대해서 설명하기로 한다.
도 12는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예를 개략적으로 도시한 도면이다.
도 12를 참조하면, 상기 통신 네트워크는 오리지널 서버(1211)와, TIC 서버(1213) 및 사용자 단말기(1215)를 포함한다.
상기 사용자 단말기(1215)는 셀룰러 IP 어드레스와 WiFi IP 어드레스를 사용하고, 상기 TIC 서버(1213)는 상기 TIC 서버(1213)의 IP 어드레스를 사용하고, 상기 오리지널 서버(1211)는 상기 오리지널 서버(1211)의 IP 어드레스를 사용한다.
도 12에 도시되어 있는, 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예는 WiFi 네트워크를 통해서 MPTCP 연결을 성립할 경우의, 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예를 나타낸다.
먼저, 상기 오리지널 서버(1211)와 상기 사용자 단말기(1215)간에는 WiFi 네트워크를 통해서 MPTCP 연결이 성립되어 있다(1217단계). 그리고, 상기 사용자 단말기(1215)는 셀룰러 네트워크를 통해서 상기 오리지널 서버(1211)와 추가적인 서브 플로우를 성립할 수 있다. 여기서, 상기 사용자 단말기(1215)가 상기 셀룰러 네트워크를 통해서 상기 오리지널 서버(1211)와 추가적인 서브 플로우를 성립하는 동작에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 사용자 단말기(1215)는 상기 오리지널 서버(1211)로 MP_JOIN 메시지를 송신한다(SYN: MP_JOIN [Token, ID-A2])(1219단계). 상기 사용자 단말기(1215)로부터 MP_JOIN 메시지를 수신한 오리지널 서버(1211)는 상기 사용자 단말기(1215)로 MP_JOIN 메시지를 송신한다(ACK: MP_JOIN)(1221단계). 상기 오리지널 서버(1211)로부터 MP_JOIN 메시지를 수신한 사용자 단말기(1215)는 상기 오리지널 서버(1211)로 ACK 메시지를 송신한다(1223단계). 이와 같은 동작을 통해서 상기 셀룰러 네트워크를 통해 서브 플로우가 성립된다(Establishment of sub-flow through the cellular network)(1225단계).
한편, 이렇게 상기 셀룰러 네트워크를 통해 서브 플로우가 성립된 후, 만약 상기 TIC 서버(1213)가 캐시 서비스를 제공하게 될 경우, 상기 사용자 단말기(1215)는 상기 사용자 단말기(1215)에 대한 데이터 소스가 2개가 되기 때문에, 상기 TIC 서버(1213)가 Cache Hit을 검출하지 않도록 HTTP GET 메시지를 WiFi 네트워크를 통해 성립된 서브 플로우로 송신되도록 한다. 이런 동작에 대해서 보다 구체적으로 설명하면 다음과 같다.
먼저, 상기 사용자 단말기(1215)는 상기 오리지널 서버(1211)로 WiFi 네트워크를 통해 성립된 서브 플로우로 HTTP GET 메시지를 송신한다(1227단계). 상기 사용자 단말기(1215)로부터 HTTP GET 메시지를 수신한 오리지널 서버(1211)는 상기 사용자 단말기(1215)에게 WiFi 네트워크를 통해 데이터 서비스를 제공하고(DATA through WiFi)(1229단계), 또한 셀룰러 네트워크를 통해 데이터 서비스를 제공한다(DATA through Cellular)(1231단계).
한편, 도 12가 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예를 도시하고 있더라도, 다양한 변형들이 도 12에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 12에는 연속적인 단계들이 도시되어 있지만, 도 12에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 12에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정의 다른 예에 대해서 설명하였으며, 다음으로 도 13을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정이 수행될 경우 사용자 단말기의 동작 과정에 대해서 설명하기로 한다.
도 13은 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정이 수행될 경우 사용자 단말기의 동작 과정을 개략적으로 도시한 도면이다.
도 13을 참조하면, 먼저 1311단계에서 상기 사용자 단말기는 서브 플로우를 추가하기로 결정하고 1313단계로 진행한다(Determine to add subflow). 상기 1313단계에서 상기 사용자 단말기는 기존에 성립되어 있는 MPTCP 연결이 WiFi 네트워크를 통해 성립된 MPTCP 연결인지 검사한다. 상기 검사 결과 기존에 성립되어 있는 MPTCP 연결이 WiFi 네트워크를 통해 성립된 MPTCP 연결일 경우 상기 사용자 단말기는 1315단계로 진행한다. 상기 1315단계에서 상기 사용자 단말기는 셀룰러 네트워크를 통해 MP_JOIN 메시지를 송신하고 1317단계로 진행한다(Sending MP_JOIN through cellular). 상기 1317단계에서 상기 사용자 단말기는 이후 셀룰러 네트워크를 통한 서브 플로우가 추가되면 WiFi 네트워크를 통해 HTTP GET 메시지를 송신한다(Sending HTTP GET through WiFi). 여기서, 상기 1311단계와, 1313단계와, 1315단계와, 1317단계의 동작이 도 12에서 설명한 바와 같은 사용자 단말기 기반 방식의 MPTCP의 동작 과정을 나타낸다.
한편, 상기 1313단계에서 검사 결과 기존에 성립되어 있는 MPTCP 연결이 WiFi 네트워크를 통해 성립된 MPTCP 연결이 아닐 경우, 즉 셀룰러 네트워크를 통해 성립된 MPTCP 연결일 경우 상기 사용자 단말기는 1319단계로 진행한다. 상기 1319단계에서 상기 사용자 단말기는 WiFi 네트워크를 통해 MP_JOIN 메시지를 송신하고 1321단계로 진행한다(Sending MP_JOIN Through WiFi). 상기 1321단계에서 상기 사용자 단말기는 MP_JOIN 동작이 실패하였는지 검사한다. 즉, 상기 사용자 단말기는 RST 메시지가 수신되는지 검사한다(MP_JOIN Fail(Flag field RST)?). 상기 검사 결과 상기 MP_JOIN 동작이 실패하지 않았을 경우 상기 사용자 단말기는 1323단계로 진행한다. 상기 1323단계에서 상기 사용자 단말기는 노말 MPTCP 동작을 수행한다(Normal MPTCP Operation).
한편, 상기 1321단계에서 검사 결과 상기 MP_JOIN 동작이 실패하였을 경우 상기 사용자 단말기는 1325단계로 진행한다. 상기 1325단계에서 상기 사용자 단말기는 셀룰러 네트워크를 통해 ADD_ADDR 메시지를 송신하고 1327단계로 진행한다(Sending ADD_ADDR Through cellular). 상기 1327단계에서 상기 사용자 단말기는 MP_JOIN 메시지가 수신되는지 검사한다(Receiving MP_JOIN?). 상기 검사 결과 MP_JOIN 메시지가 수신될 경우 상기 사용자 단말기는 1329단계로 진행한다. 상기 1329단계에서 상기 사용자 단말기는 다수 개의 플로우들을 통해서 서비스를 제공받는다(Multiple flows).
한편, 상기 1327단계에서 검사 결과 MP_JOIN 메시지가 수신되지 않을 경우 상기 사용자 단말기는 1331단계로 진행한다. 상기 1331단계에서 상기 사용자 단말기는 단일 플로우를 통해서 서비스를 제공받는다(Single flow).
한편, 도 13이 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정이 수행될 경우 사용자 단말기의 동작 과정을 도시하고 있더라도, 다양한 변형들이 도 13에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 13에는 연속적인 단계들이 도시되어 있지만, 도 13에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 13에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기 기반 방식의 MPTCP의 동작 과정이 수행될 경우 사용자 단말기의 동작 과정에 대해서 설명하였으며, 다음으로 도 14를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기의 내부 구조에 대해서 설명하기로 한다.
도 14는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기의 내부 구조를 개략적으로 도시한 도면이다.
도 14를 참조하면, 사용자 단말기(1400)는 송신기(1411)와, 제어기(1413)와, 수신기(1415)와, 저장 유닛(1417)을 포함한다.
상기 제어기(1413)는 상기 사용자 단말기(1400)의 전반적인 동작을 제어하며, 특히 상기 사용자 단말기(1400)가 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하도록 제어한다. 여기서, 상기 사용자 단말기(1400)가 수행하는 MPTCP 연결을 제공하는 것에 관련된 동작은 도 1 내지 도 13에서 설명한 바와 동일하며, 따라서 여기서는 그 상세한 설명을 생략하기로 한다.
상기 송신기(1411)는 상기 제어기(1413)의 제어에 따라 다른 엔터티들, 일 예로 오리지널 서버 및 TIC 서버로 각종 신호들 및 메시지들을 송신한다.
또한, 상기 수신기(1415)는 상기 제어기(1413)의 제어에 따라 다른 엔터티들, 일 예로 오리지널 서버 및 TIC 서버로부터 각종 신호들 및 메시지들을 수신한다.
또한, 상기 저장 유닛(1417)은 상기 사용자 단말기(1400)가 도 1 내지 도 13에서 설명한 바와 같은 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하기 위한 각종 프로그램들과, 데이터들을 저장하고, 상기 도 1 내지 도 13에서 설명한 바와 같은 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하는 중에 발생한 데이터들을 저장한다.
한편, 도 14에는 상기 사용자 단말기(1400)가 상기 송신기(1411)와, 제어기(1413)와, 수신기(1415)와, 저장 유닛(1417)이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 사용자 단말기(1400)는 상기 송신기(1411)와, 제어기(1413)와, 수신기(1415)와, 저장 유닛(1417) 중 적어도 두 개가 통합된 형태로 구현될 수도 있음은 물론이다.
도 14에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 사용자 단말기의 내부 구조에 대해서 설명하였으며, 다음으로 도 15를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 오리지널 서버의 내부 구조에 대해서 설명하기로 한다.
도 15는 본 발명의 일 실시예에 따른 통신 네트워크에서 오리지널 서버의 내부 구조를 개략적으로 도시한 도면이다.
도 15를 참조하면, 오리지널 서버(1500)는 송신기(1511)와, 제어기(1513)와, 수신기(1515)와, 저장 유닛(1517)을 포함한다.
상기 제어기(1513)는 상기 오리지널 서버(1500)의 전반적인 동작을 제어하며, 특히 상기 오리지널 서버(1500)가 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하도록 제어한다. 여기서, 상기 오리지널 서버(1500)가 수행하는 MPTCP 연결을 제공하는 것에 관련된 동작은 도 1 내지 도 13에서 설명한 바와 동일하며, 따라서 여기서는 그 상세한 설명을 생략하기로 한다.
상기 송신기(1511)는 상기 제어기(1513)의 제어에 따라 다른 엔터티들, 일 예로 사용자 단말기 및 TIC 서버로 각종 신호들 및 메시지들을 송신한다.
또한, 상기 수신기(1515)는 상기 제어기(1513)의 제어에 따라 다른 엔터티들, 일 예로 사용자 단말기 및 TIC 서버로부터 각종 신호들 및 메시지들을 수신한다.
또한, 상기 저장 유닛(1517)은 상기 오리지널 서버(1500)가 도 1 내지 도 13에서 설명한 바와 같은 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하기 위한 각종 프로그램들과, 데이터들을 저장하고, 상기 도 1 내지 도 13에서 설명한 바와 같은 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하는 중에 발생한 데이터들을 저장한다.
한편, 도 15에는 상기 오리지널 서버(1500)가 상기 송신기(1511)와, 제어기(1513)와, 수신기(1515)와, 저장 유닛(1517)이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 오리지널 서버(1500)는 상기 송신기(1511)와, 제어기(1513)와, 수신기(1515)와, 저장 유닛(1517) 중 적어도 두 개가 통합된 형태로 구현될 수도 있음은 물론이다.
도 15에서는 본 발명의 일 실시예에 따른 통신 네트워크에서 오리지널 서버의 내부 구조에 대해서 설명하였으며, 다음으로 도 16을 참조하여 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 내부 구조에 대해서 설명하기로 한다.
도 16은 본 발명의 일 실시예에 따른 통신 네트워크에서 TIC 서버의 내부 구조를 개략적으로 도시한 도면이다.
도 16을 참조하면, TIC 서버(1600)는 송신기(1611)와, 제어기(1613)와, 수신기(1615)와, 저장 유닛(1617)을 포함한다.
상기 제어기(1613)는 상기 TIC 서버(1600)의 전반적인 동작을 제어하며, 특히 상기 TIC 서버(1600)가 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하도록 제어한다. 여기서, 상기 TIC 서버(1600)가 수행하는 MPTCP 연결을 제공하는 것에 관련된 동작은 도 1 내지 도 13에서 설명한 바와 동일하며, 따라서 여기서는 그 상세한 설명을 생략하기로 한다.
상기 송신기(1611)는 상기 제어기(1613)의 제어에 따라 다른 엔터티들, 일 예로 사용자 단말기 및 오리지널 서버로 각종 신호들 및 메시지들을 송신한다.
또한, 상기 수신기(1615)는 상기 제어기(1613)의 제어에 따라 다른 엔터티들, 일 예로 사용자 단말기 및 오리지널 서버로부터 각종 신호들 및 메시지들을 수신한다.
또한, 상기 저장 유닛(1617)은 상기 TIC 서버(1600)가 도 1 내지 도 13에서 설명한 바와 같은 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하기 위한 각종 프로그램들과, 데이터들을 저장하고, 상기 도 1 내지 도 13에서 설명한 바와 같은 MPTCP 연결을 제공하는 것에 관련된 동작을 수행하는 중에 발생한 데이터들을 저장한다.
한편, 도 16에는 상기 TIC 서버(1600)가 상기 송신기(1611)와, 제어기(1613)와, 수신기(1615)와, 저장 유닛(1617)이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 TIC 서버(1600)는 상기 송신기(1611)와, 제어기(1613)와, 수신기(1615)와, 저장 유닛(1617) 중 적어도 두 개가 통합된 형태로 구현될 수도 있음은 물론이다.
본 발명의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(Read-Only Memory: ROM)와, 랜덤-접속 메모리(Random-Access Memory: RAM)와, CD-ROM들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 일 실시예에 따른 서비스 제공 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 일 실시예에 따른 서비스 제공 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다
또한 본 발명의 일 실시예에 따른 서비스 제공 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (40)

  1. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버가 서비스를 제공하는 방법에 있어서,
    제1네트워크를 통해서 사용자 단말기 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 과정과,
    상기 사용자 단말기로부터 서비스 제공 요구를 수신하면, 상기 서비스 제공 요구에 상응하는 서비스에 관련된 데이터가 캐시되어 있을 경우 상기 사용자 단말기와 상기 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하는 과정과,
    상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  2. 제1항에 있어서,
    상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공한 후, 상기 TIC 서버 자신의 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 상기 사용자 단말기와 제1 추가 서브 플로우(subflow)를 성립하고, 상기 오리지널 서버의 IP 어드레스를 기반으로 성립된 서브 플로우를 제거하는 과정과,
    상기 제1 추가 서브 플로우를 통해 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 과정을 더 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  3. 제2항에 있어서,
    상기 사용자 단말기와 상기 제1 네트워크와는 상이한 제2 네트워크를 통해 제2 추가 서브 플로우를 성립하는 과정과,
    상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공할 지, 혹은 상기 제2 네트워크를 통해 트래픽 오프로딩(traffic offloading) 동작을 수행할지를 결정하는 과정과,
    상기 결정 결과에 상응하게 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 과정을 더 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  4. 제3항에 있어서,
    상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공할 지, 혹은 상기 제2 네트워크를 통해 트래픽 오프로딩 동작을 수행할지를 결정하는 과정은 상기 사용자 단말기의 등급을 고려하여 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공할 지, 혹은 상기 제2 네트워크를 통해 트래픽 오프로딩 동작을 수행할지를 결정하는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  5. 제3항에 있어서,
    상기 트래픽 오프로딩 동작은 상기 제1 네트워크와 제2 네트워크 모두를 통해서 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 동작을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  6. 제3항에 있어서,
    상기 제1 네트워크는 셀룰러 네트워크이며, 상기 제2 네트워크는 와이파이(WiFi) 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  7. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법에 있어서,
    제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 과정과,
    상기 TIC 서버로 서비스 제공 요구를 송신하는 과정과,
    상기 TIC 서버 및 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하는 과정과,
    상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  8. 제7항에 있어서,
    상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받은 후, 상기 TIC 서버의 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 상기 TIC 서버와와 제1 추가 서브 플로우(subflow)를 성립하고, 상기 오리지널 서버의 IP 어드레스를 기반으로 성립된 서브 플로우를 제거하는 과정과,
    상기 제1 추가 서브 플로우를 통해 상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받는 과정을 더 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  9. 제8항에 있어서,
    상기 TIC 서버와 상기 제1 네트워크와는 상이한 제2 네트워크를 통해 제2 추가 서브 플로우를 성립하는 과정과,
    상기 TIC 서버로부터 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받거나, 혹은 상기 제2 네트워크를 통한 트래픽 오프로딩(traffic offloading) 동작을 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받는 과정을 더 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  10. 제9항에 있어서,
    상기 TIC 서버로부터 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받거나, 혹은 상기 제2 네트워크를 통한 트래픽 오프로딩 동작을 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받는 과정은 상기 사용자 단말기 자신의 등급을 고려하여 상기 TIC 서버로부터 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받거나, 혹은 상기 제2 네트워크를 통한 트래픽 오프로딩 동작을 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  11. 제9항에 있어서,
    상기 트래픽 오프로딩 동작은 상기 제1 네트워크와 제2 네트워크 모두를 통해서 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 동작을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  12. 제9항에 있어서,
    상기 제1 네트워크는 셀룰러 네트워크이며, 상기 제2 네트워크는 와이파이(WiFi) 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  13. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버가 서비스를 제공하는 방법에 있어서,
    제1네트워크를 통해 오리지널 서버(original server)와 MPTCP 연결을 성립하고 있는 사용자 단말기가 상기 오리지널 서버로 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 생성할 것을 요청함을 검출하는 과정과,
    상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결임을 검출하는 과정과,
    상기 서브 플로우를 통해서 송/수신되는 메시지를 캡쳐(capture)하지 않는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  14. 제13항에 있어서,
    상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결임을 검출하는 과정은,
    상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 TIC 서버 내에 존재하지 않음을 검출하는 과정과,
    상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 TIC 서버 내에 존재하지 않음을 검출함에 따라, 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결을 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결이라고 결정하는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  15. 제13항에 있어서,
    상기 제1 네트워크는 와이파이(WiFi) 네트워크이며, 상기 제2 네트워크는 셀룰러 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버가 서비스를 제공하는 방법.
  16. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법에 있어서,
    제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버와 MPTCP 연결을 성립하고 있는 상태에서, 오리지널 서버(original sever)와 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 성립하는 절차를 수행 시도하는 과정과,
    상기 추가 서브 플로우 성립 절차에 실패함을 검출할 경우, 상기 사용자 단말기 자신에게 제공되는 서비스가 상기 TIC 서버에서 제공하는 것임을 검출하는 과정과,
    상기 제2 네트워크로부터 할당받은 IP 어드레스를 상기 TIC 서버로 통보하여 상기 TIC 서버와 추가 서브 플로우를 성립하는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  17. 제16항에 있어서,
    상기 추가 서브 플로우 성립 절차에 실패함을 검출하는 과정은;
    상기 오리지널 서버로부터 리셋(ReSeT: RST) 메시지를 수신하면 상기 추가 서브 플로우 성립 절차에 실패함으로 검출하는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  18. 제16항에 있어서,
    상기 제1 네트워크는 셀룰러 네트워크이며, 상기 제2 네트워크는 와이파이(WiFi) 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  19. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법에 있어서,
    제1네트워크를 통해서 오리지널 서버(original sever)와 MPTCP 연결을 성립하고 있는 상태에서, 상기 제1네트워크와 상이한 제2네트워크와 추가 서브 플로우(subflow)를 성립하는 과정과,
    상기 오리지널 서버 및 사용자 단말기와 연결되어 있는 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에서 상기 사용자 단말기로 제공되는 서비스에 관련된 데이터가 캐시되지 않도록 상기 제1네트워크를 통해서 성립되어 있는 MPTCP 연결을 통해서만 상기 사용자 단말기로 상기 서비스를 제공하는 과정을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  20. 제19항에 있어서,
    상기 제1 네트워크는 와이파이(WiFi) 네트워크이며, 상기 제2 네트워크는 셀룰러 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기가 서비스를 제공하는 방법.
  21. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에 있어서,
    제1네트워크를 통해서 사용자 단말기 및 오리지널 서버(original server)와 MPTCP 연결을 성립하고, 상기 사용자 단말기로부터 서비스 제공 요구를 수신하면, 상기 서비스 제공 요구에 상응하는 서비스에 관련된 데이터가 캐시되어 있을 경우 상기 사용자 단말기와 상기 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하고, 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 송신기/수신기를 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  22. 제21항에 있어서,
    상기 송신기/수신기는 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공한 후, 상기 TIC 서버 자신의 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 상기 사용자 단말기와 제1 추가 서브 플로우(subflow)를 성립하고, 상기 오리지널 서버의 IP 어드레스를 기반으로 성립된 서브 플로우를 제거하고, 상기 제1 추가 서브 플로우를 통해 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  23. 제22항에 있어서,
    제어기를 더 포함하며,
    상기 송신기/수신기는 상기 사용자 단말기와 상기 제1 네트워크와는 상이한 제2 네트워크를 통해 제2 추가 서브 플로우를 성립하고,
    상기 제어기는 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공할 지, 혹은 상기 제2 네트워크를 통해 트래픽 오프로딩(traffic offloading) 동작을 수행할지를 결정하고,
    상기 제어기의 결정 결과에 상응하게 상기 송신기/수신기는 상기 사용자 단말기로 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 과정을 더 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  24. 제23항에 있어서,
    상기 제어기는 상기 사용자 단말기의 등급을 고려하여 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공할 지, 혹은 상기 제2 네트워크를 통해 트래픽 오프로딩 동작을 수행할지를 결정함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  25. 제23항에 있어서,
    상기 트래픽 오프로딩 동작은 상기 제1 네트워크와 제2 네트워크 모두를 통해서 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 동작을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  26. 제23항에 있어서,
    상기 제1 네트워크는 셀룰러 네트워크이며, 상기 제2 네트워크는 와이파이(WiFi) 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  27. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기에 있어서,
    제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버 및 오리지널 서버(original server)와 MPTCP 연결을 성립하는 송신기/수신기를 포함하며,
    상기 송신기는 상기 TIC 서버로 서비스 제공 요구를 송신하고,
    상기 송신기/수신기는 상기 TIC 서버 및 오리지널 서버간에 성립되어 있는 MPTCP 연결을 해제하고,
    상기 수신기는 상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받음을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  28. 제27항에 있어서,
    상기 수신기가 상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받은 후, 상기 송신기/수신기는 상기 TIC 서버의 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 상기 TIC 서버와와 제1 추가 서브 플로우(subflow)를 성립하고, 상기 오리지널 서버의 IP 어드레스를 기반으로 성립된 서브 플로우를 제거하고,
    상기 수신기는 상기 제1 추가 서브 플로우를 통해 상기 TIC 서버로부터 상기 서비스 제공 요구에 상응하는 서비스를 제공받음을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  29. 제28항에 있어서,
    상기 송신기/수신기는 상기 TIC 서버와 상기 제1 네트워크와는 상이한 제2 네트워크를 통해 제2 추가 서브 플로우를 성립하고,
    상기 수신기는 상기 TIC 서버로부터 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받거나, 혹은 상기 제2 네트워크를 통한 트래픽 오프로딩(traffic offloading) 동작을 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받음을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  30. 제29항에 있어서,
    상기 수신기는 상기 사용자 단말기 자신의 등급을 고려하여 상기 TIC 서버로부터 상기 제1 네트워크를 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받거나, 혹은 상기 제2 네트워크를 통한 트래픽 오프로딩 동작을 통해 상기 서비스 제공 요구에 상응하는 서비스를 제공받음을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  31. 제29항에 있어서,
    상기 트래픽 오프로딩 동작은 상기 제1 네트워크와 제2 네트워크 모두를 통해서 상기 서비스 제공 요구에 상응하는 서비스를 제공하는 동작을 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  32. 제29항에 있어서,
    상기 제1 네트워크는 셀룰러 네트워크이며, 상기 제2 네트워크는 와이파이(WiFi) 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  33. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에 있어서,
    제1네트워크를 통해 오리지널 서버(original server)와 MPTCP 연결을 성립하고 있는 사용자 단말기가 상기 오리지널 서버로 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 생성할 것을 요청함을 검출하고, 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결임을 검출하고, 상기 서브 플로우를 통해서 송/수신되는 메시지를 캡쳐(capture)하지 않는 제어기를 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  34. 제33항에 있어서,
    상기 제어기는 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 TIC 서버 내에 존재하지 않음을 검출하고, 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결이 상기 TIC 서버 내에 존재하지 않음을 검출함에 따라, 상기 사용자 단말기가 생성할 것을 요청한 추가 서브 플로우에 관련되는, 상기 MPTCP 연결을 상기 사용자 단말기와 상기 오리지널 서버간에 성립된 MPTCP 연결이라고 결정함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  35. 제33항에 있어서,
    상기 제1 네트워크는 와이파이(WiFi) 네트워크이며, 상기 제2 네트워크는 셀룰러 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 TIC 서버.
  36. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기에 있어서,
    제1네트워크를 통해서 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버와 MPTCP 연결을 성립하고 있는 상태에서, 오리지널 서버(original sever)와 상기 제1네트워크와 상이한 제2네트워크로부터 할당받은 인터넷 프로토콜(Internet Protocol: IP) 어드레스를 기반으로 추가 서브 플로우(subflow)를 성립하는 절차를 수행 시도하는 송신기/수신기와,
    상기 추가 서브 플로우 성립 절차에 실패함을 검출할 경우, 상기 사용자 단말기 자신에게 제공되는 서비스가 상기 TIC 서버에서 제공하는 것임을 검출하는 제어기를 포함하며,
    상기 송신기/수신기는 상기 제2 네트워크로부터 할당받은 IP 어드레스를 상기 TIC 서버로 통보하여 상기 TIC 서버와 추가 서브 플로우를 성립함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  37. 제36항에 있어서,
    상기 수신기가 상기 오리지널 서버로부터 리셋(ReSeT: RST) 메시지를 수신하면, 상기 제어기는 상기 추가 서브 플로우 성립 절차에 실패함으로 검출함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  38. 제36항에 있어서,
    상기 제1 네트워크는 셀룰러 네트워크이며, 상기 제2 네트워크는 와이파이(WiFi) 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  39. 멀티 패스 트랜스포트 제어 프로토콜(Multipath Transport Control Protocol: MPTCP)을 지원하는 통신 네트워크에서 사용자 단말기에 있어서,
    제1네트워크를 통해서 오리지널 서버(original sever)와 MPTCP 연결을 성립하고 있는 상태에서, 상기 제1네트워크와 상이한 제2네트워크와 추가 서브 플로우(subflow)를 성립하고, 상기 오리지널 서버 및 사용자 단말기와 연결되어 있는 트랜스페어런트 인터넷 캐시(Transparent Internet Cache: TIC) 서버에서 상기 사용자 단말기로 제공되는 서비스에 관련된 데이터가 캐시되지 않도록 상기 제1네트워크를 통해서 성립되어 있는 MPTCP 연결을 통해서만 상기 사용자 단말기로 상기 서비스를 제공하는 송신기/수신기를 포함함을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.
  40. 제39항에 있어서,
    상기 제1 네트워크는 와이파이(WiFi) 네트워크이며, 상기 제2 네트워크는 셀룰러 네트워크임을 특징으로 하는 MPTCP를 지원하는 통신 네트워크에서 사용자 단말기.

KR1020140037851A 2014-03-31 2014-03-31 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법 KR102259652B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140037851A KR102259652B1 (ko) 2014-03-31 2014-03-31 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법
US14/672,501 US9826560B2 (en) 2014-03-31 2015-03-30 Apparatus and method for providing service in communication network supporting multipath transport control protocol
PCT/KR2015/003156 WO2015152602A2 (en) 2014-03-31 2015-03-31 Apparatus and method for providing service in communication network supporting multipath transport control protocol
CN201580029037.XA CN107078972B (zh) 2014-03-31 2015-03-31 用于在支持多路径传输控制协议的通信网络中提供服务的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140037851A KR102259652B1 (ko) 2014-03-31 2014-03-31 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150113625A true KR20150113625A (ko) 2015-10-08
KR102259652B1 KR102259652B1 (ko) 2021-06-02

Family

ID=54192428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140037851A KR102259652B1 (ko) 2014-03-31 2014-03-31 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법

Country Status (4)

Country Link
US (1) US9826560B2 (ko)
KR (1) KR102259652B1 (ko)
CN (1) CN107078972B (ko)
WO (1) WO2015152602A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180136021A (ko) 2017-06-13 2018-12-24 성균관대학교산학협력단 비대칭 키 교환을 이용한 mptcp의 핸드 셰이크 방법
KR20210103318A (ko) * 2020-02-13 2021-08-23 고려대학교 산학협력단 Mptcp의 서브플로우 보안 연결 방법 및 이를 위한 클라우드 서버, 호스트

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
KR101975684B1 (ko) * 2014-07-21 2019-05-07 후아웨이 테크놀러지 컴퍼니 리미티드 링크 제어 노드, 링크 제어 방법 및 통신 시스템
CN106716950B (zh) * 2014-09-30 2021-06-01 华为技术有限公司 多路径传输控制协议通信的地址管理装置、系统及方法
CN108353334B (zh) * 2015-12-25 2020-09-04 华为技术有限公司 业务传输方法、装置及设备
US9992786B2 (en) 2016-03-31 2018-06-05 At&T Intellectual Property I, L.P. Facilitation of multipath scheduling
US10193781B2 (en) 2016-04-14 2019-01-29 At&T Intellectual Property I, L.P. Facilitation of multipath transmission control protocols
US20170339219A1 (en) * 2016-05-17 2017-11-23 International Business Machines Corporation Transparent wide-area service migration with mptcp
EP3494686B1 (en) * 2016-08-05 2020-12-30 Telefonaktiebolaget LM Ericsson (publ) Transport protocol server relocation
EP3497916B1 (en) 2016-08-05 2020-12-09 Telefonaktiebolaget LM Ericsson (publ) Supporting transport protocol server relocation
US10348796B2 (en) * 2016-12-09 2019-07-09 At&T Intellectual Property I, L.P. Adaptive video streaming over preference-aware multipath
US10367722B2 (en) 2017-02-27 2019-07-30 International Business Machines Corporation Optimizing performance of computer networks
US11223689B1 (en) * 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
CN110324206B (zh) * 2019-07-08 2021-07-09 中国联合网络通信集团有限公司 一种测评方法和系统
CN113965516B (zh) * 2020-07-03 2023-10-13 华为技术有限公司 传输数据的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296006A1 (en) * 2010-04-06 2011-12-01 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
US20120144062A1 (en) * 2010-06-04 2012-06-07 Interdigital Patent Holdings, Inc. MPTCP And Mobile IP Interworking
KR20140030313A (ko) * 2011-07-25 2014-03-11 알까뗄 루슨트 신뢰가능한 세션 마이그레이션을 위한 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841463B (zh) * 2010-03-05 2012-05-16 清华大学 基于sctp的多路径并发传输方法
US8400923B2 (en) 2010-10-15 2013-03-19 Telefonaktiebolaget L M Ericsson (Publ) Multipath transmission control protocol proxy
CN104025553B (zh) 2011-07-14 2018-04-10 瑞典爱立信有限公司 移动云加速器中的优化引擎及相关方法
US9264353B2 (en) 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US8824480B2 (en) 2012-01-31 2014-09-02 Alcatel Lucent Method and apparatus for end-host based mobility, multi-homing and multipath protocols
CN103516694A (zh) * 2012-06-28 2014-01-15 华为技术有限公司 通信方法、装置和系统
US9888042B2 (en) * 2013-05-21 2018-02-06 Citrix Systems, Inc. Systems and methods for multipath transmission control protocol connection management
CN103326831A (zh) * 2013-06-04 2013-09-25 华为终端有限公司 在多路传输控制协议中的链路处理方法和移动终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296006A1 (en) * 2010-04-06 2011-12-01 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
US20120144062A1 (en) * 2010-06-04 2012-06-07 Interdigital Patent Holdings, Inc. MPTCP And Mobile IP Interworking
KR20140030313A (ko) * 2011-07-25 2014-03-11 알까뗄 루슨트 신뢰가능한 세션 마이그레이션을 위한 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180136021A (ko) 2017-06-13 2018-12-24 성균관대학교산학협력단 비대칭 키 교환을 이용한 mptcp의 핸드 셰이크 방법
KR20210103318A (ko) * 2020-02-13 2021-08-23 고려대학교 산학협력단 Mptcp의 서브플로우 보안 연결 방법 및 이를 위한 클라우드 서버, 호스트

Also Published As

Publication number Publication date
CN107078972A (zh) 2017-08-18
WO2015152602A3 (en) 2017-05-04
CN107078972B (zh) 2020-07-28
US9826560B2 (en) 2017-11-21
WO2015152602A2 (en) 2015-10-08
US20150282219A1 (en) 2015-10-01
KR102259652B1 (ko) 2021-06-02

Similar Documents

Publication Publication Date Title
KR102259652B1 (ko) 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법
US9173244B2 (en) Methods for establishing and using public path, M2M communication method, and systems thereof
US9674746B2 (en) Application service platform with access to context data of remote access node
KR101281407B1 (ko) 이동도 관리를 위한 의사 회선
US10567216B2 (en) Fault detection method, gateway, user equipment, and communications system
US11729686B2 (en) Transmission control method, apparatus, and system
RU2649298C1 (ru) Устройство шлюза и способ управления им
EP2768250A1 (en) Method and Apparatus for Receiving Information From a Communications Network
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
US11930358B2 (en) Seamless handoff between wireless access gateways
WO2019158598A1 (en) Redirection handling
KR102178348B1 (ko) 네트워크장치 및 네트워크장치에서 수행되는 엣지서비스 검색 방법
CN107277882B (zh) 一种数据路由方法、装置和基站
US11777806B2 (en) Methods, system, UE, PGW-U and MME for managing traffic differentiation
CN109921993B (zh) 通信系统的数据传输方法以及通信系统
JP2010514341A (ja) Ranにおける連続するデータユニットの表示の方法
CN110139264B (zh) NB-IoT网络的通信方法、装置及存储介质
WO2011106731A1 (en) Systems and methods for synchronizing traffic flow filter records
WO2022016305A1 (en) Header enrichment for hypertext transfer protocol secure
WO2022083865A1 (en) Method, apparatus and computer program
CN115209402A (zh) 一种无线能力开放系统
CN116918442A (zh) 用于服务管理的方法和装置

Legal Events

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