KR20180007794A - 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치 - Google Patents

무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치 Download PDF

Info

Publication number
KR20180007794A
KR20180007794A KR1020160089143A KR20160089143A KR20180007794A KR 20180007794 A KR20180007794 A KR 20180007794A KR 1020160089143 A KR1020160089143 A KR 1020160089143A KR 20160089143 A KR20160089143 A KR 20160089143A KR 20180007794 A KR20180007794 A KR 20180007794A
Authority
KR
South Korea
Prior art keywords
data reception
uplink data
rate
transmission rate
reception rate
Prior art date
Application number
KR1020160089143A
Other languages
English (en)
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 KR1020160089143A priority Critical patent/KR20180007794A/ko
Priority to US16/316,829 priority patent/US10952102B2/en
Priority to PCT/KR2017/007429 priority patent/WO2018012858A1/ko
Priority to EP17827928.7A priority patent/EP3471458B1/en
Publication of KR20180007794A publication Critical patent/KR20180007794A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • 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/0205Traffic management, e.g. flow control or congestion control at the air interface
    • 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/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • 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/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • 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/10Flow control between communication endpoints
    • H04W28/12Flow control between communication endpoints using signalling between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy

Abstract

무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치가 개시된다. 본 발명에 따르면, 서버의 전송 속도 제어 방법은 단말로부터 수신된 제1 패킷의 상향링크 데이터 전송 속도를 결정하는 단계, 상향 링크 데이터 전송 속도가 증가하도록 제어하는 제1 파라미터를 전송하는 단계, 전송된 제1 파라미터에 의해 수신된 제2 패킷의 상향링크 데이터 전송 속도가 증가하는지 여부를 판단하는 단계 및 판단 결과에 기반하여, 상향링크 데이터 전송 속도를 변경하도록 제어하도록 제2 파라미터를 전송하는 단계를 포함할 수 있다.

Description

