KR20170014967A - 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법 - Google Patents

무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20170014967A
KR20170014967A KR1020150109067A KR20150109067A KR20170014967A KR 20170014967 A KR20170014967 A KR 20170014967A KR 1020150109067 A KR1020150109067 A KR 1020150109067A KR 20150109067 A KR20150109067 A KR 20150109067A KR 20170014967 A KR20170014967 A KR 20170014967A
Authority
KR
South Korea
Prior art keywords
data
information
terminal
size
tcp
Prior art date
Application number
KR1020150109067A
Other languages
English (en)
Other versions
KR102406264B1 (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 KR1020150109067A priority Critical patent/KR102406264B1/ko
Priority to US15/224,059 priority patent/US10523574B2/en
Publication of KR20170014967A publication Critical patent/KR20170014967A/ko
Application granted granted Critical
Publication of KR102406264B1 publication Critical patent/KR102406264B1/ko

Links

Images

Classifications

    • 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
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • 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/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • 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/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • 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
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • 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/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 제공될 5G 또는 pre-5G 통신 시스템에 관련된 것이다. 본 발명의 실시 예에 따른 무선 통신 시스템에서 송신 장치는, 망 정보에 기초하여 송신 가능한 데이터의 최대 크기를 결정하고, 상기 송신 가능한 데이터의 크기에 기초하여 복수의 전송 제어 프로토콜(transmission control protocol, TCP) 연결들 각각의 전송 속도를 결정하는 제어부와, 상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하는 통신부를 포함한다. 본 발명의 실시 예에 따른 무선 통신 시스템의 수신 장치는, 수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하는 제어부와, 상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하는 통신부를 포함한다.

Description

무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법 {APPARATUS AND METHOD FOR CONTROLLING DATA TRANSMISSION SPEED IN WIRELESS COMMUNICATION SYSTEM}
본 발명은 무선 통신 시스템에서 데이터 송신 속도를 제어하는 기술에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non orthogonal multiple access), 및SCMA(sparse code multiple access) 등이 개발되고 있다.
무선 통신 시스템에서 전송 제어 프로토콜(transmission control protocol, TCP) 방식으로, 송신 장치가 데이터를 송신할 경우, 상기 송신 장치는 초기의 혼잡 윈도우(congestion window, CWND) 이상의 크기의 데이터를 송신할 수 없다. 따라서, TCP 방식으로 데이터를 송신할 경우, 데이터 송신의 효율이 낮아질 수 있다.
본 발명의 다양한 실시 예들은, 최대의 속도로 데이터를 송수신하고, 상기 송신 장치의 통신 대기 지연을 최소화하기 위한 데이터의 송신 속도를 제어하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다양한 실시 예들은, 무선 접속 네트워크 정보에 기초하여 상향링크 전송 제어 프로토콜(transmission control protocol, TCP)의 속도를 향상시키기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다양한 실시 예들은, 상향링크 전송 제어 프로토콜들 각각의 어플리케이션의 서비스 품질(quality of service, QoS)의 가중치를 고려하여 차별화된 속도를 통해 사용자의 만족도를 향상시키기 위한 장치 및 방법을 제공함에 있다.
본 발명의 실시 예에 따른 무선 통신 시스템에서 송신 장치는, 프로세서와, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행시에, 상기 프로세서가, 망 정보에 기초하여 전송 단위 별 전송 가능한 데이터의 최대 크기를 결정하고, 상기 데이터의 최대 크기에 기초하여 복수의 전송 제어 프로토콜(transmission control protocol, TCP) 연결들 각각의 전송 속도를 결정하고, 상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하도록 하는 인스트럭션(instruction)들을 저장한다.
본 발명의 실시 예에 따른 무선 통신 시스템에서 수신 장치는, 프로세서와, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행시에, 상기 프로세서가, 수신된 패킷의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하고, 상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하도록 하는 인스트럭션들을 저장한다.
본 발명의 실시 예에 따른 무선 통신 시스템에서 송신 장치의 동작 방법은, 망 정보에 기초하여 전송 단위 별 송신 가능한 데이터의 최대 크기를 결정하는 과정과, 상기 송신 가능한 데이터의 최대 크기에 기초하여 복수의 전송 제어 프로토콜 연결들 각각의 전송 속도를 결정하는 과정과, 상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하는 과정을 포함한다.
본 발명의 실시 예에 따른 무선 통신 시스템의 수신 장치의 동작 방법은, 수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하는 과정과, 상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하는 과정을 포함한다.
본 발명의 실시 예에 따른 무선 통신 시스템에서 송신 장치는, 망 정보에 기초하여 전송 단위 별 송신 가능한 데이터의 최대 크기를 결정하고, 상기 송신 가능한 데이터의 크기에 기초하여 복수의 전송 제어 프로토콜 연결들 각각의 전송 속도를 결정하는 제어부와, 상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하는 통신부를 포함한다.
본 발명의 실시 예에 따른 무선 통신 시스템의 수신 장치는, 수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하는 제어부와, 상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하는 통신부를 포함한다.
도 1은 본 발명의 실시 예에 따른 무선 통신 시스템의 환경을 도시한다.
도 2는 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말의 동작을 도시한다.
도 3은 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말, 기지국, 서버 간의 신호 흐름도이다.
도 4는 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말이 복수의 전송 제어 프로토콜(transmission control protocol, TCP)들 각각의 혼잡 윈도우(congestion window, CWND)를 제어하는 동작을 도시한다.
도 5는 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말의 블록 구성도이다.
도 6은 본 발명의 실시 예에 따른 무선 통신 시스템에서 기지국의 블록 구성도이다.
도 7은 본 발명의 실시 예에 따른 무선 통신 시스템에서 서버의 블록 구성도이다.
도 8은 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말의 동작 순서도이다.
도 9는 본 발명의 실시 예에 따른 무선 통신 시스템에서 기지국의 동작 순서도이다.
도 10은 본 발명의 실시 예에 따른 무선 통신 시스템에서 서버의 동작 순서도이다.
도 11은 본 발명의 다른 실시 예에 따른 무선 통신 시스템에서 서버의 동작 순서도이다.
도 12는 본 발명의 실시 예에 따른 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 단말의 동작을 도시한다.
도 13은 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말이 송신 벌크를 결정하는 동작을 도시한다.
도 14는 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말이 송신 큐(queue)의 상태를 감시하는 동작을 도시한다.
도 15는 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말이 TCP 계층을 제어하는 동작을 도시한다.
도 16은 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말이 결정한 송신 벌크의 크기에 기초하여 각각의 TCP의 CWND를 결정하는 동작을 도시한다.
도 17은 본 발명의 실시 예에 따른 무선 통신 시스템에서 서비스에 대한 가중치를 설정하기 위한 사용자 인터페이스(user interface)를 도시한다.
도 18은 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말이 각각의 TCP 연결의 CWND를 제어하는 동작을 도시한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명은 무선 통신 시스템에서 전송 속도를 제어하기 위한 기술에 대하여 설명한다.
도 1은 본 발명의 실시 예에 따른 무선 통신 시스템의 환경을 도시한다.
상기 도 1을 참고하면, 본 발명의 실시 예에 따른 상기 무선 통신 시스템은, 단말 100, 기지국 200, 서버 300을 포함한다.
상기 단말 100은, 상기 기지국 200과 통신할 수 있는 기능을 구비한 전자 장치이다. 예를 들어, 상기 단말 100은, 스마트폰(smart phone), 휴대용 단말기(portable terminal), 이동 전화(mobile phone),이동 패드(mobile pad), 미디어 플레이어(media player), 태블릿 컴퓨터(tablet computer), 핸드헬드 컴퓨터(handheld computer), PDA(Personal Digital Assistant), 무선 컨트롤러(wireless controller), 웨어러블 장비(wearable device) 중 하나일 수 있고, 또한, 상기 상술한 장치들 중 둘 이상의 기능들을 결합한 장치일 수 있다.
상기 기지국 200은, 상기 단말 100과 통신할 수 있는 기능을 구비한 전자 장치이다. 상기 기지국 200은, eNB, 또는 eNodeB 또는 접속점(access point, AP)로 지칭될 수 있다. 예를 들어, 상기 기지국 200은, 상기 단말 100과 이동 통신 망을 통해 데이터를 송수신할 경우, 상기 eNB 또는 상기 eNodeB 일 수 있다. 또한, 상기 기지국 200은, 상기 단말 100과 무선 랜(local area network, LAN)을 통해 데이터를 송수신할 경우, 상기 접속점이 될 수 있다.
상기 단말 100 및 상기 기지국 200간의 통신 연결은 블루투스(bluetooth), BLE(Bluetooth Low Energy), NFC(Near Field Communication), Wi-Fi(Wireless Fidelity), WiGig(Wireless Gigabit), Zigbee, UWB(Ultra WideBand), IrDA(Infrared Data Association), VLC(Visible Light Communication), GSM(Global System for Mobile communication), EDGE(Enhanced Data GSM Environment), CDMA(Code Division Multiple Access), LTE(Long Term Evolution) 중 적어도 하나에 기초하여 수행될 수 있다.
서버 300은, 통신 네트워크에서 적어도 하나의 단말에 서비스를 제공하기 위한 통신 장치를 의미한다. 상기 서버 300은, 인터넷 망을 통해 상기 기지국 200과 통신을 수행할 수 있다.
상기 단말 100은, 상기 기지국 200과 데이터를 송수신할 수 있다. 상기 단말 100은, 전송 제어 프로토콜 방식으로 상기 기지국 200으로 데이터를 송신(101)할 수 있다. 상기 단말 100은, 상기 전송 제어 프로토콜 방식을 통해, 상기 기지국 200으로 데이터를 송신(103)한 후, 상기 서버가 송신한 응답(acknowledge, ACK)을 수신(107)할 수 있다. 상기 단말 100은, 상기 기지국 200을 통해 TCP ACK을 수신(107)한 후, 상기 전송 제어 프로토콜의 전송 속도인 혼잡 윈도우(congestion window, CWND)를 제어할 수 있다. 또한, 상기 단말 100은, 데이터 패킷을 송신할 수 있는지 여부를 알리는 전송 윈도우 슬라이드(send window slide)를 동작시킬 수 있다. 따라서, 상기 단말 100은, 상기 TCP ACK이 수신되기 전에는, 상기 CWND를 제어할 수 없다. 또한, 상기 단말 100은, 상기 TCP ACK이 수신되기 전에는, 상기 데이터 패킷을 송신할 수 없다.
무선 기술의 발전에 따라, 무선 네트워크를 통해 데이터를 송수신하는 속도가 증가하고 있다. 이에 따라 TCP의 CWND 제어 방식은, 증가하는 데이터의 송수신 속도에 적합하지 않을 수 있다. 예를 들어, LTE 환경에서는 상기 단말 100은, 단위 송신 시간 구간(transmission time interval, TTI) 109에 송신 가능한 데이터량이 상향링크에서 초기의 CWND 보다 클 수 있다.
상기 단말 100은, 상기 TCP 방식에서는, 상기 TCP ACK이 기지국 200으로부터 수신될 때까지의 패킷 왕복 시간(round trip time, RTT) 111 동안, 초기의 CWND 이상의 데이터를 전송하지 않는다. 다시 말해, 상기 단말 100은, 상기 데이터가 상기 기지국 200으로 송신(101)되고, 상기 기지국 200이 상기 서버 300으로 상기 데이터를 송신(103)한 후, 상기 기지국 200이 상기 서버 300으로부터 응답을 수신(105)하고, 상기 단말 100이 상기 기지국 200으로부터 상기 응답을 수신(107)할 때까지, 상기 초기의 CWND 이상의 데이터를 전송하지 않는다.
즉, 상기 단말 100은, 무선 네트워크에서 데이터를 송신할 수 있음에도 불구하고, TCP CWND의 제약으로 인하여, 약 10 내지 100회(= RTT / TTI)의 송신 시간 구간 동안, 데이터를 송신하지 않는다.
상기 단말 100이, 상기 무선 랜을 이용할 경우, 상기 셀룰러 네트워크를 이용하는 경우보다, TCP 패킷과 같은 데이터를 송수신하기 위해 필요한 MAC 계층에 많은 오버헤드가 발생할 수 있다. 예를 들어, 상기 단말 100은, 상기 무선 랜에서, 1개의 데이터 프레임을 전송하기 위해, RTS(request to send), CTS(clear to send), BAR(Block ACK Request), BA(Block ACK)와 같은 MAC 컨트롤 프레임, SIFS(short inter-frame space), DIFS(distributed inter-frame space)와 같은 프레임 간격 및, 백-오프(back-off) 시간으로 구성된 MAC 계층의 오버헤드가 필요하다. 그런데, 상기 MAC 계층의 오버헤드의 크기는 고정적이나, 데이터 프레임의 크기인 최대 집합 크기(aggregation size)는 가변적이다. 따라서, 상기 MAC 계층의 오버헤드의 비율은 상기 최대 집합 크기에 반비례할 수 있다. 즉, 상기 단말 100은, 데이터 당 상기 MAC 계층의 오버헤드의 비율을 줄이기 위해서는, 데이터 프레임의 크기를 가능한 크게 해야 한다. 그러나, 상기 단말 100은, 낮은 TCP CWND에 의해, TCP 데이터를 무선 랜으로 송신하지 않기 때문에, 상기 단말 100은, 상기 무선 랜에서 용량이 큰 데이터 프레임을 송신할 수 없다. 따라서, 상기 단말 100이 속한 상기 무선 랜의 전체적인 데이터 송수신 효율이 낮아질 수 있다.
도 2는 본 발명의 실시 예에 따른 무선 통신 시스템에서 단말의 동작을 도시한다.
상기 도 2를 참고하면, 본 발명의 실시 예에 따른 상기 단말 100은, 서버 300으로부터, 상기 기지국 200을 통해, 종단간(end-to-end, E2E) 경로에 관한 정보 201을 수신할 수 있다. 상기 단말 100은, 상기 단말 100의 상향링크 무선 링크 제어(radio link control, RLC) 버퍼(buffer) 상태 정보 203 및 상향링크 MAC 파라미터 정보 305를 결정할 수 있다. 상기 단말 100은, 상기 RLC 버퍼 상태 정보 203 또는 상기 MAC 파라미터 정보 205, 즉, 무선 접속 네트워크(radio access network)에 관한 정보에 기초하여 벌크(bulk)의 크기를 결정(207)할 수 있다.
상기 단말 100은, 결정된 벌크 크기를 구성하기 위한 데이터를 요청(209)할 수 있다. 상기 단말 100은, 상기 무선 접속 네트워크에 관한 정보에 기초하여 TCP 송신 속도를 제어(211)할 수 있다. 예를 들어, 상기 단말 100은, 상기 결정된 벌크의 크기에 기초하여 TCP CWND를 제어할 수 있다. 상기 단말 100은, 상기 TCP CWND를 제어함으로써, 데이터의 송수신 속도를 증가시킬 수 있다. 예를 들어, 상기 단말 100은, 셀룰러 네트워크를 이용할 경우, 무선 링크 제어의 상향링크 버퍼 정보에 기초하여 상기 벌크의 크기를 결정할 수 있다. 상기 단말 100은, 무선 랜을 사용할 경우, MAC의 상향링크 버퍼 정보에 기초하여 상기 벌크의 크기를 결정할 수 있다. 상기 단말 100은, 상기 벌크의 크기에 기초하여 복수의 TCP 연결들 각각의 송신 속도를 결정할 수 있다.
상기 단말 100은, TCP가 위치한 운영체제에서 상기 단말 100이 사용할 수 있는 최적의 벌크 크기를 결정할 수 있다. 상기 단말 100은, 상기 결정된 벌크 크기에 기초하여 복수의 TCP 연결들 각각의 CWND를 결정할 수 있다. 다시 말해, 상기 단말 100은, 상기 결정된 벌크 크기에 기초하여 상기 복수의 TCP 연결들 각각의 전송 속도를 결정하여, 상기 복수의 TCP 연결들 각각이 송신하는 데이터를 크기를 결정할 수 있다.
상기 단말 100은, 무선 네트워크에서, TCP 연결의 초기 상태에서 상기 무선 네트워크를 통해 송신할 수 있는 최대의 송신 속도로 상향링크를 통해 데이터를 송신할 수 있다. 또한, 상기 단말 100은, 상기 단말 100의 송신 버퍼에서 대기 지연 시간을 최소할 수 있다.
도 3은 본 발명의 실시 예에 따른 단말, 기지국, 서버 간의 신호의 흐름도이다.
상기 도 3을 참고하면, 단말 100은, 최적의 송신 벌크의 크기를 추정(301)할 수 있다. 예를 들어, 단말 100은, 무선 망 정보에 기초하여, 상기 송신 벌크의 크기를 결정할 수 있다.
단말 100은, 상기 결정된 송신 벌크 크기에 기초하여 단말 100의 TCP 연결의 CWND를 제어(303)할 수 있다. 즉, 단말 100은, 상기 TCP 연결의 전송 속도를 결정할 수 있다. 본 발명의 실시 예에 따라, 단말 100은, 단말 100의 복수의 TCP 연결들 각각의 CWND를 제어할 수 있다.
단말 100은, 상기 전송 속도가 결정된 TCP 연결을 통해, 기지국 100으로 패킷을 송신(305)한다. 상기 기지국 200은, 상기 단말 100으로부터 패킷을 수신한 후, 상기 서버 300으로 상기 패킷을 송신(307)한다.
상기 서버 300은, 상기 수신한 패킷에 기초하여, 상기 기지국 200으로 응답을 송신할지 여부를 결정(309)한다. 예를 들어, 상기 서버 300은, 손실된 패킷에 관한 정보, 상기 서버 300의 수신 메모리에 관한 정보 중 적어도 하나에 기초하여 상기 응답을 송신할지 여부를 결정할 수 있다.
상기 서버 300은, 상기 결정 결과에 따라, 응답을 상기 기지국 200으로 송신(311)한다. 상기 기지국 200은, 상기 단말 100으로, 상기 응답을 송신(313)한다.
도 4는 본 발명의 실시 예에 따른 통신 시스템에서 단말이 복수의 TCP 연결들 각각의 CWND를 제어하는 동작을 도시한다.
상기 도 4를 참고하면, 상기 단말 100은, 망 정보에 기초하여 송신 벌크의 크기를 결정할 수 있다. 상기 단말 100은, CWND 제어기 401를 통해, 상기 결정된 송신 벌크의 크기에 기초하여, 복수의 TCP 연결들(403-1 내지 403-N) 각각의 CWND를 제어할 수 있다. 예를 들어, 상기 단말 100은, 상기 TCP 연결들(403-1 내지 403-N) 각각이 사용하는 서비스의 가중치 정보, 데이터 전송량 중 적어도 하나에 기초하여, 상기 각각의 CWND를 제어할 수 있다.
도 5는 본 발명의 실시 예에 따른 통신 시스템에서 단말의 블록 구성도이다.
상기 도 5를 참고하면, 상기 단말 100은, 통신부 501, 입/출력부 503, 메모리부 505, 제어부 507를 포함할 수 있다.
상기 통신부 501은 안테나를 통해 입출력되는 데이터의 무선신호를 송수신 처리하는 기능을 수행한다. 예를 들어, 송신인 경우, 송신할 데이터를 채널 코닝(channel coding)한 후, RF처리하여 송신하는 기능을 수행하고, 수신인 경우, 수신된 RF신호를 기저대역신호로 변환하고 상기 기저대역신호를 채널 복호(channel decoding)하여 데이터를 복원하는 기능을 수행한다.
통상적인 기능에 더하여 본 발명의 실시 예에 따라, 상기 통신부 501은, 복수의 전송 제어 프로토콜 연결들 각각을 통해 기지국 200로 데이터를 송수신할 수 있다. 상기 통신부 501은, 이동 통신 망과의 통신을 위한 제1 통신 모듈 및 무선 랜과의 통신을 위한 제2 통신 모듈을 포함할 수 있다.
상기 입/출력부 503은 상기 전자 장치와 사용자 사이에 입력/출력 인터페이스를 제공하는 터치스크린(touch screen), 음향 신호를 출력하는 음향 출력부, 문서 또는 물체를 출력하는 프린트부 중 적어도 하나를 포함할 수 있다. 또한, 상기 입/출력부 503은 상기 터치스크린, 상기 음향 출력부, 상기 프린트부로 분리될 수 있다. 상기 입/출력부 503은 사용자의 터치 입력/출력을 위한 인터페이스를 제공할 수 있다. 자세히 말해, 상기 입/출력부 503은 사용자의 터치 입력을 상기 전자 장치에 전달하고, 상기 전자 장치로부터의 출력을 사용자에게 보여주는 매개체가 될 수 있다. 또한 상기 입/출력부 503은 사용자에게 시각적인 출력을 제공할 수 있다. 예를 들어, 상기 전자 장치의 카메라가 인식한 장비의 이미지를 출력할 수 있다. 이러한 시각적 출력(visual output)은 텍스트(text), 그래픽(graphic), 비디오(video)와 이들의 조합의 형태로 나타날 수 있다. 상기 입/출력부 503은 여러 가지 디스플레이 기술을 사용할 수 있다. 예를 들면, LCD(Liquid Crystal Display), LED(Light Emitting Diode), LPD(Light emitting Polymer Display), OLED(Organic Light Emitting Diode), AMOLED(Active Matrix Organic Light Emitting Diode) 또는 FLED(Flexible LED)를 사용할 수 있다. 본 발명의 상기 입/출력부 503의 상기 터치 스크린은 디스플레이 기술을 이용하는 터치 스크린으로 한정되는 것은 아니다. 상기 입/출력부 503은, 화면출력부, 입력부로 각각으로 나누어질 수 있다.
통상적인 기능에 더하여 본 발명의 실시 예에 따른 상기 입/출력부 503은, 적어도 하나의 서비스에 대한 가중치 정보를 입력받기 위한 사용자 인터페이스를 표시할 수 있다.
상기 메모리부 505는 상기 제어부 507의 처리 및 제어를 위한 프로그램의 마이크로코드와 각종 참조 데이터를 저장한다.
통상적인 기능에 더하여 본 발명의 실시 예에 따라, 상기 메모리부 505는, 상기 통신부 501이 이동 통신 망과의 통신을 위한 제1 통신 모듈을 통해 데이터를 송신할 경우, 측정된 버퍼 크기, 버퍼 상태 보고, 변조 및 부호화 방식, 할당된 자원 블록, 무선 링크 제어 버퍼 크기 중 적어도 하나에 관한 정보를 포함하는 망 정보를 저장할 수 있다. 상기 저장부 505는, 상기 통신부 501이, 무선 랜과의 통신을 위한 제2 통신 모듈을 통해 상기 데이터를 송신할 경우, 최대 집합 크기(maximum aggregation size), MAC(media access control) 버퍼 크기 중 적어도 하나에 관한 정보를 저장할 수 있다.
상기 제어부 507은, 상기 제어 장치의 전반적인 동작을 제어한다. 예를 들어, 음성 통신 및 데이터통신을 위한 처리 및 제어를 수행한다.
통상적인 기능에 더하여 본 발명의 실시 예에 따라, 상기 제어부 507은, 망 정보에 기초하여 송신 가능한 데이터의 최대 크기를 결정하고, 상기 송신 가능한 데이터의 크기에 기초하여 복수의 TCP 연결들 각각의 전송 속도를 결정할 수 있다. 상기 제어부 507은, 상기 복수의 TCP 연결들의 개수, 상기 복수의 TCP 연결들 각각이 사용하는 서비스의 가중치 정보, 상기 복수의 TCP 연결들 각각이 사용하는 데이터 전송량 중 적어도 하나에 기초하여, 상기 복수의 TCP 연결들 각각의 전송 속도를 결정할 수 있다. 상기 제어부 507은, 상기 결정된 송신 가능한 데이터의 최대 크기를 상기 복수의 TCP 연결들 각각에 분배함으로써, 상기 복수의 TCP 연결들 각각의 전송 속도를 결정할 수 있다.
도 6은 본 발명의 실시 예에 따른 통신 시스템에서 기지국의 블록 구성도이다.
상기 도 6을 참고하면, 상기 기지국 200은, 무선 통신부 601, 백홀(backhaul) 통신부 603, 메모리부 605, 제어부 607을 포함하여 구성된다.
상기 무선 통신부 601은, RF 처리부(미도시) 및 기저대역 처리부(미도시)를 포함할 수 있다. 상기 RF 처리부(미도시)는, 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF 처리부(미도시)는 상기 기저대역 처리부(미도시)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 상기 RF 처리부(미도시)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다. 상기 기지국 200은 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(미도시)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF 처리부(미도시)는 빔포밍을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF 처리부(미도시)는 다수의 안테나들 또는 안테나 요소들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다.
상기 기저대역 처리부(미도시)는, 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역 처리부(미도시)는, 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역 처리부(미도시)는, 상기 RF 처리부(미도시)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역 처리부(미도시)는, 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT 연산 및 CP 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역 처리부(미도시)는, 상기 RF 처리부(미도시)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다. 상기 기저대역 처리부(미도시) 및 상기 RF 처리부(미도시)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역 처리부(미도시) 및 상기 RF 처리부(미도시)는 송신부, 수신부, 송수신부, 또는 통신부로 지칭될 수 있다.
본 발명의 실시 예에 따라 상기 무선 통신부 601은, 단말 100으로부터 데이터를 수신할 수 있다. 또한 상기 무선 통신부 601은, 서버 300가 상기 단말 100으로 송신한 응답 메시지를 상기 단말 100으로 전달할 수 있다.
상기 백홀 통신부 603은, 네트워크 내 다른 노드들과 통신을 수행하기 위한 인터페이스를 제공한다. 즉, 상기 백홀 통신부 603은, 상기 기지국 200에서 다른 노드, 예를 들어, 다른 기지국, 코어망 등으로 송신되는 비트열을 물리적 신호로 변환하고, 상기 다른 노드로부터 수신되는 물리적 신호를 비트열로 변환한다.
본 발명의 실시 예에 따라 상기 백홀 통신부 603은, 서버 300으로부터 서버 300이 단말 100으로 송신하는 응답 메시지를 수신할 수 있다.
상기 메모리부 605는, 상기 기지국 200의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 상기 메모리부 605는, 상기 제어부 607의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부 607은, 상기 기지국 200의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부 607은, 상기 무선 통신부 601을 통해, 또는 상기 백홀 통신부 603을 통해 신호를 송수신한다. 또한, 상기 제어부 607은, 상기 메모리부 605에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부 607은, 적어도 하나의 프로세서(processor)를 포함할 수 있다.
도 7은 본 발명의 실시 예에 따른 통신 시스템에서 서버의 블록 구성도이다.
상기 도 7을 참고하면, 상기 서버 300은, 통신부 701, 메모리부 703, 제어부 705를 포함하여 구성된다.
상기 통신부 701은, 네트워크 내 다른 노드들과 통신을 수행하기 위한 인터페이스를 제공한다. 즉, 상기 통신부 701은, 상기 서버 300에서 다른 노드, 예를 들어, 기지국, 코어망 등으로 송신되는 비트열을 물리적 신호로 변환하고, 상기 다른 노드로부터 수신되는 물리적 신호를 비트열로 변환한다.
본 발명의 실시 예에 따른 상기 통신부 701은, 수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위해 결정한 주기에 따라 상기 응답 메시지를 기지국 200으로 송신할 수 있다.
상기 메모리부 703은, 상기 서버 300의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 상기 메모리부 703은, 상기 제어부 705의 요청에 따라 저장된 데이터를 제공한다.
본 발명의 다른 실시 예에 따라, 상기 메모리부 703은, 손실된 패킷에 관한 정보, 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 응답 메시지를 저장할 수 있다.
상기 제어부 705은, 상기 서버 300의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부 705는, 상기 통신부 701을 통해 신호를 송수신한다. 또한, 상기 제어부 705는, 상기 메모리부 703에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부 705는, 적어도 하나의 프로세서(processor)를 포함할 수 있다.
본 발명의 실시 예에 따라, 상기 제어부 705은, 수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정할 수 있다.
도 8은 본 발명의 실시 예에 따른 통신 시스템에서 단말의 동작 순서도이다.
상기 도 8을 참고하면, 상기 단말 100은, 801단계에서 망 정보에 기초하여 송신 가능한 데이터의 최대 크기를 결정한다. 상기 망 정보는, 상기 단말 100의 통신부가 이동 통신 망과의 통신을 위한 제1 통신 모듈을 통해 상기 데이터를 송신할 경우, 측정된 버퍼 크기, 버퍼 상태 보고, 변조 및 부호화 방식, 할당된 자원 블록, 무선 링크 제어 버퍼 크기 중 적어도 하나에 관한 정보를 포함할 수 있다. 본 발명의 다른 실시 예에 따라, 상기 망 정보는, 상기 단말 100의 통신부가 무선 랜과의 통신을 위한 제2 통신 모듈을 통해 상기 데이터를 송신할 경우, 최대 집합 크기, MAC 버퍼 크기 중 적어도 하나에 관한 정보를 포함할 수 있다.
상기 단말 100은, 803단계에서 상기 송신 가능한 데이터의 크기에 기초하여 복수의 TCP 연결들 각각의 전송 속도를 결정한다. 상기 단말 100은, 상기 복수의 TCP 연결들의 개수, 상기 복수의 TCP 연결들 각각이 사용하는 서비스의 가중치 정보, 상기 복수의 TCP 연결들 각각이 사용하는 데이터 전송량 중 적어도 하나에 기초하여, 상기 복수의 TCP 연결들 각각의 전송 속도를 결정할 수 있다. 상기 가중치 정보는, 상기 서비스의 종류, 상기 서비스가 이용하는 상기 단말 장치의 기능, 상기 서비스를 위한 대역폭, 상기 서비스를 위한 지연 속도 중 적어도 하나에 관한 정보를 포함할 수 있다. 본 발명의 다른 실시 예에 따라, 상기 단말 100의 사용자 인터페이스(user interface)를 통해 입력되는 신호에 따라 결정될 수 있다. 상기 단말 100은, 상기 사용자 인터페이스를 표시할 수 있다. 상기 단말 100은, 상기 송신 가능한 데이터의 크기를 상기 복수의 TCP 연결들 각각에 분배함으로써, 상기 복수의 TCP 연결들 각각의 전송 속도를 결정할 수 있다. 상기 단말 100은, 상기 기지국 200으로부터 수신한 응답 메시지에 기초하여 상기 송신 가능한 데이터의 최대 크기를 결정할 수 있다. 상기 응답 메시지는, 상기 기지국 200에서 손실된 패킷에 관한 정보, 상기 기지국 200의 수신 메모리에 관한 정보 중 적어도 하나를 포함할 수 있다.
상기 단말 100은, 805단계에서 상기 복수의 TCP 연결들 각각을 통해 기지국으로 데이터를 송신한다.
도 9는 본 발명의 실시 예에 따른 통신 시스템에서 기지국의 동작 순서도이다.
상기 도 9를 참고하면, 상기 기지국 200은, 901단계에서 단말로부터 데이터를 수신한다. 상기 데이터는, 상기 단말이 망 정보에 따라 결정한 송신 가능한 데이터의 크기에 기초하여 결정된 전송 속도로 상기 단말의 적어도 하나의 전송 제어 프로토콜을 통해 송신될 수 있다.
상기 기지국 200은, 903단계에서 단말 100으로부터 수신한 상기 데이터를 서버 300으로 송신한다. 상기 기지국 200은, 상기 단말 100으로부터 수신한 데이터를 상기 서버 300으로 전달할 수 있다.
상기 기지국 200은, 905단계에서 상기 서버 300으로부터 응답 메시지를 수신한다. 상기 응답 메시지는, 상기 서버300이, 수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 결정한 주기에 따라 상기 서버 300으로부터 송신될 수 있다.
상기 기지국 200은, 907단계에서 상기 서버 300으로부터 수신한 응답 메시지를 상기 단말로 전달한다.
도 10은 본 발명의 실시 예에 따른 통신 시스템에서 서버의 동작 순서도이다.
상기 도 10을 참고하면, 상기 서버 300은, 1001단계에서 수신된 패킷의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정한다.
상기 서버 300은, 1003단계에서 상기 결정된 주기에 따라 상기 응답 메시지를 기지국 200로 송신한다. 상기 응답 메시지는, 손실된 패킷에 관한 정보, 상기 수신 메모리에 관한 정보 중 적어도 하나를 포함할 수 있다.
도 11은 본 발명의 실시 예에 따른 통신 시스템에서 서버의 동작 순서도이다.
상기 도 11을 참고하면, 상기 서버 300은, 2001 단계에서 기지국 200으로부터 패킷을 수신한다.
상기 서버 300은, 1103단계에서 상기 패킷을 수신한 시간 및 상기 패킷의 시퀀스 번호를 확인한다.
상기 서버 300은, 1105단계에서 패킷 수신 시 손실된 패킷을 확인한다. 상기 서버 300은, 상기 패킷의 시퀀스 번호에 기초하여 상기 손실된 패킷을 확인할 수 있다.
상기 서버 300은, 1107단계에서 패킷 손실이 발생하였는지 여부를 결정한다.
상기 서버 300은, 상기 패킷 손실이 발생한 경우, 1109단계로 진행하여 패킷 손실이 발생하였음을 알리기 위한 응답 패킷에 손실된 패킷의 시퀀스 번호를 포함시키고, 상기 응답 메시지의 종류를 '손실 보고'로 표시할 수 있다. 예를 들어 상기 서버 300은, 상기 응답 패킷의 내부 변수에 상기 손실된 패킷의 시퀀스 번호를 포함시킬 수 있다.
상기 서버 300은, 상기 패킷 손실이 발생하지 않을 경우, 1111단계로 진행하여, 상기 서버 300의 수신 메모리 상태를 확인한다. 상기 서버 300은, 1113단계에서 상기 수신 메모리가 부족한지 여부를 결정한다.
상기 서버 300은, 상기 수신 메모리가 부족할 경우, 1115단계로 진행하여 응답 패킷에 상기 수신 메모리가 부족함을 알리기 위한 정보를 포함시킨다. 상기 서버 300은, 상기 수신 메모리가 부족할 경우, 단말 100으로 송신 속도를 감속할 것을 요청하는 정보를 응답 패킷에 포함시킬 수 있다. 상기 서버 300은, 상기 응답 패킷의 종류를 '수신 메모리 부족 보고'로 표시할 수 있다.
상기 서버 300은, 상기 수신 메모리가 부족하지 않거나, 상기 수신 메모리가 부족함을 알리기 위한 정보를 포함하는 응답 패킷에 대한 설정이 종료될 경우, 1117단계로 진행하여 패킷을 수신한 시간 및 상기 패킷의 크기를 확인한다. 상기 서버 300은, 상기 패킷을 수신한 시간 및 현재까지 수신한 데이터 크기와, 마지막으로 보고한 시간 및 상기 마지막으로 보고한 시간까지 수신한 데이터 크기를 비교할 수 있다. 상기 서버 300은, 상기 비교 결과를 주기적인 보고를 위한 응답 패킷에 포함시킬 수 있다.
상기 서버 300은, 1119단계에서 보고 주기에 도달하였는지 여부를 결정한다. 상기 서버 300은, 상기 패킷 손실이 존재하지, 상기 수신 메모리가 부족한지 여부에 기초하여 상기 보고 주기에 도달하였는지를 결정할 수 있다.
상기 서버 300은, 상기 보고 주기에 도달한 경우, 1121단계로 진행하여 주기적인 보고를 위한 응답 패킷에 응답 종류를 '주기 도달 보고'라고 표시할 수 있다. 상기 서버 300은, 마지막으로 보고한 시간 및 상기 마지막으로 보고한 시간까지 수신한 데이터량, 현재 데이터 패킷을 수신한 시간 및 현재 데이터 패킷을 수신한 시간을 상기 주기적인 보고를 위한 응답 패킷에 포함시킬 수 있다.
상기 서버 300은, 1123단계로 진행하여, 상기 주기적인 보고를 위한 응답 패킷에 표시된 사항을 확인한다.
상기 서버 300은, 1125단계에서 보고할 내용이 존재하는지 여부를 결정한다. 상기 서버 300은, 보고할 내용이 없을 경우, 응답 패킷을 생성하기 위한 단계를 종료한다.
상기 서버 300은, 상기 보호할 내용이 존재할 경우, 1127단계에서 보고 내용 및 보고 종류를 포함한 응답 패킷을 기지국 또는 접속점 200으로 송신한다.
본 발명의 실시 예에 따라, 상기 응답 패킷은 아래의 표 1과 같은 정보를 포함할 수 있다.
종류 길이
시간 주기적인 응답 2bite 마지막 보고 시간,
마지막으로 보고한 시퀀스 번호
시간 주기적이지 않은 응답 2bite 마지막 보고 시간,
마지막으로 보고한 시퀀스 번호
부정적인 응답 가변(손실된 패킷에 따라 결정됨) 손실된 패킷의 번호,
손실된 패킷의 시퀀스 번호
서버의 버퍼 상태 응답 1bite 서버의 버퍼 크기(8bit)
도 12는 본 발명의 실시 예에 따른 통신 시스템에서 데이터 송신 속도를 제어하기 위한 단말의 동작을 도시한다.
상기 도 12를 참고하면, 상기 단말 100은, 무선 통신 장치 1201, 커널의 하위 TCP 계층 1203, 커널의 TCP 계층 1205를 포함할 수 있다. 상기 단말 100은, 상기 무선 통신 장치 1201을 통해 무선 접속 네트워크에 관한 정보를 결정할 수 있다. 상기 단말 100은, 상기 무선 통신 장치 1201에 포함되는, 제1 계층 및 제2 계층을 통해 상기 무선 접속 네트워크에 관한 정보를 결정할 수 있다. 예를 들어, 상기 단말 100은, MAC 계층 1207을 통해 MAC 송신 버퍼에 관한 정보를 결정할 수 있다. 또한, 상기 단말 100은, RLC 계층 1211을 통해 RLC 송신 버퍼에 관한 정보를 결정할 수 있다.
상기 단말 100은, 제1 인터페이스 1209를 통해 상기 MAC 송신 버퍼에 관한 정보를 상기 하위-TCP 계층 1203으로 전달할 수 있다. 또한, 상기 단말 100은, 제2 인터페이스 1213을 통해 상기 RLC 송신 버퍼에 관한 정보를 상기 하위-TCP 계층 1203으로 전달할 수 있다. 상기 단말 100은, 상기 하위-TCP 계층 1203에서 상기 무선 통신 장치 1201로부터 수신한 무선 접속 네트워크 정보에 기초하여, 송신 벌크의 크기를 결정(1215)할 수 있다. 상기 단말 100은, 상기 결정된 송신 벌크의 크기에 기초하여 TCP CWND를 제어(1217)할 수 있다. 예를 들어, 상기 단말 100은, 상기 송신 벌크의 크기에 기초하여, 상기 TCP 계층 1205에서, 복수의 TCP 연결들 각각에 대한 CWND를 결정(1221)할 수 있다.
상기 단말 100은, 상기 결정된 CWND에 기초하여 기지국 200으로 자원을 요청(1223)할 수 있다. 상기 단말 100은, 상기 기지국 200으로부터 자원을 할당(1225)받을 수 있다. 상기 단말 100은, 상기 기지국 200으로부터 할당받은 자원을 통해, 상기 기지국 200으로 데이터를 송신(1227)할 수 있다.
도 13은 본 발명의 실시 예에 따른 통신 시스템에서 단말이 송신 벌크를 결정하는 동작을 도시한다.
상기 도 13을 참고하면, 상기 단말 100은, 네트워크 인터페이스 카드 1301, 커널 1303을 포함할 수 있다. 상기 단말 100은, 무선 랜을 사용할 경우, MAC 전송 정보 1305에 기초하여 최적의 벌크 크기를 결정(1215)할 수 있다. 예를 들어, 상기 단말 100은, MAC 계층 1207의 MAC 전송 정보 1305를 상기 네트워크 인터페이스 카드 1301의 제1 인터페이스 1209를 통해 상기 커널 1303으로 전달할 수 있다. 상기 MAC 전송 정보 1305는, MAC 계층 파라미터인 최대 집합 크기(maximum aggregation size)이다. 상기 단말 100은, 상기 커널 1303을 통해 상기 MAC 전송 정보 1305에 기초하여 상기 최적의 벌크 크기를 결정(1215)할 수 있다.
상기 단말 100은, 셀룰러 네트워크를 사용할 경우, RLC 버퍼 정보 1307 및 상기 MAC 전송 정보 1305에 기초하여 상기 송신 벌크의 크기를 결정할 수 있다. 예를 들어, 상기 단말 100은, MAC 계층으로부터 제1 인터페이스를 사용하여 버퍼 상태 보고(buffer status report, BSR), 변조 및 부호화 방식(modulation and coding scheme, MCS), 할당된 무선 자원 블록(radio resource block, RB)을 전달할 수 있다. 상기 단말 100은, RLC 계층 1211로부터 제2 인터페이스 1213을 통해 상기 RLC 버퍼 정보 1307을 상기 커널 1303으로 전달할 수 있다. 상기 RCL 버퍼 정보 1307은, 송신 버퍼의 크기에 관한 정보를 포함할 수 있다.
상기 단말 100은, 셀룰러 네트워크를 사용할 경우, 송신 기록이 존재하지 않는 최초의 송신 시간 구간에서, 상기 제1 인터페이스 1209를 통해 MAC 계층 1207로부터 최대 버퍼 상태 보고 값을 확인할 수 있다. 상기 단말 100은, 상기 최대 버퍼 상태 보고 값에, 0과 1 사이의 설정 파라미터인 α를 곱하여, 상기 최초의 송신 시간 구간에서 송신 벌크의 크기를 결정(1215)할 수 있다. 예를 들어, 상기 단말 100은, 아래의 수학식 1을 통해 상기 송신 벌크의 크기를 결정(1215)할 수 있다.
Figure pat00001
상기 단말 100은, 무선 랜을 사용할 경우, 송신 기록이 존재하지 않는 최초의 송신 시간 구간에서, MAC 계층 1207로부터 최대 집합 크기와 동일한, 송신 가능한 최대 데이터량을 결정할 수 있다.
상기 단말 100은, 매 송신 시간 구간에서, 상기 단말 100이 상기 기지국 200으로 요청하는 버퍼 상태 보고 값 및 상기 기지국 200으로부터 할당된 자원 블록의 크기에 기초하여 상기 송신 벌크의 크기를 결정할 수 있다. 예를 들어, 상기 단말 100은, 이전 송신 시간 구간의 버퍼 상태 보고 값, 변조 및 부호화 방식 값, 자원 블록 값에 기초하여, 상기 단말 100이, 상기 이전 송신 시간 구간에서 송신하고자하는 데이터량을 확인할 수 있다. 상기 단말 100은, 상기 데이터량과 상기 기지국 100으로부터 할당된 자원 블록의 크기에 따라 송신 가능한 데이터량의 오차를 계산할 수 있다. 상기 단말 100은, 상기 오차에 기초하여 현재의 송신 시간 구간에서 송신 가능한 최적의 벌크 크기를 결정할 수 있다. 즉, 상기 단말 100은, 상기 기지국 200으로부터 할당된 자원 블록의 크기에 따라 송신 가능한 데이터량이, 이전 송신 시간 구간에서 송신한 데이터량보다 작을 경우, 상기 송신 벌크의 크기를 감소시킬 수 있다. 또한, 상기 단말 100은, 상기 기지국 200으로부터 할당된 자원 블록의 크기에 따라 송신 가능한 데이터량이, 이전 송신 시간 구간에서 송신한 데이터량보다 클 경우, 상기 송신 벌크의 크기를 증가시킬 수 있다.
예를 들어, 상기 단말 100은, 아래의 수학식 2를 통해 상기 송신 벌크의 크기를 결정할 수 있다.
Figure pat00002
Figure pat00003
Figure pat00004
Figure pat00005
또한, 상기 단말 100은, 상기 단말 100의 무선 링크 제어의 버퍼 크기의 변화량에 기초하여 상기 송신 벌크의 크기를 결정할 수 있다.
예를 들어, 상기 단말 100은, 이전 송신 시간 구간에서 송신한 데이터량과 상기 기지국 200으로부터 할당된 자원 블록의 크기에 따라 송신 가능한 데이터량의 오차를 결정할 수 있다. 상기 단말 100은, 상기 오차와 무선 링크 제어 버퍼에 대기 중인 데이터량의 변화량에 기초하여, 상기 송신 벌크의 크기를 결정(1215)할 수 있다. 상기 단말 100은, 상기 무선 링크 제어 버퍼에 대기 중인 데이터량에 기초하여 상기 기지국 200으로의 무선 자원 요청(1223)을 결정할 수 있다. 즉, 상기 단말 100은, 상기 무선 링크 제어 버퍼에 대기 중인 데이터량에 따라, 상기 기지국 200으로부터 자원 블록을 할당(1225)받을 수 있다. 상기 단말 100은, 이전 송신 시간 구간에서 송신한 데이터량 및 실제 송신된 데이터량의 오차에 기초하여 현재 송신 시간 구간에서 송신 벌크의 크기를 결정(1215)할 수 있다.
예를 들어, 상기 단말 100은, 아래의 수학식 3을 통해 상기 송신 벌크의 크기를 결정(1215)할 수 있다.
Figure pat00006
Figure pat00007
Figure pat00008
Figure pat00009
상기 단말 100은, 상기 무선 랜을 사용할 경우, 무선 랜 접속점으로부터 스케줄링 방식이 아닌, 반송파 감지 다중 접속/충돌 회피(carrier sense multiple access/collsion avoid, CSMA/CA) 방식으로 데이터를 송신할 수 있는 기회를 부여받는다. 상기 단말 100이 각각의 매체 접속 기회당 송신할 수 있는 데이터량은, 상기 단말 100의 MAC 계층 1207의 집합 크기일 수 있다. 즉, 상기 단말 100은, 상기 단말 100의 MAC 계층 1207의 최대 집합 크기에 기초하여, 상기 송신 벌크의 크기를 결정(1215)할 수 있다. 이때, 상기 단말 100은, 제1 인터페이스 1209를 통해 상기 MAC 계층 1207의 최대 집합 크기를 확인할 수 있다. 따라서, 상기 단말 100은, 상기 수학식 2 및 상기 수학식 3을 사용하기 않고, 상기 송신 벌크의 크기를 최대 집합 크기로 결정할 수 있다.
도 14는 본 발명의 실시 예에 따른 통신 시스템에서 단말이 송신 큐(queue)의 상태를 감시하는 동작을 도시한다.
상기 도 14를 참고하면, 상기 단말 100은, 상기 단말 100의 송신 큐 1401의 상태를 감시할 수 있다. 상기 송신 큐 1401은, 상기 단말 100이 송신하기 위한 패킷이 송신을 대기하는 대기열이다. 상기 단말 100은, 미리 정의된 큐 임계값 1403에 기초하여 상기 송신 큐 1401의 상태를 감시할 수 있다. 상기 큐 임계값 1403은, 상기 송신 큐 1401의 상태를 결정하는 기준 값을 의미한다. 상기 큐 임계값 1403은 전송 벌크 크기로 결정할 수 있다. 예를 들어, 무선 랜의 경우 상기 큐 임계값 1403은, 상기 단말 100이, 상기 단말 100의 MAC 계층의 최대 집합 크기로 결정되는 송신 벌크 크기에 기초하여 결정할 수 있다. 상기 큐 임계값 1403은, LTE의 경우, 수학식 2 또는 수학식 3을 통해 결정되는 송신 벌크 크기로 결정할 수 있다.
상기 단말 100은, 데이터를 송신할 때마다, 현재의 버퍼 크기 1405를 측정할 수 있다. 상기 단말 100은, 상기 버퍼 크기 1405와 상기 큐 임계값 1403의 차를 결정할 수 있다. 상기 단말 100은, 상기 버퍼 크기 1405와 상기 큐 임계값 1403의 차를 추가 가능한 패킷의 크기 1407로 결정할 수 있다.
상기 단말 100은, 상기 추가 가능한 패킷의 크기 1407을, 상기 단말 100 내부의 TCP 송신단으로 요청할 수 있다. 상기 단말 100은, 복수의 TCP 연결들이 존재할 경우, 상기 추가 가능한 패킷의 크기 1407을 상기 복수의 TCP 송신단들 각각으로 분배하여 요청할 수 있다. 예를 들어, 상기 단말 100은, 'CWND 증가(CWND increase, CWI)' 명령을 사용하여 TCP 송신단으로 CWND 증가를 요청할 수 있다. 상기 CWI는 요청하는 데이터의 크기 및 요청하는 시간에 관한 정보를 포함할 수 있다.
도 15는 본 발명의 실시 예에 따른 통신 시스템에서 단말이 TCP 계층을 제어하는 동작을 도시한다.
상기 도 15를 참고하면, 상기 단말 100은, MAC 정보에 기초하여 벌크의 크기를 제어할 수 있다. 예를 들어, 상기 단말 100은, 상기 MAC 정보 1505에 기초하여, 송신 버퍼로 인큐(enqueue)하는 패킷의 청크(chuck) 크기를 제어할 수 있다.
상기 단말 100은, 상기 MAC 정보 1505에 기초하여 상기 청크의 송신 간격을 제어할 수 있다. 예를 들어, 상기 단말 100은, 상기 MAC 정보 1505에 기초하여 송신 버퍼로 인큐하는 패킷의 청크의 프레임 간격을 제어(1515)할 수 있다.
예를 들어, 상기 단말 100은, MAC 계층의 최대 집합 크기 및 BSR 인덱스, RCL 계층의 버퍼 크기 및 디-큐(de-queue) 간격, TCP 계층의 수신 패킷 중 적어도 하나에 기초하여 상기 청크의 크기, 상기 청크의 송신 시간 간격 중 적어도 하나를 제어할 수 있다.
상기 단말 100은, TCP 1501 및 RAT(radio access technology) 1503을 포함할 수 있다. 상기 단말 100은, 상기 RAT 1503을 통해 송신 버퍼(1527)의 크기를 제어할 수 있다. 상기 단말 100은, 상기 RAT 1503을 통해, 상기 TCP 1501로 최대 집합 크기에 관한 정보 1507을 전달할 수 있다. 상기 단말 100은, 상기 TCP 1501을 통해, 상기 최대 집합 크기에 관한 정보 1507에 기초하여 상기 송신 버퍼 1527의 크기를 제어할 수 있다. 상기 단말 100은, 상기 RAT 1503을 통해 상기 TCP 1501로 송신 버퍼 상태에 관한 정보 1511을 전달할 수 있다. 상기 단말 100은, 상기 TCP 1501을 통해, 상기 버퍼 상태에 관한 정보 1511에 기초하여, 송신 프레임의 간격을 제어(1515)할 수 있다. 상기 단말 100은, 상기 결정한 청크의 크기 1525에 기초하여 청크 1(1519) 및 청크 2(1521)를 생성할 수 있다. 또한, 상기 단말 100은, 상기 청크 1(1519) 및 상기 청크 2(1521)를 상기 결정한 프레임 간격 1523에 따라 상기 송신 버퍼 1527로 전달할 수 있다.
본 발명의 실시 예에 따라, 상기 단말 100은, 상기 단말 100과 데이터를 송수신하는 서버 300으로부터 TCP ACK 1613을 수신할 수 있다. 상기 단말 100은, 상기 TCP ACK 1513에 기초하여 상기 청크의 크기 1525 및 간격 1523을 결정할 수 있다.
도 16은 본 발명의 실시 예에 따른 통신 시스템에서 단말이 결정한 송신 벌크의 크기에 기초하여 각각의 TCP의 CWND를 결정하는 동작을 도시한다.
상기 도 16을 참고하면, 상기 단말 100은, 네트워크 인터페이스 카드 1301 및 커널 1303을 포함한다. 상기 단말 100은, 상기 커널 1303의 하위 TCP 계층 1203을 통해 최적의 벌크 크기를 결정(1215)할 수 있다. 상기 단말 100은, 상기 결정한 최적의 벌크 크기에 기초하여 CWND에 대한 증가 요청(1217)을 수행할 수 있다. 상기 단말 100은, 상기 최적의 벌크 크기와 RLC 1211의 RLC 버퍼 정보 1307에 기초하여, 상기 CWND에 대한 증가 요청(1217)을 수행할 수 있다. 상기 RLC 버퍼 정보 1307은, 송신 버퍼의 크기일 수 있다. 상기 단말 100은, 상기 TCP 계층 1205의 TCP 1(1601-1)으로 CWND 증가 요청 메시지를 송신하고, 상기 요청 메시지에 대한 응답을 수신(1705)할 수 있다. 또한, 상기 단말 100은, 상기 TCP 계층 1205의 TCP n(1601-n)으로 CWND 증가를 요청하는 메시지를 송신하고, 상기 요청 메시지에 대한 응답을 수신(1705)할 수 있다. 다시 말해, 상기 단말 100은, 상기 TCP 계층 1205의 복수의 TCP 연결들 각각으로 CWND 증가를 요청할 수 있다.
상기 단말 100은, 매 송신 시간 구간마다, 송신 버퍼에 상기 송신 가능한 최대 데이터량을 대기시킬 수 있다. 상기 단말 100의 송신 버퍼에는, 상기 송신 가능한 최대 데이터량보다 많은 데이터가 대기할 수 있다. 이때, 상기 단말 100은, 상기 송신 버퍼에 대기 중인, 상기 송신 가능한 최대 데이터량보다 많은 데이터로 인해, 긴급하게 송신이 필요한 데이터를 송신하지 못할 수 있다. 따라서, 상기 단말 100은, 상기 송신 버퍼에 상기 송신 가능한 최대 데이터량보다 많은 데이터가 대기하지 않도록, 상기 송신 버퍼에 대기 중인 데이터의 크기를 제어할 수 있다.
상기 단말 100은, 매 송신 시간 구간마다, 송신 가능한 최대 데이터량을 결정할 수 있다. 상기 단말 100은, 상기 단말 100의 송신 버퍼에 대기 중인 데이터의 크기가 상기 송신 가능한 최대 데이터량보다 작을 경우, 상기 송신 가능한 최대 데이터의 크기와 상기 송신 버퍼의 크기의 차를 결정할 수 있다. 상기 송신 버퍼는, 상기 단말 100이 셀룰러 네트워크를 사용할 경우, 무선 링크 제어 버퍼가 될 수 있다. 상기 송신 버퍼는, 상기 단말 100이 무선 랜을 사용할 경우, MAC 버퍼가 될 수 있다. 상기 단말 100은, 상기 송신 가능한 최대 데이터의 크기 및 상기 송신 버퍼의 크기의 차에 기초하여 CWND 증가가 필요한 데이터의 크기로 결정할 수 있다.
예를 들어, 상기 단말 100은, 아래와 같은 수학식 4를 통해 CWND 증가가 필요한 데이터의 크기를 결정할 수 있다.
Figure pat00010
Figure pat00011
Figure pat00012
Figure pat00013
이때, 상기 단말 100은, 상기 무선 링크 제어 버퍼의 크기가 상기 송신 가능한 최대 데이터의 크기 이상일 경우, CWND의 증가가 필요 없기 때문에, 상기 CWND를 증가시키지 않을 수 있다. 또한, 상기 단말 100은, 상기 단말 100의 TCP 연결에서 모뎀으로 전달하기 위한 패킷을, 상기 무선 링크 제어 버퍼의 크기가 상기 송신 가능한 최대 데이터의 크기 이하가 될때까지 모뎀으로 전달하지 않을 수 있다. 상기 단말 100은, 상기 모뎀으로 전달하지 않은 패킷을, 상기 무선 링크 제어 버퍼에 데이터를 송신할 수 있는 공간이 발생할 경우, 상기 모뎀으로 전달할 수 있다.
상기 단말 100은, 상기 CWND의 증가가 필요한 데이터의 크기를, 상기 단말 100의 복수의 TCP 연결들 각각에 분배하여 요청할 수 있다. 상기 단말 100은, 상기 복수의 TCP 연결들 사이의 정확성에 기초하여, 상기 복수의 TCP 연결들에 요청할 데이터의 크기를 결정할 수 있다. 상기 단말 100은, TCP 연결을 사용하는 어플리케이션의 서비스 품질에 대한 가중치를 결정할 수 있다. 상기 단말 100은, 상기 서비스 품질에 대한 가중치에 기초하여, 상기 TCP 연결에 요청하기 위한 데이터의 크기를 결정할 수 있다.
예를 들어, 상기 어플리케이션의 서비스 품질에 대한 가중치는 아래의 표 2와 같을 수 있다.
항목 내용 비고
어플리케이션 종류 TCP를 사용하는 어플리케이션의 종류 영상, 음성,
어플리케이션 상태 TCP를 사용하는 어플리케이션의 현재 상태
-백그라운드 어플리케이션과 포그라운드 어플리케이션을 구별하기 위해 사용됨
- 현재 어플리케이션이 사용하는 단말 내 입/출력 장비를 사용하고 있는지 여부를 확인할 수 있음
- 입출력 장비를 사용하지 않는 어플리케이션(백그라운드 어플리케이션) 확인 가능
스크린 또는 영상 출력 사용 여부
스피커 또는 오디오 출력 사용 여부
진동 모터 사용 여부
터치 입력 사용 여부
마이크 사용 여부
요구되는 대역폭 TCP가 실시간 또는 멀티미디어를 전달하는 경우에 요구되는 대역폭 어플리케이션에 따라 미리 정의됨
요구되는 지연 속도 TCP가 실시간 또는 멀티미디어를 전달할 경우, 보장되어야하는 지연 속도 어플리케이션에 따라 미리 정의됨
도 17을 참고하면, 본 발명의 다른 실시 예에 따라, 상기 단말 100은, 사용자 인터페이스(user interface) 1701 및 1703을 통해 입력되는 신호에 따라 상기 어플리케이션의 서비스 품질에 대한 가중치를 결정할 수 있다.
예를 들어, 상기 단말 100은, 상기 사용자 인터페이스 1801 및 1703을 통해 무선 장비 1 및 무선 장비 2가 사용하는 어플리케이션에 대한 가중치를 결정하기 위한 신호를 입력받을 수 있다. 예를 들어, 상기 무선 장비 1은, 상기 단말 100에 연결된 시계형 통신 장치일 수 있다. 상기 무선 장비 2는, 상기 단말 100에 연결된 안경형 통신 장치일 수 있다.
상기 단말 100은, 상기 사용자 인터페이스 1701을 통해, 상기 무선 장비 1이 사용하는 어플리케이션 1에 대한 가중치를 낮음으로 설정하기 위한 신호를 입력받을 수 있다. 상기 단말 100은, 상기 사용자 인터페이스 1701을 통해, 상기 무선 장비 1이 사용하는 어플리케이션 2에 대한 가중치를 높음으로 설정하기 위한 신호를 입력받을 수 있다.
상기 단말 100은, 상기 사용자 인터페이스 1703을 통해, 상기 무선 장비 2가 사용하는 어플리케이션 1의 가중치를 중간으로, 어플리케이션2 및 어플리케이션 3의 가중치를 높음으로 설정하기 위한 신호를 입력받을 수 있다.
상기 단말 100은, 상기 결정된 데이터의 크기에 기초하여, 각각의 TCP 연결에 CWND의 증가를 요청할 수 있다. 상기 단말 100은, 상기 복수의 TCP 연결들 각각에 대한 CWND의 증가 요청에 대하여 승인, 부분승인, 거절 중 하나를 결정할 수 있다. 즉, 상기 단말 100은, 상기 복수의 TCP 연결들 각각에 대하여 CWND를 증가시킬지 여부를 결정할 수 있다. 예를 들어, 상기 단말 100은, 제1 TCP 연결에 대한 CWND의 증가를 거절할 경우, 상기 거절된 CWND의 증가분을 제2 TCP 연결에 재분배할 수 있다. 예를 들어, 상기 단말 100은, 아래의 수학식 5를 통해 상기 각각의 TCP 연결에 대한 CWND를 결정할 수 있다.
Figure pat00014
여기서, CWI(t)는, 전체 CWND의 증가분이다. CWI1(t)는, 1번 TCP 연결에 요청하기 위한 CWND의 증가분이다. W는, 각 TCP 연결의 서비스 품질에 대한 가중치이다.
도 18은 본 발명의 실시 예에 따른 통신 시스템에서 단말이 각각의 TCP 연결의 CWND를 제어하는 동작을 도시한다.
상기 도 18을 참고하면, 상기 단말 100의 하위 TCP 계층 1203 및 TCP 계층 1205를 통해 상기 각각의 TCP 연결의 CWND를 제어할 수 있다. 상기 단말 100은, 상기 하위 TCP 계층 1203의 CWND 증가 요청 기능 1217을 통해 상기 TCP 계층 1205로 CWND에 대한 증가를 요청할 수 있다. 상기 단말 100은, 상기 TCP 계층 1205를 통해, 상기 CWND 증가 요청에 대한 응답을 상기 하위 TCP 계층 1203으로 전달할 수 있다.
상기 단말 100은, E2E 경로의 혼잡을 회피하기 위하여, CWND를 증가할 경우, 상기 E2E 경로의 혼잡이 발생할지 여부를 결정할 수 있다. 예를 들어, 상기 단말 100은, 각각의 TCP 연결의 현재의 CWND 및 CWND 증가분의 합과, 상기 각각의 TCP 연결의 느린 시작 임계값(slow start threshold)을 비교하여, 상기 CWND를 증가할 경우, 상기 E2E 경로의 혼잡이 발생할지 여부를 결정할 수 있다. 상기 단말 100은, 상기 CWND를 증가시킬 경우, 상기 E2E 경로의 혼잡이 발생되지 않는다고 판단될 경우, 상기 CWND를 증가시킬 수 있다. 본 발명의 다른 실시 예에 따라, 상기 단말 100은, 상기 CWND를 증가시킬 경우, 상기 E2E 경로의 혼잡이 발생되지 않는다고 판단될 경우, 일부의 TCP 연결에 대하여 CWND를 증가시킬 수 있다. 상기 단말 100은, 상기 CWND를 증가시킬 경우, 상기 E2E 경로의 혼잡이 발생된다고 판단될 경우, 상기 CWND를 증가시키지 않을 수 있다. 상기 단말 100은, 상기 일부의 TCP 연결에 대하여 CWND를 증가시킬 경우, CWND를 증가시키지 않은 상기 일부의 TCP 연결을 제외한 다른 TCP 연결의 CWND를 더 증가시킬 수 있다. 상기 단말 100은, 상기 단말 100의 하위 TCP 계층 1203에서 TCP 계층 1205로 CWND를 증가시킬 것을 요청(1801)할 수 있다. 또한 상기 단말 100은, 상기 단말의 TCP 계층 1205에서 상기 하위 TCP 계층 1203으로 상기 CWND 증가 요청에 대한 응답을 송신(1803)할 수 있다.
상기 단말 100은, 상기 CWND를 증가시킬 경우, 아래의 수학식 6을 이용할 수 있다.
Figure pat00015
여기서, 상기 SST(slow start threshold)는, 상기 느린 시작 임계값이다.
상기 단말 100은, 일부의 TCP 연결에 대하여 CWND를 증가시킬 경우, 아래의 수학식 7을 이용할 수 있다.
Figure pat00016
상기 단말 100은, 상기 CWND를 증가시키지 않을 경우, 아래의 수학식 8을 이용할 수 있다.
Figure pat00017
본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (33)

  1. 무선 통신 시스템에서 송신 장치에 있어서,
    프로세서와,
    상기 프로세서와 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행시에, 상기 프로세서가,망 정보에 기초하여 전송 단위 별 전송 가능한 데이터의 최대 크기를 결정하고, 상기 데이터의 최대 크기에 기초하여 복수의 전송 제어 프로토콜(transmission control protocol, TCP) 연결들 각각의 전송 속도를 결정하고, 상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하도록 하는 인스트럭션(instruction)들을 저장하는 장치.
  2. 제1항에 있어서,
    이동 통신 망과의 통신을 위한 제1 통신 모듈 및 무선 랜(LAN)과의 통신을 위한 제2 통신 모듈을 포함하는 통신부를 더 포함하는 장치.
  3. 제1항에 있어서,
    상기 망 정보는, 상기 송신 장치가 이동 통신 망과의 통신을 위한 제1 통신 모듈을 통해 상기 데이터를 송신할 경우, 측정된 버퍼 크기, 버퍼 상태 보고(buffer status report, BSR), 변조 및 부호화 방식(modulation and coding schemes, MSC), 할당된 자원 블록(resource block, RB), 무선 링크 제어(radio link control, RLC) 버퍼 크기 중 적어도 하나에 관한 정보를 포함하는 장치.
  4. 제1항에 있어서,
    상기 망 정보는, 상기 송신 장치가 무선 랜과의 통신을 위한 제2 통신 모듈을 통해 상기 데이터를 송신할 경우, 최대 집합 크기(maximum aggregation size), MAC(media access control) 버퍼 크기 중 적어도 하나에 관한 정보를 포함하는 장치.
  5. 제1항에 있어서,
    상기 메모리는, 실행시에, 상기 프로세서가, 상기 복수의 TCP 연결들의 개수, 상기 복수의 TCP 연결들 각각이 사용하는 서비스의 가중치 정보, 상기 복수의 TCP 연결들 각각이 사용하는 데이터 전송량 중 적어도 하나에 기초하여, 상기 복수의 TCP 연결들 각각의 송신 속도를 결정하도록 하는 인스트럭션들을 저장하는 장치.
  6. 제5항에 있어서,
    상기 가중치 정보는, 상기 서비스의 종류, 상기 서비스가 이용하는 상기 송신 장치의 기능, 상기 서비스를 위한 대역폭, 상기 서비스를 위한 지연 속도(latency) 중 적어도 하나에 관한 정보를 포함하는 장치.
  7. 제5항에 있어서,
    상기 메모리는, 실행시에, 상기 프로세서가, 상기 송신 장치의 사용자 인터페이스(user interface)를 통해 입력되는 신호에 따라 결정되는 상기 가중치 정보를 저장하고, 상기 사용자 인터페이스를 표시하도록 하는 인스트럭션을 저장하는 장치.
  8. 제1항에 있어서,
    상기 메모리는, 실행시에, 상기 프로세서가, 상기 결정된 전송 가능한 데이터의 최대 크기를 상기 복수의 TCP 연결들 각각에 분배함으로써, 상기 복수의 TCP 연결들 각각의 전송 속도를 결정하도록 하는 인스트럭션을 저장하는 장치.
  9. 제1항에 있어서,
    상기 메모리는, 실행시에, 상기 프로세서가, 상기 수신 장치로부터 수신한 응답 메시지에 기초하여 상기 전송 가능한 데이터의 최대 크기를 결정하도록 하는 인스트럭션을 저장하고,
    상기 응답 메시지는, 상기 수신 장치에서 손실된 패킷에 관한 정보, 상기 수신 장치의 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 장치.
  10. 무선 통신 시스템에서 수신 장치에 있어서,
    프로세서와,
    상기 프로세서와 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행시에, 상기 프로세서가, 수신된 패킷의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하고, 상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하도록 하는 인스트럭션들을 저장하는 장치.
  11. 제10항에 있어서,
    상기 응답 메시지는, 손실된 패킷에 관한 정보, 상기 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 장치.
  12. 무선 통신 시스템에서 송신 장치의 동작 방법에 있어서,
    망 정보에 기초하여 전송 단위 별 송신 가능한 데이터의 최대 크기를 결정하는 과정과,
    상기 송신 가능한 데이터의 최대 크기에 기초하여 복수의 전송 제어 프로토콜(transmission control protocol, TCP) 연결들 각각의 전송 속도를 결정하는 과정과,
    상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하는 과정을 포함하는 방법.
  13. 제12항에 있어서,
    상기 데이터를 송신하는 과정은,
    이동 통신 망과의 통신을 위한 제1 통신 모듈 및 무선 랜(LAN)과의 통신을 위한 제2 통신 모듈 중 적어도 하나를 통해 상기 데이터를 송신하는 과정을 포함하는 방법.
  14. 제12항에 있어서,
    상기 망 정보는, 상기 단말이 이동 통신 망과의 통신을 위한 제1 통신 모듈을 통해 상기 데이터를 송수신할 경우, 측정된 버퍼 크기, 버퍼 상태 보고(buffer status report, BSR), 변조 및 부호화 방식(modulation and coding schemes, MSC), 할당된 자원 블록(resource block, RB), 무선 링크 제어(radio link control, RLC) 버퍼 크기 중 적어도 하나에 관한 정보를 포함하는 방법.
  15. 제12항에 있어서,
    상기 망 정보는, 상기 단말이 무선 랜과의 통신을 위한 제2 통신 모듈을 통해 상기 데이터를 송신할 경우, 최대 집합 크기(maximum aggregation size), MAC 버퍼 크기 중 적어도 하나에 관한 정보를 포함하는 방법.
  16. 제12항에 있어서,
    상기 전송 속도를 결정하는 과정은,
    상기 복수의 TCP 연결들의 개수, 상기 복수의 TCP 연결들 각각이 사용하는 서비스의 가중치 정보, 상기 복수의 TCP 연결들 각각이 사용하는 데이터 전송량 중 적어도 하나에 기초하여, 상기 복수의 TCP 연결들 각각의 송신 속도를 결정하는 과정을 포함하는 방법.
  17. 제16항에 있어서,
    상기 가중치 정보는, 상기 서비스의 종류, 상기 서비스가 이용하는 상기 송신 장치의 기능, 상기 서비스를 위한 대역폭, 상기 서비스를 위한 지연 속도(latency) 중 적어도 하나에 관한 정보를 포함하는 방법.
  18. 제16항에 있어서,
    상기 가중치 정보는, 상기 송신 장치의 사용자 인터페이스(user interface)를 통해 입력되는 신호에 따라 결정되고,
    상기 사용자 인터페이스를 표시하는 과정을 더 포함하는 방법.
  19. 제12항에 있어서,
    상기 전송 속도를 결정하는 과정은,
    상기 결정된 송신 가능한 데이터의 최대 크기를 상기 복수의 TCP 연결들 각각에 분배함으로써, 상기 TCP 연결들 각각의 전송 속도를 결정하는 과정을 포함하는 방법.
  20. 제12항에 있어서,
    상기 송신 가능한 데이터의 최대 크기를 결정하는 과정은,
    상기 수신 장치로부터 수신한 응답 메시지에 기초하여 상기 송신 가능한 데이터의 최대 크기를 결정하는 과정을 포함하고,
    상기 응답 메시지는, 상기 수신 장치에서 손실된 패킷에 관한 정보, 상기 수신 장치의 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 방법.
  21. 무선 통신 시스템의 수신 장치의 동작 방법에 있어서,
    수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하는 과정과,
    상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하는 과정을 포함하는 방법.
  22. 제21항에 있어서,
    상기 응답 메시지는, 손실된 패킷에 관한 정보, 상기 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 방법.
  23. 무선 통신 시스템에서 송신 장치에 있어서,
    망 정보에 기초하여 전송 단위 별 송신 가능한 데이터의 최대 크기를 결정하고, 상기 송신 가능한 데이터의 크기에 기초하여 복수의 전송 제어 프로토콜(transmission control protocol, TCP) 연결들 각각의 전송 속도를 결정하는 제어부와,
    상기 복수의 TCP 연결들 각각을 통해 수신 장치로 데이터를 송신하는 통신부를 포함하는 장치.
  24. 제23항에 있어서,
    상기 통신부는, 이동 통신 망과의 통신을 위한 제1 통신 모듈 및 무선 랜(LAN)과의 통신을 위한 제2 통신 모듈을 포함하는 장치.
  25. 제23항에 있어서,
    상기 망 정보는, 상기 통신부가 이동 통신 망과의 통신을 위한 제1 통신 모듈을 통해 상기 데이터를 송신할 경우, 측정된 버퍼 크기, 버퍼 상태 보고(buffer status report, BSR), 변조 및 부호화 방식(modulation and coding schemes, MSC), 할당된 자원 블록(resource block, RB), 무선 링크 제어(radio link control, RLC) 버퍼 크기 중 적어도 하나에 관한 정보 중 적어도 하나에 관한 정보를 포함하는 장치.
  26. 제23항에 있어서,
    상기 망 정보는, 상기 통신부가 무선 랜과의 통신을 위한 제2 통신 모듈을 통해 상기 데이터를 송신할 경우, 최대 집합 크기(maximum aggregation size), MAC 버퍼 크기 중 적어도 하나에 관한 정보 중 적어도 하나에 관한 정보를 포함하는 장치.
  27. 제23항에 있어서,
    상기 제어부는, 상기 복수의 TCP 연결들의 개수, 상기 복수의 TCP 연결들 각각이 사용하는 서비스의 가중치 정보, 상기 복수의 TCP 연결들 각각이 사용하는 데이터 전송량 중 적어도 하나에 기초하여, 상기 복수의 TCP 연결들 각각의 전송 속도를 결정하는 장치.
  28. 제27항에 있어서,
    상기 가중치 정보는, 상기 서비스의 종류, 상기 서비스가 이용하는 상기 송신 장치의 기능, 상기 서비스를 위한 대역폭, 상기 서비스를 위한 지연 속도(latency) 중 적어도 하나에 관한 정보를 포함하는 장치.
  29. 제27항에 있어서,
    상기 가중치 정보는, 상기 송신 장치의 사용자 인터페이스(user interface)를 통해 입력되는 신호에 따라 결정되고,
    상기 사용자 인터페이스를 표시하는 표시부를 더 포함하는 장치.
  30. 제23항에 있어서,
    상기 제어부는, 상기 결정된 송신 가능한 데이터의 최대 크기를 상기 복수의 TCP 연결들 각각에 분배함으로써, 상기 TCP 연결들 각각의 전송 속도를 결정하는 장치.
  31. 제23항에 있어서,
    상기 제어부는, 상기 수신 장치로부터 수신한 응답 메시지에 기초하여 상기 송신 가능한 데이터의 최대 크기를 결정하고,
    상기 응답 메시지는, 상기 수신 장치에서 손실된 패킷에 관한 정보, 상기 수신 장치의 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 장치.
  32. 무선 통신 시스템의 수신 장치에 있어서,
    수신된 데이터의 손실 여부, 수신 메모리의 부족 여부 중 적어도 하나에 기초하여 응답 메시지를 송신하기 위한 주기를 결정하는 제어부와,
    상기 결정된 주기에 따라 상기 응답 메시지를 송신 장치로 송신하는 통신부를 포함하는 장치.
  33. 제32항에 있어서,
    상기 응답 메시지는, 손실된 데이터에 관한 정보, 상기 수신 메모리에 관한 정보 중 적어도 하나를 포함하는 장치.