무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치 { METHOD AND APPARATUS FOR CONTROLLING THE DATA RATE }
본 발명은 무선 통신 시스템에서 TCP 기반의 트래픽 전송을 제어하는 방법 및 장치에 관한 것이다.
스마트폰(smart phone), 태블릿(tablet) PC와 같은 다양한 기기의 사용 증가로 인해 LTE(Long Term Evolution)와 같은 셀룰러(cellular) 무선 통신망에서 웹 페이지 액세스, 비디오 스트리밍(video streaming), 소셜(social) 네트워크 접속 등 인터넷 콘텐츠(content)의 사용이 급격히 증가하고 있다. 이러한 서비스는 대부분 TCP(Transport Control Protocol) 기반으로 제공되며 멀티태스킹(multitasking)이 가능한 무선기기의 증가로 하향링크(downlink)뿐만 아니라 상향링크(uplink)의 데이터 트래픽(traffic)도 꾸준히 증가하고 있는 추세이다. 통상적으로, 무선망에서 상향링크와 하향링크의 데이터 전송 가능 대역폭(available bandwidth)은 비 대칭적이며, 특히 상향링크의 상대적으로 낮은 가용 밴드위스는 상향링크 혼잡(congestion)을 유발할 가능성이 크고 심지어 하향링크 전송률에도 나쁜 영향을 주는 경우가 발생한다. 또한, 하향링크는 상대적으로 훨씬 높은 가용 밴드위스가 있는 경우가 많지만, 사용자의 수와 건물 등 주변 지형의 변화에 따른 채널의 상태 변화가 빈번하여 TCP의 전송 효율이 무선망의 상태 변화에 신속하고 효과적으로 대응하지 못하는 경우가 지속적으로 발생한다.
상기와 같은 문제점을 해결하기 위해, 본 발명에서는 무선 망 상태를 기지국으로부터 전달받고 단말의 상향링크 방향 네트워크 상태를 예측함으로써, 단말 및 기지국 사이의 최적의 전송률을 결정하기 위한 방법을 제공한다.
본 발명의 일 실시 예에 따르면, 서버의 전송 속도 제어 방법은 단말로부터 수신된 제1 패킷의 상향링크 데이터 전송 속도를 결정하는 단계, 상향 링크 데이터 전송 속도가 증가하도록 제어하는 제1 파라미터를 전송하는 단계, 상기 전송된 제1 파라미터에 의해 수신된 제2 패킷의 상향링크 데이터 전송 속도가 증가하는지 여부를 판단하는 단계 및 상기 판단 결과에 기반하여, 상향링크 데이터 전송 속도를 변경하도록 제어하도록 제2 파라미터를 전송하는 단계를 포함할 수 있다.
한편, 본 발명의 다른 실시 예에 따르면, 서버의 전송 속도 제어 방법은 기지국으로부터 제1 하향링크 전송 속도 및 제1 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신하는 단계, 상기 수신된 무선 통신 정보를 기반으로 상기 기지국의 하향링크 데이터 량을 예측하는 단계, 상기 예측된 하향링크 데이터 량에 따라 상기 기지국의 하향링크 전송 속도를 제어하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상향링크의 가용 밴드위스를 추정하여 단말의 전송률이 가용 밴드위스를 초과하지 않도록 제어함으로써 단말의 불필요한 버퍼링과 상향링크의 혼잡을 줄일 수 있다.
또한, 본 발명의 실시 예에 따르면, 기지국의 버퍼 정보와 무선망 정보를 기반으로 전송률을 제어하여 무선망의 상태 변화에 신속하게 응답하여 하향링크의 전송속도(throughput)를 향상시킬 수 있다.
도 1은 단말과 서버 간의 데이터 전송에서 TCP의 ACK(Acknowledgement) 클럭킹(clocking)과 상향링크 혼잡이 미치는 영향에 대해 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 따른, 프록시 서버가 망 정보를 분석함으로써, 최적의 데이터 전송률을 결정하는 구조를 나타내는 도면,
도 3은 본 발명의 일 실시 예에 따라, 프록시 서버가 단말의 상향링크 데이터 전송 속도를 제어하는 방법을 나타내는 흐름도,
도 4는 본 발명의 일 실시 예에 따라, 프록시 서버가 기지국의 하향링크 데이터 전송 속도를 제어하는 방법을 나타내는 흐름도,
도 5는 본 발명의 일 실시 예에 따른 프록시 서버의 구성요소를 도시한 블록도,
도 6은 본 발명의 일 실시 예에 따라, 프록시 서버에서 단말의 상향링크 데이터 전송 속도를 제어하기 위한 구성요소를 구체적으로 도시한 블록도,
도 7은 본 발명의 일 실시 예에 따라, 프록시 서버가 전송률 제어 파라미터의 값을 제어함으로써 변경되는 단말의 상향링크 데이터 전송 속도를 나타낸 그래프, 그리고,
도 8은 본 발명의 일 실시 예에 따라, 프록시 서버가 기지국의 하향링크 데이터 전송 속도를 제어하기 위한 구성요소를 구체적으로 도시한 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
또한, 본 발명의 실시 예들을 구체적으로 설명함에 있어서, LTE 시스템을 주된 대상으로 할 것이지만, 본 발명의 주요한 요지는 유사한 기술적 배경 및 채널형태를 가지는 여타의 통신 시스템에도 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 발명의 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.
본 명세서에서 실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 1은 TCP를 이용한 단말과 서버 간의 데이터 전송에서 TCP의 ACK(Acknowledgement) 클럭킹(clocking)과 상향링크 혼잡이 미치는 영향에 대해 설명하기 위한 도면이다.
웹 기반 애플리게이션의 데이터 전송 방식은 거의 대부분이TCP이며, TCP 알고리즘의 전송 제어에는 흔히 ACK 클럭킹(ACKnowledgement clocking)이라고 불리는 방식이 필수적으로 포함되어 있다. 이러한 ACK 기반의 셀프-클럭킹(Self-clocking)에서는 ACK가 수신되어야 새로운 데이터 패킷(packet)의 전송이 가능하므로 병목구간(Bottleneck)의 대역폭과 ACK가 서버에 도착하는 속도에 따라 서버의 전송 속도가 자동으로 조절된다. 그러므로 원활한 하향링크 패킷 전송을 위해서는 상향링크 ACK가 적절한 시점에 서버에 도달하는 것이 필요하다.
도 1을 참고하면, 단말(100)과 서버(110)는 상향링크 채널(130)과 하향링크 채널(120)을 통해 패킷(packet)을 송수신한다. 상기 도 1에서, 상향링크 채널(130)과 하향링크 채널(120)은 대역폭의 비 대칭성을 표현하기 위해 서로 다른 너비의 파이프(pipe) 형태로 도시되었다. 즉, 상기 파이프의 너비는 가용 밴드위스(대역폭)(available bandwidth)를 의미한다.
도 1에서, 상향링크 채널(130)은 단말(100)이 서버(110)로 송신하는 상향링크 데이터 패킷들(132)과 1, 2, 3으로 표시된 세 개의 ACK 패킷(131)을 포함한다. 도 1에 도시된 바와 같이, ACK 패킷들(131) 사이에 전송된 단말(100)의 상향링크 데이터(132)가 많을수록 ACK 패킷(131)이 서버(110)에 도달하는 시간이 늦어지게 될 가능성이 커진다.
서버(110)는 단말로부터 수신되는 ACK 패킷(131)에 응답하여 하향링크 데이터 패킷(121)을 전송한다. 이때, 서버(110)에 도달하는 2번 ACK 패킷이 1번 ACK 패킷 이후 전송된 상향링크 데이터 패킷에 의해 지연되면 하향링크 파이프(120)에는 데이터 적체가 없음에도 불구하고 하향링크 유휴(idle)(125)가 발생할 수 있다. 이러한 하향링크 유휴는 하향링크 쓰루풋 (throughput)을 감소시키게 된다.
또한, 무선망에서 사용자 수와 채널 환경의 변화로 단말(100)과 서버(110) 사이의 하향링크 가용 밴드위스가 수시로 변할 수 있으며, 이러한 채널 변화는 서버(110)의 전송률 제어를 효율적으로 하기 어렵게 하는 경향이 있다.
도 2는 본 발명의 일 실시 예에 따른 통신 시스템의 구성을 도시한다. 상기 도면을 참고하면, 본 발명의 일 실시 예에 따른 통신 시스템은 무선망의 SAE-GW(System Architecture Evolution GW)(220)와 인터넷의 애플리케이션 서버(240) 사이에 위치한 서비스 프록시(proxy)(230)가 추정한 무선망 정보에 기초해 전송률을 제어하는 구조이다.
도 2에 도시된 바와 같이, eNB(evolved Node B)(210)는 사용자 단말(UE)(200)의 액세스 노드로 상기 UE(200)와 무선 채널로 연결된다. LTE에서는 인터넷 프로토콜을 통한 VoIP(Voice over IP)와 같은 실시간 서비스를 비롯한 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스되므로, UE들의 상황 정보를 취합해서 스케줄링을 하는 장치가 필요하며 이를 eNB(210)가 담당할 수 있다. 하나의 eNB(210)는 통상 다수의 셀 들을 제어한다. SAE-GW(220)는 서빙 게이트웨이(Serving Gateway: S-GW)와 패킷 데이터 네트워크 게이트웨이(Packet Data Network GW: PDN-GW)를 포함하는 패킷 코어(Packet Core)로, 인터넷과 같은 패킷 교환 망에 연결하는 노드이며, 단말의 이동성을 지원하고 IP 주소 할당을 지원한다.
네트워크상에는 외부의 애플리케이션 서버(240)로부터 데이터를 수신하여 SAE-GW(220)를 통해 기지국(210)으로 전송하는 프록시 서버(230)가 존재할 수 있다. 프록시 서버(230)는 데이터 전송 속도 향상을 위해 외부의 애플리케이션 서버(240)로부터 목록을 캐시 할 수 있다. 프록시 서버(230)는 사업자 제어 가능한 서버로, 이하에서는 프록시 서버(230)가 단말의 버퍼 상태 및 상향링크(UL) 망 상태를 예측하고, RAN 정보(기지국 상태 정보)를 수신하여, 상향링크 및 하향링크의 데이터 전송 속도를 제어하는 실시 예에 대해 구체적으로 설명한다. 그러나 데이터 전송 속도의 주체가 프록시 서버인 것은 일 실시 예에 불과할 뿐, 외부에 존재하는 애플리케이션 서버일 수도 있다.
도 3은 본 발명의 일 실시 예에 따라, 프록시 서버가 단말의 상향링크 데이터 전송 속도를 제어하는 방법을 나타내는 흐름도이다.
먼저, 단계 S300에서, 프록시 서버는 단말로부터 수신된 상향링크 데이터 패킷의 수신 속도를 결정한다. 예를 들어, 프록시 서버는 미리 결정된 특정 시간 동안 수신된 패킷의 개수를 카운팅하여, 상기 수신된 패킷의 상향링크 데이터 수신 속도를 결정할 수 있다.
단계 S310에서, 프록시 서버는 상기 결정된 수신속도를 기반으로 단말의 상향링크 데이터 전송 속도를 결정하는 데 사용되는 제어 파라미터 값을 결정한다. 이 제어 파라미터는 TCP의 흐름 제어 파라미터인 수신윈도우(receive window: rwnd)를 사용할 수 있다. TCP의 수신 윈도우(rwnd) 크기는
송신 측이 과도하게 데이터를 전송하여 수신 측의 수신 버퍼가 오버플로우(overflow)되는 것을 방지하기 위해, 송신 측으로 전달되는 정보이다.
프록시 서버는 상기 제어 파라미터의 값을 조절하여 단말의 상향링크 데이터 패킷 전송속도를 증가 또는 감소시킬 수 있다. 또한, 프록시 서버는 상향링크의 가용 대역폭을 추정하여 단말로부터의 수신속도와 추정된 상향링크 가용 밴드위스를 기반으로 상기 제어 파라미터의 값을 결정할 수 있다. 프록시 서버가 상기 제어 파라미터 값을 결정하는 방법에 대해서는 도 6과 도 7을 사용하여 상세히 설명할 것이다.
단계 S320에서, 프록시 서버는 상기 단계 S310에서 결정된 상기 제어 파라미터를 송신 측으로 전달한다. 상기 제어 파라미터 값은 단말로 전송되는 TCP ACK 패킷의 헤더에 포함되어 전달된다.
한편, 도 4는 본 발명의 일 실시 예에 따라, 프록시 서버가 기지국의 하향링크 데이터 전송 속도를 제어하는 방법을 나타내는 흐름도이다.
먼저, 단계 S400에서, 프록시 서버는 기지국으로부터 하향링크 전송속도와 기지국의 버퍼상태(예를 들어, RLC(Radio Link Control) 계층의 버퍼에 들어 있는 패킷의 바이트 수)에 대한 정보를 포함하는 무선 상태 정보를 수신할 수 있다. 그리고 단계 S410에서, 프록시 서버는 수신된 무선 상태 정보를 기반으로 상기 기지국의 하향링크 상태를 추정할 수 있다.
프록시 서버는 기지국으로부터 무선 상태 정보(Radio Access Network: RAN 정보)를 수신하고, 상기 수신된 정보를 이용하여 기지국의 RAN 상태를 분석하여 하향링크 트래픽 플로우(flow)의 수와 각 플로우 별 공정한(fair) 전송률을 예측할 수 있다. 프록시 서버가 기지국으로부터 수신하는 무선 상태 정보는 적어도 하향링크 전송 속도와 기지국의 RLC 계층의 queue 길이에 대한 정보를 포함할 수 있다.
상기 무선 상태 정보는 베어러 식별자(bearer identifier) 및 업데이트 인터벌(update interval) 중 적어도 하나의 정보를 더 포함할 수도 있다. 업데이트 인터벌은 기지국의 무산 상태 정보가 업데이트되는 주기를 나타낸다. 상기 무선 상태 정보가 베어러 식별자(bearer identifier) 또는 업데이트 인터벌을 포함하지 않는 경우, 프록시 서버는 베어러 식별자 또는 업데이트 인터벌을 예측할 수 있다. 프록시 서버가 베어러 식별자 또는 업데이트 인터벌을 예측하는 구체적인 방법에 대해서는 후술한다.
또한, 프록시 서버가 상술한 정보를 이용하여 기지국의 하향링크 상태를 추정하는 구체적인 방법에 대해서도 후술한다.
단계 S420에서, 프록시 서버는 추정된 하향링크 상태에 따라, 상기 기지국의 하향링크 전송 속도를 제어할 수 있다. 구체적으로 추정된 기지국의 하향링크 상태에 의해 각 플로우 별 공정한 전송률을 추정하고 기지국에서 패킷 유실을 일으키지 않는 최대 전송 데이터량을 예측하여 하향링크 전송률이 패킷 유실을 일으키지 않는 범위 내에서 신속하게 공정한 전송률에 도달하도록 제어한다.
한편, 도 5은 본 발명의 일 실시 예에 따른 프록시 서버의 구성요소를 도시한 블록도이다.
도 5에 도시된 바와 같이, 프록시 서버(500)는 TCP 전송 최적화 모듈(510) 및 프록시 기능 모듈(540)을 포함할 수 있다.
TCP 전송 최적화 모듈(510)은 단말의 상향링크 가용 밴드위스를 추정하여, 상기 단말의 상향링크 데이터 전송 속도를 제어하고, 기지국으로부터 무선 상태 정보를 수신하여 상기 수신한 무선 상태 정보를 이용하여 기지국의 하향링크 데이터 전송 속도를 제어할 수 있다.
상기의 각 기능을 수행하기 위해, TCP 전송 최적화 모듈(510)은 상향링크 추정 기반 전송 제어부(520) 및 RAN 정보 기반 전송 제어부(530)를 포함할 수 있다.
상향링크 추정 기반 전송 제어부(520)는 상향링크 경로(path) 추정부(521) 및 적응적인 파라미터 선택부(522)를 포함할 수 있다. 상향링크 추정 기반 전송 제어부(520)의 구체적인 구성에 대해서는 후술한다.
또한, RAN 정보 기반 전송 제어부(530)는 RAN 정보 관리부(531), 플로우 추정부(532), RAN 상태 분석부(533) 및 전송률 조정부(534)를 포함할 수 있다. RAN 정보 기반 전송 제어부(530)의 구체적인 구성에 대해서는 후술한다.
한편, 프록시 기능 모듈(540)은 일반적인 프록시 서버의 기능을 수행할 수 있다. 예를 들면, 프록시 기능 모듈(540)은 애플리케이션 서버로부터 데이터를 수신하여, S-GW를 통해 기지국으로 대신 전송할 수 있다.
한편, 도 6은 본 발명의 일 실시 예에 따라, 프록시 서버에서 단말의 상향링크 데이터 전송 속도를 제어하기 위한 구성요소를 구체적으로 도시한 블록도이다.
먼저, 단말로부터 데이터 패킷을 수신(610)할 수 있다. 프록시 서버는 단말이 전송하는 상향링크 데이터 패킷을 기지국을 통해 수신할 수 있다.
프록시 서버는 단말로부터 수신된 데이터 패킷의 전송 속도를 계산하여 단말의 상향링크 전송속도를 예측(620)할 수 있다.
단말의 상향링크 데이터 패킷의 전송 속도는 하기와 같은 수학식 1에 의해 예측될 수 있다.
Figure pat00001
상기 수학식 1에서, t k 는 수신된 데이터 패킷의 전송 속도를 예측하는 시간, n은 패킷의 수, s j 는 패킷 j의 크기를 의미한다.
데이터 패킷의 전송 속도를 예측하는 방법은 실시 예에 따라 하기 세 가지 방법이 사용될 수 있다.
첫 번째 방법은 단순히 기설정된 개수, n개의 샘플이 모이면, 그때마다 평균을 계산하는 방법이다. 첫 번째 방법에 의하는 경우, 예측된 데이터 패킷의 전송 속도는 계단함수(step function) 형태로 나타날 수 있다.
두 번째 방법은 패킷이 도착할 때마다 가장 오래전에 수신된 패킷은 제외하고 새로 수신된 패킷을 추가하여 기 설정된 개수의 샘플의 평균을 계산하는 방법이다.
예를 들어, 프록시 서버는 n1 패킷부터 n10 패킷까지 열 개의 패킷에 대해 평균 전송 속도를 예측하고, n11 패킷이 수신되면, n2 패킷부터 n11패킷까지 다시 열 개의 패킷에 대해 평균 전송 속도를 예측할 수 있다. 같은 방법으로, n12 패킷이 수신되면, n3 패킷부터 n12패킷까지 다시 열 개의 패킷에 대한 평균 전송 속도가 예측될 수 있다.
세 번째 방법은 평균을 예측하는 샘플의 개수를 n개에서 2n개로 증가시키면서 평균 전송 속도를 예측하고, 샘플의 개수가 2n개가 되면 먼저 수신된 n개의 샘플은 버리고 다시 n개에서 2n개로 샘플의 수를 증가시키면서 평균을 계산하는 방법이다.
예를 들어, 기설정된 샘플의 개수 n이 10개인 경우, 프록시 서버는 n1 패킷부터 n10 패킷까지 열 개의 패킷에 대해 평균 전송 속도를 예측하고, n11 패킷이 수신되면, n1 패킷부터 n11패킷까지 열한 개 개의 패킷에 대해 평균 전송 속도를 예측할 수 있다. 그리고 n12 패킷이 수신되면, n1 패킷부터 n12패킷까지 다시 열두 개의 패킷에 대한 평균 전송 속도가 예측될 수 있다.
상술한 방법에 의해, n19 패킷이 수신될 때까지 평균 전송 속도를 예측하기 위한 샘플의 개수는 한 개씩 증가될 수 있다. 그리고 n20 패킷이 수신되면, 프록시 서버는 다시 n11 패킷에서 시작하여 n30 패킷까지 샘플의 개수를 하나씩 증가시키면서 평균 전송 속도를 예측할 수 있다.
프록시 서버는 예측된 데이터 패킷의 전송 속도에 대해 평활화(smoothing)를 수행할 수 있다. 예를 들면, 프록시 서버는 하기의 수학식 2에 의해, 데이터 패킷의 전송 속도에 대해 평활화(smoothing)를 수행할 수 있다.
Figure pat00002
상기 수학식 2에서,
Figure pat00003
는 0 이상이고 1 미만인 조정 파라미터이다. 상기의 수학식 2에 따라 시간 k에서, 데이터 패킷의 전송 속도를 계산함으로써, 프록시 서버는 시간 k-1에서 예측된 데이터 패킷의 전송 속도를 반영할 수 있게 된다.
한편, 프록시 서버는 네트워크 경로(path)의 이용 가능한 밴드위스를 샘플링(630) 할 수 있다. 그리고 프록시 서버는 적응적으로 파라미터를 선택(640)할 수 있다. 상기 파라미터는 TCP의 흐름 제어 파라미터인 rwnd 값일 수 있다.
예를 들면, 단말의 상향링크 경로의 이용 가능한 밴드위스를 샘플링하기 위해, 프록시 서버는 단말로 제공되는 rwnd 값을 제어함으로써, 프록시 서버에 도착하는 단말의 상향링크 데이터 전송 속도(
Figure pat00004
)가 포화(saturation)하는지 여부를 판단할 수 있다.
구체적으로, 프록시 서버는 rwnd 값을 점차 증가시키면서 단말로 전송할 수 있다. 이때, rwnd 값의 증가량은 임의의 값일 수 있으며, 본 발명의 일 실시 예에서는 매 패킷마다 MSS(Maximum Segment Size)씩 증가시킨다. 증가하는 rwnd 값에 따라 단말로부터 수신되는 데이터 패킷의 전송 속도가 계속 증가하면, 프록시 서버는 단말의 상향링크 경로의 가용 밴드위스가 아직 남아있다고 판단할 수 있다.
프록시 서버가 rwnd 값을 더욱 증가시켜서 단말로 전송해도, 단말로부터 수신되는 데이터 패킷의 전송 속도가 더 이상 증가하지 않으면, 프록시 서버는 단말의 상향링크 데이터 전송 속도가 포화한 것으로 판단할 수 있다. 프록시 서버는 단말의 상향링크 데이터 전송속도가 포화한 것으로 판단될 때, 단말이 상향링크 경로의 이용 가능한 밴드위스를 모두 사용한 것으로 판단할 수 있다.
상기 단말의 상향링크 데이터 전송 속도가 포화된 경우, 프록시 서버는 감소한 rwnd 값을 단말로 전송하여, 상향 링크 데이터 전송 속도를 감소시킬 수 있다. 이때, rwnd 값의 감소량은 임의로 결정될 수 있으며, 본 발명의 일 실시 예에서는 rwnd = Ra * (1-b) 값으로 결정된다. 여기서, b는 0 보다 크고 1 이하의 상수이며, 예를 들어 0.25를 사용한다. 감소한 rwnd 값에 따라 단말의 상향링크 데이터 전송 속도가 감소하면, 프록시 서버는 다시 rwnd 값을 증가시킬 수 있다.
프록시 서버가 rwnd 값을 제어함으로써, 변경되는 단말의 상향링크 데이터 전송 속도를 개념적인 그래프로 나타내면 도 7과 같을 수 있다.
상술한 바와 같이 프록시 서버는 완충 적으로 단말이 최적의 상향링크 데이터 전송 속도를 유지하도록 제어할 수 있다.
한편, 도 8은 본 발명의 일 실시 예에 따라, 프록시 서버가 기지국의 하향링크 데이터 전송 속도를 제어하기 위한 구성요소를 구체적으로 도시한 블록도이다.
프록시 서버의 RAN 정보 관리부(800)는 기지국으로부터 하향링크 전송 속도 및 기지국 버퍼 상태에 대한 정보를 포함하는 무선 상태 정보를 수신할 수 있다.
프록시 서버가 기지국으로부터 수신하는 무선 상태 정보는 적어도 하향링크 전송 속도 및 기지국의 RLC 계층의 queue 길이에 대한 정보를 포함할 수 있다. 상기 무선 상태 정보는 베어러 식별자(bearer identifier) 및 업데이트 인터벌(update interval) 중 적어도 하나의 정보 또는 둘 다를 더 포함할 수도 있다. 그러나 상기 무선 상태 정보가 베어러 식별자(bearer identifier) 또는 업데이트 인터벌(update interval)을 포함하지 않는 경우, 프록시 서버는 플로우 추정(flow estimation)부(810)에서 베어러 식별자(bearer identifier) 또는 업데이트 인터벌(update interval)을 예측할 수 있다.
프록시 서버의 플로우 추정부(810)는 세션 관리부(820)에서 제공하는 TCP 세션의 시작과 종료에 대한 정보를 사용하여 현재 트래픽을 발생시키고 있는 액티브(active) 플로우의 개수(
Figure pat00005
)를 추정(811)할 수 있다. 프록시 서버는 세선 관리부(820)를 통해 각 세션의 시작과 종료를 모니터링하고 그 결과에 따라 베어러별로 하향링크 전송속도, RLC 계층의 queue 길이를 포함하는 정보 맵(information map)을 관리할 수 있다. 정보 맵은 베어러 식별자와 업데이트 인터벌을 포함할 수도 있다.
기지국으로부터의 무선 상태 정보에 베어러 식별자가 포함되어 있지 않으면, 프록시 서버는 베어러를 식별하는 과정을 수행할 수 있다. 구체적으로, 프록시 서버는 단말과의 새로운 TCP 세션이 시작되어 플로우가 시작되면 새로운 플로우가 기존에 등록된 베어러별 맵의 기록과 동일한지 체크하여 기존의 베어러에 속하는지 신규 베어러에 속하는지 여부를 체크할 수 있다. 예를 들면, 프록시 서버는 수신된 하향링크 전송 속도 및 RLC 계층의 queue 길이에 대한 정보가 이전에 수신한 하향링크 전송 속도 및 RLC 계층의 queue 길이와 상이한 경우, 새로운 플로우가 신규 베어러에 속하는 것으로 판단할 수 있다. 새로운 베어러가 식별되면 프록시 서버는 이 새로운 베어러에 대한 정보 맵을 구성한다.
또한, 프록시 서버는 예측한 플로우 개수(
Figure pat00006
)를 이용하여, 각 플로우별로 공정한(fair) 전송률(
Figure pat00007
)을 예측(812)할 수 있다. 예를 들면, 프록시 서버는 기지국으로부터 수신된 무선 상태 정보에 포함된 하향링크 전송 속도에 RTT(round tirp time)를 곱해서, 한 RTT 동안에 전송 가능한 데이터량(Bdl)을 결정할 수 있다. RTT 값은 프록시 서버와 단말 사이의 최소 RTT를 추정하여 사용될 수 있다.
프록시 서버는 결정된 데이터량(Bdl)을 예측한 플로우 개수(
Figure pat00008
)로 나눠서 플로우 별 공정한 전송률(
Figure pat00009
)을 예측할 수 있다. 구체적으로는, 수학식 3과 같이 나타낼 수 있다.
Figure pat00010
한편, 프록시 서버는 업데이트 인터벌(
Figure pat00011
)을 예측(813)할 수 있다. 예를 들면, 프록시 서버는 기지국에서 수신되는 각 베어러별로 기록이 처음으로 이전의 값과 달라지는 시점(t k )을 추적할 수 있다. 따라서, 프록시 서버는 하기의 수학식 4에 따라 업데이트 인터벌(
Figure pat00012
)을 예측(813)할 수 있다.
Figure pat00013
상술한 방법에 의해 예측된 값들을 이용하여, 프록시 서버는 RAN 상태를 분석할 수 있다. 구체적으로, 하기의 수학식 5와 같이, 프록시 서버는 추정된 플로우 수와 각 플로우 별 추정된 공정한 전송률을 기반으로 기지국 버퍼를 오버플오우(overflow) 시키지 않을 만큼의 하향링크 데이터 량을 예측할 수 있다.
Figure pat00014
상기
Figure pat00015
은 추정된 액티브 플로우의 개수,
Figure pat00016
는 추정된 플로우 별 공정한 전송률, T i 는 플로우 i의 피드백 인터벌(interval),
Figure pat00017
는 이용 가능한 기지국의 버퍼량을 의미한다.
상기와 같이, 액티브 플로우 수, 각 플로우 별 공정한 전송률, 그리고 현재 기지국 버퍼를 오버플로우 시키지 않을 만큼의 데이터량이 추정되면, 프록시 서버는 현재 각 플로우의 전송률을 추정된 공정한 전송률과 비교하여 기지국 버퍼의 오버플로우를 최소화하며 신속하게 공정한 전송률만큼 전송할 수 있도록 하향링크 전송률을 제어할 수 있다.
구체적으로, 시간 k-1에서의 전송률 W k-1 이 시간 k에서 추정된 공정한 전송률
Figure pat00018
보다 작으면 하기 수학식 6에 따라 전송 속도를 증가시킨다.
Figure pat00019
상기 W k 는 시간 k에서의 새로운 전송 속도, W k- 1 는 이전 시간 k-1에서의 전송 속도,
Figure pat00020
는 시간 k에 추정된 기지국 버퍼를 오버플로우 시키지 않으면서 기지국으로 보낼 수 있는 최대의 데이터량 및
Figure pat00021
는 시간 k에 예측된 플로우의 개수를 의미한다.
Figure pat00022
는 상기 수학식 5를 의미하므로, 상기 수학식 6은 상기 수학식 5를 이용하여, 하기의 수학식 7과 같이 변형될 수도 있다.
Figure pat00023
만약에 시간 k-1에서의 전송률 W k-1 이 추정된 공정한 전송률
Figure pat00024
보다 크거나 같으면 상기 프록시 서버는 시간 k의 전송률을
Figure pat00025
로 설정하여 신속하게 공정한 전송률을 따라가도록 전송률을 낮춘다.
상술한 방법에 의해, 프록시 서버는 신속하고 공정하게 가용 밴드위스를 이용하도록 제어함으로써, 무선망의 하향링크 쓰루풋(throughput)을 향상시킬 수 있게 된다.
한편, 상술한 다양한 실시 예들에 따른 서버의 전송속도 제어 방법은 소프트웨어로 코딩되어 비일시적 판독 가능 매체(non-transitory readable medium)에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
100: 단말 110: 서버

Claims (20)

  1. 서버의 제어 방법에 있어서,
    단말로부터 수신된 제1 패킷의 상향링크 데이터 수신 속도를 결정하는 단계;
    상향 링크 데이터 수신 속도가 증가하도록 제어하는 제1 파라미터를 전송하는 단계;
    상기 전송된 제1 파라미터에 의해 수신된 제2 패킷의 상향링크 데이터 수신 속도가 증가하는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기반하여, 상향링크 데이터 수신 속도를 변경하도록 제어하도록 제2 파라미터를 전송하는 단계; 를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제2 파라미터를 전송하는 단계는,
    상기 수신된 제2 패킷의 상향링크 데이터 수신 속도가 증가한 경우, 상기 상향 링크 데이터 수신 속도가 증가하도록 제어하는 파라미터를 전송하는 단계; 및
    상기 수신된 제2 패킷의 상향링크 데이터 수신 속도가 증가하지 않은 경우, 상기 상향 링크 데이터 수신 속도가 감소하도록 제어하는 파라미터를 전송하는 단계; 를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 상향링크 데이터 수신 속도는,
    임계 시간 동안 상기 단말로부터 수신된 데이터 패킷의 개수에 대한 비율을 상기 상향링크 데이터 수신 속도로 결정하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 상향링크 데이터 수신 속도는,
    이전 임계 시간 동안 결정된 제1 상향링크 데이터 수신 속도 및 현재 임계 시간 동안 결정된 제2 데이터 수신 속도를 기설정된 비율에 따라 합산하여, 상기 상향링크 데이터 수신 속도로 결정하는 것을 특징으로 하는 방법.
  5. 서버의 제어 방법에 있어서,
    기지국으로부터 제1 하향링크 전송 속도 및 제1 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신하는 단계;
    상기 수신된 무선 통신 정보를 기반으로 상기 기지국의 하향링크 데이터 량을 예측하는 단계;
    상기 예측된 하향링크 데이터 량에 따라 상기 기지국의 하향링크 전송 속도를 제어하는 단계; 를 포함하는 방법.
  6. 제5항에 있어서,
    상기 하향링크 데이터 량을 예측하는 단계는,
    상기 기지국으로부터 데이터가 수신되는 플로우(flow)의 개수를 예측하는 단계;
    상기 기지국으로부터 상기 무선 통신 정보가 수신되는 업데이트 인터벌(update interval)을 예측하는 단계;
    상기 예측된 플로우 개수를 이용하여 플로우 전송률을 예측하는 단계; 및
    상기 예측된 플로우 전송률 및 상기 업데이트 인터벌을 이용하여 상기 하향링크 데이터 량을 예측하는 단계; 를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 플로우(flow)의 개수를 예측하는 단계는,
    상기 기지국으로부터 제2 하향링크 전송 속도 및 제2 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신하는 단계;
    상기 제2 하향링크 전송 속도 및 상기 제2 RLC 메모리 크기에 대한 정보 중 적어도 하나가 상기 제1 하향링크 전송 속도 및 상기 제1 RLC 메모리 크기에 대한 정보 중 적어도 하나와 상이한 경우, 상기 제2 하향링크 전송 속도 및 제2 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보가 새로운 베어러(bearer)를 통해 수신된 것으로 판단하는 단계; 및
    상기 판단결과를 이용하여, 플로우 개수를 예측하는 단계; 를 더 포함하는 것을 특징으로 하는 방법.
  8. 제6항에 있어서,
    상기 업데이트 인터벌(update interval)을 예측하는 단계는,
    상기 제1 하향링크 전송 속도 및 제1 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신한 제1 시점을 판단하는 단계;
    제2 하향링크 전송 속도 및 제2 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신한 제2 시점을 판단하는 단계; 및
    상기 제1 시점 및 제2 시점을 기반으로 업데이트 인터벌(update interval)을 예측하는 단계; 를 포함하는 것을 특징으로 하는 방법.
  9. 제5항에 있어서,
    상기 제어하는 단계는,
    상기 예측된 하향링크 데이터 량이 상기 기지국의 이용 가능한 메모리 량을 초과하지 않는 경우, 상기 기지국의 하향링크 데이터 전송 속도를 증가하도록 제어하는 것을 특징으로 하는 방법.
  10. 제5항에 있어서,
    상기 제어하는 단계는,
    Figure pat00026

    (
    Figure pat00027
    은 전송 플로우의 개수,
    Figure pat00028
    는 예측된 플로우 i의 전송률, T i 는 플로우 i의 피드백 인터벌(interval),
    Figure pat00029
    는 이용 가능한 메모리 량)
    상기 수학식을 만족하는 경우, 전송 속도를 증가하도록 제어하는 것을 특징으로 하는 방법.
  11. 서버에 있어서,
    신호를 송수신하는 송수신부; 및
    단말로부터 수신된 제1 패킷의 상향링크 데이터 수신 속도를 결정하고, 상향 링크 데이터 수신 속도가 증가하도록 제어하는 제1 파라미터를 전송하도록 제어하며, 상기 전송된 제1 파라미터에 의해 수신된 제2 패킷의 상향링크 데이터 수신 속도가 증가하는지 여부를 판단하고, 상기 판단 결과에 기반하여, 상향링크 데이터 수신 속도를 변경하도록 제어하도록 제2 파라미터를 전송하도록 제어하는 제어부; 를 포함하는 서버.
  12. 제11항에 있어서,
    상기 제어부는,
    상기 수신된 제2 패킷의 상향링크 데이터 수신 속도가 증가한 경우, 상기 상향 링크 데이터 수신 속도가 증가하도록 제어하는 파라미터를 전송하도록 제어하고,
    상기 수신된 제2 패킷의 상향링크 데이터 수신 속도가 증가하지 않은 경우, 상기 상향 링크 데이터 수신 속도가 감소하도록 제어하는 파라미터를 전송하도록 제어하는 것을 특징으로 하는 서버.
  13. 제11항에 있어서,
    상기 상향링크 데이터 수신 속도는,
    임계 시간 동안 상기 단말로부터 수신된 데이터 패킷의 개수에 대한 비율을 상기 상향링크 데이터 수신 속도로 결정하는 것을 특징으로 하는 서버.
  14. 제13항에 있어서,
    상기 상향링크 데이터 수신 속도는,
    이전 임계 시간 동안 결정된 제1 상향링크 데이터 수신 속도 및 현재 임계 시간 동안 결정된 제2 데이터 수신 속도를 기설정된 비율에 따라 합산하여, 상기 상향링크 데이터 수신 속도로 결정하는 것을 특징으로 하는 서버.
  15. 서버에 있어서,
    신호를 송수신하는 송수신부; 및
    기지국으로부터 제1 하향링크 전송 속도 및 제1 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신하도록 제어하고, 상기 수신된 무선 통신 정보를 기반으로 상기 기지국의 하향링크 데이터 량을 예측하며, 상기 예측된 하향링크 데이터 량에 따라 상기 기지국의 하향링크 전송 속도를 제어하는 제어부; 를 포함하는 서버.
  16. 제15항에 있어서,
    상기 제어부는,
    상기 기지국으로부터 데이터가 수신되는 플로우(flow)의 개수를 예측하고, 상기 기지국으로부터 상기 무선 통신 정보가 수신되는 업데이트 인터벌(update interval)을 예측하며, 상기 예측된 플로우 개수를 이용하여 플로우 전송률을 예측하고, 상기 예측된 플로우 전송률 및 상기 업데이트 인터벌을 이용하여 상기 하향링크 데이터 량을 예측하는 것을 특징으로 하는 서버.
  17. 제16항에 있어서,
    상기 제어부는,
    상기 기지국으로부터 제2 하향링크 전송 속도 및 제2 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신하도록 제어하고, 상기 제2 하향링크 전송 속도 및 상기 제2 RLC 메모리 크기에 대한 정보 중 적어도 하나가 상기 제1 하향링크 전송 속도 및 상기 제1 RLC 메모리 크기에 대한 정보 중 적어도 하나와 상이한 경우, 상기 제2 하향링크 전송 속도 및 제2 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보가 새로운 베어러(bearer)를 통해 수신된 것으로 판단하며, 상기 판단결과를 이용하여, 플로우 개수를 예측하는 것을 특징으로 하는 서버.
  18. 제16항에 있어서,
    상기 제어부는,
    상기 제1 하향링크 전송 속도 및 제1 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신한 제1 시점을 판단하고, 제2 하향링크 전송 속도 및 제2 RLC 메모리 크기에 대한 정보를 포함하는 무선 통신 정보를 수신한 제2 시점을 판단하며, 상기 제1 시점 및 제2 시점을 기반으로 업데이트 인터벌(update interval)을 예측하는 것을 특징으로 하는 서버.
  19. 제15항에 있어서,
    상기 제어부는,
    상기 예측된 하향링크 데이터 량이 상기 기지국의 이용 가능한 메모리 량을 초과하지 않는 경우, 상기 기지국의 하향링크 데이터 전송 속도를 증가하도록 제어하는 것을 특징으로 하는 서버.
  20. 제15항에 있어서,
    상기 제어부는,
    Figure pat00030

    (
    Figure pat00031
    은 전송 플로우의 개수,
    Figure pat00032
    는 예측된 플로우 i의 전송률, T i 는 플로우 i의 피드백 인터벌(interval),
    Figure pat00033
    는 이용 가능한 메모리 량)
    상기 수학식을 만족하는 경우, 전송 속도를 증가하도록 제어하는 것을 특징으로 하는 서버.