KR1020150109067A 2015-07-31 2015-07-31 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법 KR102406264B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150109067A KR102406264B1 (ko) 2015-07-31 2015-07-31 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법
US15/224,059 US10523574B2 (en) 2015-07-31 2016-07-29 Apparatus and method for controlling data transmission speed in wireless communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150109067A KR102406264B1 (ko) 2015-07-31 2015-07-31 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170014967A true KR20170014967A (ko) 2017-02-08
KR102406264B1 KR102406264B1 (ko) 2022-06-08

Family

ID=57886637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150109067A KR102406264B1 (ko) 2015-07-31 2015-07-31 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US10523574B2 (ko)
KR (1) KR102406264B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028326A (ko) * 2020-08-28 2022-03-08 네이버 주식회사 트래픽 제어 정보를 이용하여 미디어를 재생하는 방법과 시스템 및 컴퓨터 판독가능한 기록 매체

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3166364B1 (en) * 2014-08-07 2020-02-26 Huawei Technologies Co., Ltd. Physical downlink data channel transmission method, base station and user equipment
TW201924285A (zh) * 2017-10-06 2019-06-16 日商日本電氣股份有限公司 資料通信裝置、通信系統、資料通信方法及程式
US11190448B2 (en) * 2019-11-26 2021-11-30 Verizon Patent And Licensing Inc. Transport congestion control optimization based on network context
CN111586755B (zh) * 2020-05-08 2022-11-22 展讯通信(上海)有限公司 协同控制tcp层的方法、系统、设备、介质及通信终端
CN115208470A (zh) * 2022-07-07 2022-10-18 重庆邮电大学 基于模糊逻辑的混合多址接入vlc网络的资源分配方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120137019A1 (en) * 2010-11-29 2012-05-31 Verizon Patent And Licensing, Inc. Tcp window size performance optimization in wireless networks
US8902777B1 (en) * 2012-06-29 2014-12-02 Juniper Networks, Inc. Methods and apparatus for self-tuning aggregation of data units
KR20140143355A (ko) * 2011-12-28 2014-12-16 씨디에프 케 유안 지연이 큰 네트워크들에 대한 tcp 혼잡 제어
KR20150048530A (ko) * 2013-10-28 2015-05-07 엘지전자 주식회사 이동 단말기 및 그 이동 단말기의 데이터 송신 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473008B1 (ko) * 2007-08-13 2014-12-17 엘지전자 주식회사 VoIP 패킷을 전송하는 방법
US8780705B2 (en) 2009-04-30 2014-07-15 Freescale Semiconductor, Inc. Apparatus, communications system and method for optimizing data packet flow
US9712374B1 (en) * 2010-08-18 2017-07-18 Juniper Networks, Inc. Network services resource management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120137019A1 (en) * 2010-11-29 2012-05-31 Verizon Patent And Licensing, Inc. Tcp window size performance optimization in wireless networks
KR20140143355A (ko) * 2011-12-28 2014-12-16 씨디에프 케 유안 지연이 큰 네트워크들에 대한 tcp 혼잡 제어
US8902777B1 (en) * 2012-06-29 2014-12-02 Juniper Networks, Inc. Methods and apparatus for self-tuning aggregation of data units
KR20150048530A (ko) * 2013-10-28 2015-05-07 엘지전자 주식회사 이동 단말기 및 그 이동 단말기의 데이터 송신 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028326A (ko) * 2020-08-28 2022-03-08 네이버 주식회사 트래픽 제어 정보를 이용하여 미디어를 재생하는 방법과 시스템 및 컴퓨터 판독가능한 기록 매체

Also Published As

Publication number Publication date
US10523574B2 (en) 2019-12-31
US20170034735A1 (en) 2017-02-02
KR102406264B1 (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
CN111213416B (zh) 无线网络中上行链路控制信令资源的动态管理
EP3627933B1 (en) Communication method, terminal, and base station
JP5833695B2 (ja) マルチキャリア動作に対する無線リンク制御のプロトコルデータユニットを生成するための方法および装置
KR102406264B1 (ko) 무선 통신 시스템에서 데이터 송신 속도를 제어하기 위한 장치 및 방법
WO2013104330A1 (zh) 传输上行控制信息的方法、用户设备和基站
WO2018001185A1 (zh) 一种终端到终端d2d通信方法、相关设备及系统
WO2018126872A1 (zh) 请求资源的方法和装置
TWI710241B (zh) 聚合方法和用戶設備
CN105264977A (zh) 一种功率配置方法、用户设备及基站
US11057905B2 (en) Communication method, network device and terminal device
JP7262591B2 (ja) 無線通信方法及び装置
CN108605339A (zh) 一种上行控制信息传输的方法及装置
CN110506403A (zh) 用于无线设备的流控制
WO2022068177A1 (zh) 用于资源调度的通信方法及装置
CN108512632A (zh) 数据处理方法及装置
WO2019029463A1 (zh) 一种接收控制信息、发送控制信息的方法及设备
WO2018201984A1 (zh) 数据的传输方法和设备
WO2021179864A1 (zh) 码本反馈方法、网络设备、终端设备及计算机存储介质
WO2021155604A1 (zh) 信息处理方法及设备
RU2727166C1 (ru) Способ и устройство для передачи информации
CN109150457B (zh) 控制信息的传输方法和终端设备
US20090109951A1 (en) Method and Apparatus for Counting Transmission Times of a PDU
JP6980794B2 (ja) 無線通信方法、端末装置とネットワーク装置
US20170280424A1 (en) Resource allocation signaling in uplink frames in wireless networks
CN115996107A (zh) 通信方法、电子设备及计算机可读存储介质

Legal Events

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