KR1020160089143A 2016-07-14 2016-07-14 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치 KR20180007794A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160089143A KR20180007794A (ko) 2016-07-14 2016-07-14 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치
US16/316,829 US10952102B2 (en) 2016-07-14 2017-07-12 Method and apparatus for controlling data transmission speed in wireless communication system
PCT/KR2017/007429 WO2018012858A1 (ko) 2016-07-14 2017-07-12 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치
EP17827928.7A EP3471458B1 (en) 2016-07-14 2017-07-12 Method and apparatus for controlling data transmission speed in wireless communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160089143A KR20180007794A (ko) 2016-07-14 2016-07-14 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180007794A true KR20180007794A (ko) 2018-01-24

Family

ID=60953157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160089143A KR20180007794A (ko) 2016-07-14 2016-07-14 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치

Country Status (4)

Country Link
US (1) US10952102B2 (ko)
EP (1) EP3471458B1 (ko)
KR (1) KR20180007794A (ko)
WO (1) WO2018012858A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7078850B2 (ja) * 2018-07-23 2022-06-01 日本電信電話株式会社 ネットワーク制御装置及びネットワーク制御方法
US10728138B2 (en) 2018-12-21 2020-07-28 At&T Intellectual Property I, L.P. Analytics enabled radio access network (RAN)- aware content optimization using mobile edge computing
CN111343669A (zh) * 2020-03-10 2020-06-26 中国联合网络通信集团有限公司 一种报文调度方法及装置
EP4117371A1 (en) * 2021-07-08 2023-01-11 Huawei Technologies Co., Ltd. Congestion control method, apparatus, and system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594238B1 (en) 1998-06-19 2003-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dynamically adapting a connection state in a mobile communications system
US7477604B2 (en) * 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
KR100712323B1 (ko) * 2003-10-02 2007-05-02 삼성전자주식회사 패킷 통신 시스템에서 빠른 전송율 변화를 지원하는 역방향 전송율 스케쥴링 방법 및 장치
KR100762650B1 (ko) * 2005-03-10 2007-10-01 삼성전자주식회사 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치
US7480488B2 (en) * 2005-08-02 2009-01-20 Texas Instruments Incorporated Providing optimal uplink data rates to mobile stations when mobile networks send parameters controlling the data rates
JP4751673B2 (ja) 2005-08-29 2011-08-17 株式会社エヌ・ティ・ティ・ドコモ 伝送速度制御方法及び移動局
WO2009058078A1 (en) * 2007-11-01 2009-05-07 Telefonaktiebolaget L M Ericsson (Publ) Limiting rlc window size in the hsdpa flow control
US8873385B2 (en) * 2010-12-07 2014-10-28 Microsoft Corporation Incast congestion control in a network
US20140250168A1 (en) 2011-07-14 2014-09-04 Ayodele Damola Optimization engine in a mobile cloud accelerator and related methods
KR102284050B1 (ko) 2014-09-11 2021-07-30 삼성전자주식회사 무선통신 시스템에서 전자 장치의 트래픽 제어 방법 및 장치

Also Published As

Publication number Publication date
EP3471458B1 (en) 2022-05-18
EP3471458A4 (en) 2019-08-21
US10952102B2 (en) 2021-03-16
US20190297536A1 (en) 2019-09-26
EP3471458A1 (en) 2019-04-17
WO2018012858A1 (ko) 2018-01-18

Similar Documents

Publication Publication Date Title
EP3753235B1 (en) Method and system for handling data path creation in wireless network system
JP6178523B2 (ja) 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ
KR102021451B1 (ko) 사용자 평면 인사이트에 기초하는 스루풋 안내
US10911359B2 (en) Transmit data volume control device, method, and recording medium
US10057147B2 (en) Apparatus and method for controlling data flow in communication system
KR102350504B1 (ko) 통신 시스템에서 하향링크 전송률 제어를 위한 장치 및 방법
US10033653B2 (en) Controlling a transmission control protocol congestion window size
KR20150089853A (ko) 이종 무선망에서 트래픽 분산 제어방법 및 장치
WO2016068308A1 (ja) ゲートウェイ装置及びゲートウェイ装置の制御方法
US10952102B2 (en) Method and apparatus for controlling data transmission speed in wireless communication system
CN112995048A (zh) 数据中心网络的阻塞控制与调度融合方法及终端设备
Ko et al. A handover-aware seamless video streaming scheme in heterogeneous wireless networks
CN104580006B (zh) 一种移动网络发送速率控制方法、装置及系统
US11695847B2 (en) Throughput guidance based on user plane insight
WO2019124290A1 (ja) 送信データ量制御装置、方法および記録媒体
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
KR20150125471A (ko) 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치
US11184803B2 (en) Data transmission device, method and recording medium
JP6544353B2 (ja) 送信データ量制御装置、制御システム、制御方法および制御プログラム
Kim Techniques for end-to-end TCP performance enhancement over wireless networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal