KR102173084B1 - 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치 - Google Patents

무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치 Download PDF

Info

Publication number
KR102173084B1
KR102173084B1 KR1020130100494A KR20130100494A KR102173084B1 KR 102173084 B1 KR102173084 B1 KR 102173084B1 KR 1020130100494 A KR1020130100494 A KR 1020130100494A KR 20130100494 A KR20130100494 A KR 20130100494A KR 102173084 B1 KR102173084 B1 KR 102173084B1
Authority
KR
South Korea
Prior art keywords
redundancy rate
terminal
redundancy
packet
rate
Prior art date
Application number
KR1020130100494A
Other languages
English (en)
Other versions
KR20150022506A (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 KR1020130100494A priority Critical patent/KR102173084B1/ko
Priority to PCT/KR2014/007797 priority patent/WO2015026186A1/ko
Priority to US14/913,963 priority patent/US10271241B2/en
Publication of KR20150022506A publication Critical patent/KR20150022506A/ko
Application granted granted Critical
Publication of KR102173084B1 publication Critical patent/KR102173084B1/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/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0011Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding applied to payload information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Abstract

본 명세서의 실시 예에 따르는 무선통신 시스템의 프록시 서버에서 패킷 송수신 방법은 단말로부터 데이터 요청을 수신하는 과정; 상기 요청 받은 데이터를 데이터 서버에서 수신하는 과정; 기지국 또는 접속 포인트(Access Point, AP)로부터 피드백 정보를 수신하는 과정; 상기 피드백 정보를 기반으로 리던던시 레이트(Redundancy Rate)를 결정하는 과정; 상기 결정된 리던던시 레이트로 상기 수신한 데이터를 인코딩 하는 과정; 및 상기 인코딩 된 데이터를 상기 기지국 또는 AP로 전달하는 과정을 포함한다. 본 명세서의 실시 예에 따르면 한정된 유무선 자원을 효율 적으로 할 수 있으며, 기지국 또는 AP에 가해지는 부하를 효율적으로 컨트롤 할 수 있다.

Description

무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING DATA PACKETS IN A WIRELESS COMMUNICATION SYSTEM}
본 발명은 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치에 관한 것이다.
최근 3G, Wi-Fi 등의 통신을 위한 다수의 무선 인터페이스를 갖는 단말이 증가함에 따라 트랜스포트 계층(Transport Layer)에서 다수의 네트워크 링크를 인지하고 사용할 수 있도록 하기 위한 다중 경로 TCP(Multipath Transmission Control Protocol: MPTCP)의 중요성이 높아지고 있다.
상기 MPTCP는 기존의 단일 경로(single path) TCP 대비, 하나의 TCP 세션(session) 당 다수의 경로를 사용할 수 있도록 함으로써 다이버시티(diversity)로 인한 TCP 처리량(through)을 증대시키고 신뢰도(reliability)을 높이기 위해 제안된 기술이다.
도 1은 종래의 무선 통신 시스템에서 MPTCP를 기반으로 데이터를 송수신하는 과정을 나타낸 도면이다.
도 1의 (a)에 나타난 바와 같이, 송신기(100)는 송신할 데이터 패킷을 다수의 경로를 통해 상기 수신기(120)로 송신할 수 있다. 구체적으로, 상기 송신기(100)는 송신할 데이터 패킷인 "9, 8, 7, 6, 5, 4" 중 "9, 8, 6, 4"를 두 개의 경로 중 제1경로(110)를 통해 상기 수신기(120)로 송신하고, 상기 송신할 데이터 패킷 중 "1, 5"는 상기 두 개의 경로 중 제2경로(130)를 통해 상기 수신기(120)로 송신할 수 있다.
다른 방법으로, 상기 송신기(100)는 도 1의 (b)에 나타난 바와 같이 상기 송신할 데이터 패킷이 손실될 경우를 방지하기 위하여 상기 두 개의 경로에 동일한 데이터 패킷을 중복적으로 송신할 수 있다. 즉, 상기 송신기(100)는 상기 제1경로(110)를 통해 "7, 5, 9, 8, 6, 4"를 송신하고, 상기 제2경로(130)를 통해 상기 제1경로(110)로 송신된 데이터 패킷들 중 일부 동일한 패킷인 "7, 5"를 상기 수신기(120)로 송신할 수 있다.
이 경우, 상기 제2경로(130)를 통해 송신된 데이터 패킷이 손실되더라도 상기 수신기(120)는 상기 제1경로(110)를 통해 전체 데이터 패킷을 수신할 수 있어 상기 수신기(120)에서는 데이터 복호를 성공적으로 수행하는 것이 가능하다.
하지만, 상기와 같이 MPTCP를 사용하는 무선 통신 시스템에서는 각 경로마다 발생할 수 있는 패킷 손실(loss)로 인해 TCP 처리량이 감소되는 문제가 있다. 이는 패킷 손실이 발생하는 경우 순서가 맞지 않는(out-of-ordered) 데이터 패킷이 발생하여 TCP 윈도우 사이즈(window size)가 감소되기 때문이다.
또한 상기와 같이 MPTCP를 사용하는 무선 통신 시스템에서는 각 경로의 품질이 상이하므로 데이터 패킷의 전송 지연(delay) 문제가 발생할 수 있다. 데이터 패킷의 전송이 지연될 경우 데이터 복호 역시 지연(latency)되므로, 결과적으로 데이터 처리량이 감소하게 된다.
또한 이와 같은 상황에서 단말의 패킷 로스 레이트(Packet Loss Rate, PLR)에 비례하여 송수신 되는 패킷 중 하나 이상이 정상적으로 전송되지 않는 경우에도 단말이 수신한 패킷의 복호화를 용이하게 할 수 있도록 패킷 데이터에 리던던시(redundancy)를 추가하여 데이터를 송수신 할 수 있다. 이와 같이 리던던시를 추가하여 데이터를 송수신할 경우 전송되는 패킷의 일부가 손실되는 경우에도 리던던시 값에 따라 전송된 데이터를 성공적으로 복구할 수 있는 기술적 특징이 있다. 다만 이와 같이 데이터 패킷에 리던던시를 추가하여 신호를 송수신 할 경우 리던던시 추가를 위한 코딩에 따른 기지국 또는 접속 포인트(Access Point, AP)의 부하가 증가되는 문제가 발생할 수 있다. 또한 단말 별 각기 다른 PLR에 대응하여 데이터를 송수신 하기 위해서 한정된 무선 자원을 과도하게 사용하는 문제점이 발생할 수 있다.
따라서 이와 같은 문제를 해결하기 위한 방법 및 장치가 요구된다.
본 명세서의 실시 예는 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치를 제안한다.
본 명세서의 실시 예는 무선 통신 시스템에서 MPTCP에 적응적 랜덤 선형 코딩 방식(Adaptive Random Liner Coding Scheme)을 적용하여 패킷 손실 문제와 지연 문제를 해결할 수 있도록 하는 방법 및 장치를 제안한다.
본 명세서의 실시 예에 따르는 무선통신 시스템의 프록시 서버에서 패킷 송수신 방법은 단말로부터 데이터 요청을 수신하는 과정; 상기 요청 받은 데이터를 데이터 서버에서 수신하는 과정; 기지국 또는 접속 포인트(Access Point, AP)로부터 피드백 정보를 수신하는 과정; 상기 피드백 정보를 기반으로 리던던시 레이트(Redundancy Rate)를 결정하는 과정; 상기 결정된 리던던시 레이트로 상기 수신한 데이터를 인코딩 하는 과정; 및 상기 인코딩 된 데이터를 상기 기지국 또는 AP로 전달하는 과정을 포함한다.
본 명세서의 다른 실시 예에 따르는 무선통신 시스템의 기지국 또는 접속 포인트(Access Point, AP)에서 패킷 송수신 방법은 서버로부터 제1리던던시 레이트(redundancy rate)로 인코딩 된 패킷을 수신하는 과정; 단말로부터 상기 단말과 상기 AP 사이의 채널 상태 정보를 수신하는 과정; 상기 제1리던던시 레이트 및 상기 채널 상태 정보를 기반으로 상기 수신한 패킷을 인코딩 하는 과정; 및 상기 인코딩한 데이터를 상기 단말에 전송하는 과정을 포함한다.
본 명세서의 다른 실시 예에 따르는 무선통신 시스템의 단말에서 패킷 송수신 방법은 접속 포인트(Access Point, AP) 또는 기지국으로 채널 상태 정보를 전송하는 단계; 및 상기 AP 또는 기지국으로부터 상기 AP 또는 상기 기지국이 인코딩한 패킷을 수신하는 단계를 포함하고, 상기 수신한 패킷은 서버가 제1리던던시 레이트(redundancy rate)로 인코딩 하여 상기 AP 또는 상기 기지국에 전송한 패킷을 상기 AP 또는 기지국이 상기 채널 상태 정보 및 상기 제1리던던시 레이트를 기반으로 인코딩한 것을 특징으로 한다.
본 명세서의 다른 실시 예에 따르는 무선통신 시스템에서 패킷 송수신을 하는 프록시 서버는 기지국, 접속 포인트(Access Point, AP), 데이터 서버 및 단말 중 적어도 하나와 데이터 송수신하는 송수신부; 및 상기 송수신부를 제어하고, 상기 단말로부터 데이터 요청을 수신하고, 상기 요청 받은 데이터를 데이터 서버에서 수신하고, 기지국 또는 접속 포인트(Access Point, AP)로부터 피드백 정보를 수신하고, 상기 피드백 정보를 기반으로 리던던시 레이트(Redundancy Rate)를 결정하고, 상기 결정된 리던던시 레이트로 상기 수신한 데이터를 인코딩 하고, 상기 인코딩 된 데이터를 상기 기지국 또는 AP로 전달하는 제어부를 포함한다.
본 명세서의 다른 실시 예에 따르는 무선통신 시스템에서 패킷 송수신을 하는 송수신기는 프록시 서버 및 단말 중 적어도 하나와 데이터 송수신하는 송수신부; 및 상기 송수신부를 제어하고, 상기 서버로부터 제1리던던시 레이트(redundancy rate)로 인코딩 된 패킷을 수신하고, 상기 단말로부터 상기 단말과 상기 AP 사이의 채널 상태 정보를 수신하고, 상기 제1리던던시 레이트 및 상기 채널 상태 정보를 기반으로 상기 수신한 패킷을 인코딩 하고, 상기 인코딩한 데이터를 상기 단말에 전송하는 제어부를 포함한다.
본 명세서의 또 다른 실시 예에 따르는 무선통신 시스템에서 패킷 송수신을 하는 단말은 기지국, 접속 포인트(Access Point, AP) 및 프록시 서버 중 적어도 하나와 데이터 송수신하는 송수신부; 및 상기 송수신부를 제어하고, 상기 접속 포인트(Access Point, AP) 또는 기지국으로 채널 상태 정보를 전송하고, 상기 AP 또는 기지국으로부터 상기 AP 또는 상기 기지국이 인코딩한 패킷을 수신하는 제어부를 포함하고, 상기 수신한 패킷은 서버가 제1리던던시 레이트(redundancy rate)로 인코딩 하여 상기 AP 또는 상기 기지국에 전송한 패킷을 상기 AP 또는 기지국이 상기 채널 상태 정보 및 상기 제1리던던시 레이트를 기반으로 인코딩한 것을 특징으로 한다.
본 명세서의 실시 예에 따르면, MPTCP가 사용되는 무선 통신 시스템에서 패킷 손실 문제와 지연 문제를 해결할 수 있는 효과가 있다. 아울러 본 발명은 MPTCP에 적응적 랜덤 선형 코딩 방식(Adaptive Random Liner Coding Scheme)을 적용함으로써 TCP 처리량이 감소되는 것을 방지함과 아울러, 수신 버퍼 블록킹(Receiving Buffer Blocking) 문제를 방지할 수 있다. 또한 본 명세서의 실시 예에 따르면 한정된 유무선 자원을 효율 적으로 할 수 있으며, 기지국 또는 AP에 가해지는 부하를 효율적으로 컨트롤 할 수 있다.
도 1은 종래의 무선 통신 시스템에서 MPTCP를 기반으로 데이터를 송수신하는 과정을 나타낸 도면,
도 2는 MPTCP를 사용하는 무선 통신 시스템의 일 예를 보인 도면,
도 3은 무선 통신 시스템에서 MPTCP를 기반으로 데이터를 송수신하는 과정을 나타낸 도면,
도 4는 무선 통신 시스템에서 MPTCP를 기반으로 데이터를 송수신하는 또 다른 과정을 나타낸 도면,
도 5는 본 명세서의 실시 예에 따른 ARLC-MPTCP 제어 장치의 블록 구성도,
도 6은 본 명세서의 실시 예에 따른 적응적 배치 사이즈 제어 동작을 수행하는 과정을 나타낸 순서도,
도 7은 본 명세서의 실시 예에 따른 적응적 코딩/스케줄링 동작을 수행하는 과정을 나타낸 순서도,
도 8은 본 명세서의 실시 예에 따른 적응적 복구 동작을 수행하는 과정을 나타낸 순서도,
도 9는 본 명세서의 실시 예에 따른 송신기의 스케줄링 과정을 나타낸 순서도,
도 10은 본 명세서의 실시 예에 따른 수신기의 블록 구성도,
도 11은 본 명세서의 실시 예에 따른 수신기가 NC 패킷을 수신하는 과정을 나타낸 순서도,
도 12는 본 명세서의 실시 예에 따른 NC 패킷 송수신 과정을 보인 신호 흐름도,
도 13은 본 명세서의 실시 예에 따른 NC 패킷 송수신 과정의 구체적인 일 예를 보인 신호 흐름도,
도 14는 본 명세서의 실시 예에 따른 데이터 송수신을 수행하는 시스템의 구조를 도시하는 도면,
도 15는 본 명세서의 실시 예에 따른 AP/BS 및 프록시 서버(Proxy Server)의 구조를 도시하는 도면,
도 16는 본 명세서의 실시 예에 따른 단말과 통신 시스템 사이의 데이터 송수신을 도시하는 도면,
도 17은 본 명세서의 실시 예에 따른 프록시 서버의 동작을 도시하는 순서도,
도 18은 본 명세서의 다른 실시 예에 따른 프록시 서버의 동작을 도시하는 순서도,
도 19는 본 명세서의 다른 실시 예에 따른 AP/BS의 동작을 도시하는 순서도,
도 20은 본 명세서의 다른 실시 예에 따른 AP/BS의 동작을 도시하는 순서도,
도 21은 본 명세서의 실시 예에 따른 통신 시스템에서 신호 송수신 과정을 도시하는 도면.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서의 실시 예는 무선 통신 시스템에서 데이터 송수신 방법 및 장치를 제안한다. 구체적으로, 본 발명은 송신기가 수신기의 버퍼 상태 정보를 기반으로 상기 수신기로 송신할 제1데이터 패킷의 개수를 결정하고, 다수개의 경로 각각에 대한 패킷 손실율을 기반으로, 상기 결정된 개수의 제1데이터 패킷 중 적어도 하나와 동일한 제2데이터 패킷의 개수를 결정하고, 상기 결정된 개수의 제1데이터 패킷 및 제2데이터 패킷을 부호화하여 상기 다수개의 경로 각각을 통해 상기 수신기로 송신하는 방법 및 장치를 제안한다.
본 명세서의 실시 예에서 제안되는 무선 통신 시스템은 일 예로, 다중 경로 TCP(Multipath Transmission Control Protocol: MPTCP)를 사용하는 무선 통신 시스템이 될 수 있다. 상기 MPTCP가 사용되는 무선 통신 시스템은 일 예로 도 2에 나타난 바와 같다.
도 2는 MPTCP를 사용하는 무선 통신 시스템의 일 예를 보인 도면이다.
도 2를 참조하면, 상기 무선 통신 시스템은 이동 단말(200), 액세스 포인트(Access Point: AP) 및 기지국(Base Station) 등과 같은 제1노드 내지 제3노드(210)(220)(230), 인터넷 망의 서버(240)를 포함한다. 실시 예에서 AP는 WIFI AP를 포함할 수 있다.
상기 MPTCP가 사용될 경우 상기 이동 단말(200)과 상기 서버(240)는 상기 제1노드 내지 제3노드(210)(220)(230)에 의해 생성된 다수개의 경로를 사용하여 데이터를 송수신할 수 있다. 이와 같은 무선 통신 시스템에서는 다수개의 경로가 사용됨에 따라 기존의 단일 경로(single path) TCP가 사용될 때와 비교하여 처리량과 신뢰도를 높일 수 있다.
하지만 상기 무선 통신 시스템에서는 데이터 송수신시 다중 경로에서의 패킷 손실(loss) 및 지연 등을 고려하지 않음에 따라 여러 가지 문제가 발생할 수 있다. 이에 대하여 도 3 및 도 4를 참조하여 구체적으로 설명하기로 한다.
도 3은 일반적인 무선 통신 시스템에서 MPTCP를 기반으로 데이터를 송수신하는 과정을 나타낸 도면이다.
도 3을 참조하면, 송신기(300)과 수신기(330)는 제1경로(310)와 제2경로(320)를 사용하여 통신을 수행한다. 상기 송신기(300)는 상기 제1경로(310)를 사용하여 데이터 패킷 "a1, a3, a5, a7"을 송신하고, 상기 제2경로(320)를 사용하여 데이터 패킷 "a2, a4, a6, a8"을 송신한다.
하지만, 상기 제1경로(310) 및 제2경로(320)에서 패킷 손실이 발생할 경우 상기 수신기(330)에서는 데이터 패킷의 순서가 올바르지 않게 되어 데이터 처리를 제대로 수행할 수 없는 문제가 있다. 예를 들어, 상기 수신기(330)가 패킷 손실로 인해 상기 제1경로(310)에서 "a1"을 수신하지 못한 경우, 상기 "a3, a5, a7"을 모두 수신하더라도 데이터 복호를 수행할 수 없는 문제가 있다. 이와 유사하게, 상기 수신기(330)가 패킷 손실로 인해 상기 제2경로(320)에서 "a4, a6"을 수신하지 못한 경우 데이터 복호를 수행할 수 없는 문제가 있다.
결과적으로, 다수개의 경로에서 패킷 손실이 발생할 경우 TCP 윈도우 사이즈가 감소되어 전체적인 TCP 처리량이 감소되는 문제가 발생한다.
한편, MPTCP가 사용되는 경우 도 4에 도시된 바와 같은 수신 버퍼 블록킹(Receiving Buffer Blocking) 문제도 발생할 수 있다. 상기 수신 버퍼 블록킹 문제는 순서가 잘못된 데이터 패킷들로 수신 버퍼가 가득차서 수신해야 할 데이터 패킷을 수신하지 못함에 따라 발생될 수 있다.
도 4는 일반적인 무선 통신 시스템에서 MPTCP를 기반으로 데이터를 송수신하는 또 다른 과정을 나타낸 도면이다.
도 4를 참조하면, 송신기(400)과 수신기(440)는 제1경로(410), 제2경로(420) 및 제3경로(430)를 사용하여 통신을 수행한다. 상기 송신기(400)는 상기 제1경로(410)를 사용하여 데이터 패킷 "a1"을 송신하고, 상기 제2경로(420)를 사용하여 데이터 패킷 "a2, a5"를 송신하고, 상기 제3경로(430)를 사용하여 데이터 패킷 "a3, a6"을 송신할 수 있다.
상기 3가지 경로는 각각 서로 다른 경로 품질(quality)을 가짐에 따라 종단 간 지연 시간(end-to-end delay) 역시 서로 다른 값(variance of end-to-end delay)을 갖게 된다. TCP의 경우 수신 측에서 수신되는 패킷 순서가 정확해야 하므로 지연 시간의 차이가 발생하는 경우 패킷들에 대한 순서를 재정렬(reordering)해야 할 필요가 있다. 하지만 상기 재정렬이 수행될 경우 추가적인 시간이 소요되므로 그에 따른 지연(latency)의 문제가 발생하게 된다.
도 4의 실시 예에서, 상기 3가지 경로 중 상기 제1경로(410)가 가장 열악한 품질을 갖는 경우, 상기 수신기(440)에서 상기 제2경로(420) 및 제3경로(430)를 통한 데이터 패킷 "a2, a3, a5, a6"이 먼저 수신되고 상기 제1경로(410)를 통한 데이터 패킷 "a1"은 가장 늦게 수신될 수 있다. 앞서 설명한 바와 같이, TCP에서는 패킷의 순서가 중요하므로 "a1"이 수신되지 않을 경우 "a2, a3, a5, a6"는 아무런 의미가 없게 된다. 또한 상기 수신기(440)는 "a2, a3, a5, a6"이 수신되더라도 "a1"이 수신될 때까지 기다려야 하며 이에 따른 처리가 지연됨에 따라 전체적인 성능이 감소하게 되는 문제가 있다.
게다가, 상기 수신기(440)에서 데이터 패킷을 저장하는 버퍼의 사이즈가 작을 경우, 순서가 맞지 않는 데이터 패킷들로 인해 버퍼가 가득 차서 상기 수신기(440)에서는 원하는 데이터 패킷을 수신하지 못하고 빠른 속도로 데이터 패킷을 송수신할 수 있는 MPTCP의 특성을 활용할 수 없다. 따라서 기존에는 MPTCP 특성을 활용하여 지연 및 처리량 저하 등의 문제없이 데이터 패킷을 송수신할 수 있도록 하는 방안이 요구되고 있다.
이에 따라 본 발명의 실시 예에서는 MPTCP를 사용하는 무선 통신 시스템에서 적응적 랜덤 선형 코딩(Adaptive Random Linear Coding: ARLC) 방법을 사용하여 데이터 패킷을 송신할 수 있도록 함으로써, 패킷 손실에 따른 지연 문제와 성능 저하 문제를 해결함과 아울러 처리량을 향상시키고 신뢰도를 높일 수 있도록 하는 방법 및 장치를 제안한다.
상기 ARLC 방법은 송신할 데이터 패킷을 랜덤 선형 네트워크 코딩(Random Liner Network Coding: RLNC) 방식을 사용하여 부호화하는 방법이다. 여기서, 상기 RLNC는 선형 부호화 계수(Liner Encoding Coefficient)를 송신할 데이터 패킷에 적용하여 부호화하는 방식으로서, 무선 통신 시스템에서 중간(intermediate) 노드(일 예로, 이동 단말과 인터넷 망의 서버 사이의 노드) 등과 같은 특정 네트워크 노드에서 사용될 수 있다. 상기 선형 부호화 계수는 미리 설정된 다수의 선형 부호화 계수들로부터 랜덤하게 선택되어 사용될 수 있다.
상기 RLNC 방식에 따라 부호화된 데이터 패킷을 수학식으로 표현하면 일 예로 다음 수학식 1과 같다.
Figure 112013076942084-pat00001
상기 수학식 1에서 "x1, x2, ... , xm"은 송신할 데이터 패킷을 구성하는 데이터 심볼들을 나타내고, "c1,1, c1,2, ... , c1,m", "c2,1, ... , c2,m", ... , "cn,1, ... , cn,m"는 상기 네트워크 코드들 각각에 적용되는 선형 부호화 계수들을 나타내고, "y1, y2, ... , yn"는 부호화된 데이터 심볼들을 나타낸다.
한편, 네트워크 코딩(Network Coding: NC) 랭크(Rank)는 수신기에서 저장하고 있는 부호화 벡터들로 구성된 부호화 매트릭스의 행(column)의 개수를 나타낸다. 예를 들어 수신기에서 "a + b + c"를 수신한 경우, NC 랭크는 "rank(1, 1, 1)=1"로 표현될 수 있다. 그리고 상기 수신기에서 상기 "a + b + c"가 수신된 상태에서 "a + 2b + 3c"를 수신한 경우, 상기 NC 랭크는 "
Figure 112013076942084-pat00002
"와 같이 표현될 수 있으며, NC 랭크가 1 증가되었다고 판단될 수 있다.
이하 상기와 같은 사항을 고려하여 본 발명의 실시 예를 구체적으로 설명하기로 한다.
도 5는 본 발명의 실시 예에 따른 ARLC-MPTCP 제어 장치의 블록 구성도이다.
도 5를 참조하면, 상기 ARLC-MPTCP 제어 장치(550)는 어플리케이션 계층(Application Layer)(500)의 하위 계층인 NC-MPTCP 계층에 위치하며, 본 발명의 실시 예에서 제안하는 상기 NC-MPTCP 계층과 다른 계층 간의 인터페이스 역할을 수행한다.
상기 ARLC-MPTCP 제어 장치(550)는 ARLC-MPTCP 제어부(502), 리던던시(Redundancy) 코드 결정부(504), 스케줄러(506), 부호화/복호화부(508) 및 다수의 ARLC 정규 소켓(regular socket)(510)(512)(514)을 포함한다.
상기 ARLC-MPTCP 제어부(502)는 상기 리던던시 코드 결정부(504), 상기 스케줄러(506), 상기 부호화/복호화부(508) 및 상기 다수의 ARLC 정규 소켓 (510)(512)(514)을 제어함으로써 상기 ARLC-MPTCP 제어 장치(550)의 전반적인 동작(특히, 본 발명의 실시 예에서 제안하는 송신기의 동작)을 제어한다.
상기 리던던시 결정부(504)는 다수의 경로 각각에 대한 패킷 손실율(Total Packet Loss-Rate)을 추정하고, 상기 추정된 패킷 손실율에 따라 추가적으로 송신할 리던던시 데이터 패킷의 개수를 결정하기 위한 리던던시 비율을 결정한다. 상기 리던던시 데이터 패킷은 송신할 데이터 패킷들 중 적어도 하나와 동일한 중복적인 데이터 패킷을 나타낸다. 그리고 상기 다수의 경로 각각에 대한 패킷 손실율은 수신기로부터 수신한 피드백 정보를 기반으로 추정되거나, 데이터 패킷을 송신한 후 상기 수신기로부터 수신한 응답 신호(ACK 또는 NACK)의 개수 등을 기반으로 추정될 수 있다. 또한 실시 예에 따라 상기 리던던시 데이터 패킷은 오류 검출 기법 및 오류 정정 기법을 적용할 수 있도록 생성될 수 있다. 실시 예에 따른 오류 검출 기법은 패러티 검사, 블록 합 검사 CRC(Cyclic Redundancy Check) 및 체크섬(Checksum) 중 하나 이상을 포함할 수 있다. 또한 오류 정정 기법은 단일 비트 오류정정, 해밍 코드 및 상승코드 중 하나 이상을 포함할 수 있다. 또한 실시 예에 따라 리던던시 데이터 패킷은 전송되는 패킷이 손실되는 경우에도 패킷을 복구할 수 있도록 전송되는 데이터를 중복적으로 기입하는 방법들을 이용하여 생성될 수 있다.
상기 스케줄러(506)는 상기 결정된 리던던시 데이터 패킷 및 상기 다수의 경로 각각 별로 추정된 라운드 트립 시간(Round-Trip Time: RTT) 등을 기반으로 적응적 배치 사이즈 제어(Adaptive Batch size control) 동작, 적응적 코딩/스케줄링(Adaptive Coding/Scheduling) 동작 및 적응적 복구 동작을 수행한다. 상기 다수의 경로 각각 별 RTT 시간은 데이터 패킷 송신 후 응답 신호(ACK, 피드백 신호 등)이 수신된 시간을 기반으로 추정되거나, 상기 수신기로부터 수신된 피드백 정보에 포함된 RTT 정보를 기반으로 추정될 수 있다.
상기 부호화/복호화부(508)는 송신할 데이터 패킷을 부호화하고, 수신되는 데이터 패킷을 복호화한다. 그리고 상기 다수의 ARLC 정규 소켓 (510)(512)(514)은 상기 다수의 경로를 통해 수신기와 통신을 수행하기 위해 사용된다.
이하 상기 스케줄러(506)에 의해 수행되는 상기 적응적 배치 사이즈 제어 동작, 상기 적응적 코딩/스케줄링 동작 및 상기 적응적 복구 동작을 각각 구체적으로 설명하기로 한다.
(1) 적응적 배치 사이즈 제어 동작
앞서 설명한 바와 같이, 수신기에서 데이터 패킷을 저장하는 버퍼의 사이즈가 작을 경우, 순서가 맞지 않는 데이터 패킷들로 인해 버퍼가 가득 차서 상기 수신기에서는 원하는 데이터 패킷을 수신하지 못하고 빠른 속도로 데이터 패킷을 송수신할 수 있는 MPTCP의 특성을 활용할 수 없다.
이러한 문제를 해결하기 위해 상기 스케줄러(506)는 상기 수신기의 버퍼 사이즈를 고려하여 배치 사이즈를 결정하는 적응적 배치 사이즈 제어 동작을 수행한다. 배치는 데이터 패킷의 부호화(coding) 단위를 나타내며, 상기 배치 사이즈는 한번에 부호화될 데이터 패킷의 개수(즉, 송신할 데이터 패킷의 개수)를 나타낼 수 있다.
상기 수신기의 버퍼 사이즈가 40이고 배치 사이즈가 50일 경우, 수신기에서는 송신되는 전체 데이터 패킷을 수신하여 복호하는 것이 불가능하다. 또한 상기 배치 사이즈가 상기 버퍼 사이즈보다 클 경우 버퍼 에러에 덜 민감(less-sensitive)함과 아울러, 상기 수신기에서 수행되는 부호화/복호화 과정의 복잡도(complexity)가 높아지는 문제가 있다.
따라서 상기 배치 사이즈를 보다 효과적으로 결정할 수 있도록 본 발명의 실시 예에서는 도 6에 도시된 바와 같은 방법을 제안한다.
도 6은 본 발명의 실시 예에 따른 적응적 배치 사이즈 제어 동작을 수행하는 과정을 나타낸 순서도이다.
도 6을 참조하면, 상기 스케줄러(506)는 600 단계에서 수신기로부터 수신된 피드백 정보로부터 상기 수신기의 버퍼 상태 정보를 획득한다.
상기 피드백 정보는 일 예로 다음 표 1과 같이 나타날 수 있다.
Figure 112013076942084-pat00003
상기 표 1에서 "Batch#"는 배치 번호를 나타내며, "Rank of received codewords"는 수신된 데이터 패킷에 대한 랭크 정보를 나타내며, "Buffer status"는 상기 수신기의 버퍼 상태 정보를 나타내며, "Measured RTT"는 상기 수신기에서 측정된 RTT 정보를 나타내며, "Measured packet-loss rate of each flow"는 상기 수신기에서 측정된 다수의 경로 각각에 대한 패킷 손실율을 나타내며, 상기 "Successful decoding notification or NC-NACK"는 상기 수신기에서 배치 단위의 데이터 패킷의 복호가 성공적으로 수행되었음을 나타내는 정보 또는 상기 수신기에서 특정 데이터 패킷이 수신되지 않았음을 나타내는 NC-NACK를 나타낸다.
상기 피드백 정보는 상기 수신기에서 매 배치마다 데이터 패킷의 복호가 성공적으로 수행된 경우 혹은 상기 수신기에서 데이터 패킷이 수신되지 않은 경우에 수신될 수 있다.
한편, 상기 스케줄러(506)는 상기와 같은 피드백 정보를 통해 버퍼 상태 정보가 획득되면 602 단계에서 상기 버퍼 상태 정보를 기반으로 상기 수신기의 남은 버퍼 사이즈를 판단한다. 그리고 상기 스케줄러(506)는 604 단계에서 상기 남은 버퍼 사이즈와 적어도 하나의 마진(margin)값을 고려하여 상기 수신기가 사용 가능한 버퍼 사이즈를 판단하고, 상기 판단된 버퍼 사이즈를 기반으로 배치 사이즈를 결정한다.
상기 적어도 하나의 마진 값은 일 예로 다음 표 2의 ①~③에 나타난 바와 같은 3가지 값이 포함될 수 있다.
Figure 112013076942084-pat00004
상기 표 2를 참조하면, 상기 배치 사이즈는 수신기의 버퍼에서 데이터 저장된 부분과 상기 ①~③에 나타난 바와 같은 버퍼 마진값들 중 적어도 하나에 따른 부분을 제외한 나머지 부분에 대응하여 결정될 수 있음을 알 수 있다.
한편, 상기 적어도 하나의 마진 값이 상기 ②와 ③의 마진값을 포함하고 상기 ②와 ③의 마진 값의 총합이 전체 버퍼 사이즈를 초과하는 크기를 갖는 경우, 상기 ③의 마진값은 고려하지 않고 리던던시 데이터 패킷을 증가시킴으로써 상기 ②의 마진값이 최소가 되도록 할 수 있다.
상기 스케줄러(506)는 상기 배치 사이즈가 결정되면 606 단계에서 상기 수신기에서의 복잡도를 고려하여 상기 결정된 배치 사이즈를 조정한다. 상기 수신기에서의 복잡도는 상기 수신기의 복호 성능(얼마나 많은 양의 데이터를 복호할 수 있는지 또는 얼마나 큰 크기의 복호화 매트릭스를 처리할 수 있는지) 등을 기반으로 결정될 수 있으며, 상기 수신기의 복호 성능에 대한 정보는 초기 설정시 상기 수신기로부터 수신할 수 있다.
(2) 적응적 코딩/스케줄링 동작
상기 적응적 코딩/스케줄링 동작은 앞서 설명한 상기 적응적 배치 사이즈 제어 동작이 수행된 후 수행될 수 있다. 즉, 상기 적응적 코딩/스케줄링 동작은 상기 배치 사이즈가 결정된 후 수행될 수 있다.
도 7은 본 발명의 실시 예에 따른 적응적 코딩/스케줄링 동작을 수행하는 과정을 나타낸 순서도이다.
도 7을 참조하면, 상기 스케줄러(506)는 700 단계에서 배치 사이즈를 기반으로 송신할 데이터 패킷을 결정한다. 즉, 상기 스케줄러(506)는 배치 사이즈에 대응되도록 송신할 데이터 패킷의 개수를 결정한다.
이어 상기 스케줄러(506)는 702 단계에서 추정된 다수개의 경로 각각에 대한 패킷 손실율을 기반으로 리던던시 데이터 패킷을 결정하고, 704 단계에서 상기 송신할 데이터 패킷과 상기 리던던시 데이터 패킷을 결합하여 NC 패킷들을 생성한다.
만약 수신기의 버퍼 사이즈가 100이고, 상기 배치 사이즈가 20이고, 리던던시 비율이 10%인 경우, 배치 사이즈에 대응되는 20개의 데이터 패킷에 추가적으로 리던던시 데이터 패킷 2개가 합쳐져 22개의 NC 패킷들이 생성될 수 있다(20*(1+0.1)=22).
상기 스케줄러(506)는 705 단계에서 상기 생성된 NC 패킷들을 다수의 선형 부호화 계수들 중 랜덤하게 선택된 선형 부호화 계수를 사용하여 부호화한다. 그리고 상기 스케줄러(506)는 706 단계에서 추정된 패킷 도착 시간을 기반으로 상기 부호화된 NC 패킷들을 송신할 경로들을 결정하고, 708 단계에서 상기 결정된 경로들을 사용하여 상기 부호화된 NC 패킷들을 송신한다.
상기와 같은 상기 적응적 코딩/스케줄링 동작은 정확한 패킷 손실율 추정을 통한 리던던시 데이터 패킷을 결정하기 위한 것으로서, 시변(Time-varying) 네트워크 환경에서 변화하는 패킷 손실율을 배치 단위로 주기적으로 반영함으로써 수행될 수 있다.
(3) 적응적 복구 동작
추정된 패킷 손실율을 초과하는 에러가 발생된 경우 수신기에서는 NC-NACK을 생성하여 해당 개수만큼의 NC 패킷을 재전송해줄 것을 송신기에 요청한다. 상기 재전송될 NC 패킷은 가장 적은 패킷 손실율을 가지며 지연이 적은 경로로 상기 수신기에 송신되어야 한다. 이를 위해 본 발명의 실시 예에서는 다음과 같은 적응적 복구 동작이 수행될 수 있다.
도 8은 본 발명의 실시 예에 따른 적응적 복구 동작을 수행하는 과정을 나타낸 순서도이다.
도 8을 참조하면, 상기 스케줄러(506)는 800 단계에서 상기 수신기로부터 NC-NACK가 포함된 피드백 정보를 수신한다. 그리고 상기 스케줄러(506)는 802 단계에서 상기 피드백 정보에 포함된 패킷 손실율 및 RTT를 기반으로 다수의 경로 중 가장 지연이 적고 가장 패킷 손실율이 적은 경로를 선택한다. 이어 상기 스케줄러(506)는 804 단계에서 상기 선택된 경로를 사용하여 재전송할 NC 패킷을 상기 수신기로 송신한다. 이와 같은 과정이 수행될 경우 MPTCP 사용에 따른 다이버시티 이득이 획득될 수 있다.
이하 도 9를 참조하여 상기에서 설명한 3가지 동작이 수행되는 과정을 간략히 살펴보기로 한다. 이하에서는 편의상 상기 ARLC-MPTCP 제어 장치(550)를 송신기라 칭하기로 한다.
도 9는 본 발명의 실시 예에 따른 송신기의 스케줄링 과정을 나타낸 순서도이다.
도 9를 참조하면, 상기 송신기는 900 단계에서 다수의 경로 각각에 대한 패킷 손실율을 추정하고, 902 단계에서 상기 적응적 배치 사이즈 제어 동작을 수행함으로써 배치 사이즈를 결정한다. 그리고 상기 송신기는 904 단계에서 상기 추정된 패킷 손실율 및 배치 사이즈를 기반으로 적응적 코딩/스케줄링 동작을 수행하고, 906 단계에서 수신기로부터 NC-NACK가 포함된 피드백 정보가 수신되는지 여부를 판단한다.
상기 송신기는 NC-NACK가 포함된 피드백 정보가 수신되지 않은 경우 900 단계로 되돌아가고, 상기 NC-NACK가 포함된 피드백 정보가 수신된 경우 908 단계로 진행하여 상기 수신기에서 수신되지 못한 NC 패킷들을 재전송하기 위한 적응적 복구 동작을 수행한다.
다음으로, 본 발명의 실시 예에 따른 수신기를 살펴보기로 한다. 먼저, 도 10을 참조하여 상기 수신기의 내부 구성을 살펴보기로 한다.
도 10은 본 발명의 실시 예에 따른 수신기의 블록 구성도이다.
도 10을 참조하면, 상기 수신기는 무선부(1000), 제어부(1002), 복호화/부호화부(1004) 및 메모리(1006)를 포함한다.
상기 무선부(1000)는 3G, Wi-Fi 및 LTE 등과 같이 서로 다른 통신을 기반으로 NC 패킷 송수신을 수행하기 위한 다수의 무선 인터페이스(제1인터페이스, 제2인터페이스 및 제3인터페이스 등)를 포함한다.
그리고 상기 제어부(1002)는 상기 무선부(1000), 복호/부호부(1004) 및 메모리(1006)를 제어함으로써 본 발명의 실시 예에 따른 수신기의 동작을 수행할 수 있도록 한다.
상기 복호화/부호화부(1004)는 송신기로부터 수신된 스케줄링 정보 및 NC 패킷 등을 복호하거나 송신기로 송신할 피드백 정보 등과 같은 다양한 정보를 부호화한다. 상기 복호화/부호화부(1004)는 하나의 물리적인 구성부로서 복호/부호화 동작을 모두 수행하거나, 복호화부 및 부호화부와 같이 물리적으로 구분되는 각각의 구성부로서 복호화 동작 및 부호화 동작을 각각 수행할 수 있다.
상기 메모리(1006)는 상기 수신된 스케줄링 정보 및 송신할 피드백 정보 등과 같이 상기 수신기의 동작에 따라 생성되는 다양한 정보를 저장한다. 그리고 상기 메모리(1006)는 수신된 NC 패킷을 저장하기 위한 버퍼를 포함할 수 잇다.
이하 상기와 같이 구성된 수신기가 NC 패킷 수신을 수신하는 방법에 대해 도 11을 참조하여 설명하기로 한다.
도 11은 본 발명의 실시 예에 따른 수신기가 NC 패킷을 수신하는 과정을 나타낸 순서도이다.
도 11을 참조하면, 상기 수신기는 1100 단계에서 송신기로부터 스케줄링 정보를 수신한다. 상기 스케줄링 정보에는 배치 사이즈 및 리던던시 데이터 패킷에 대한 정보 등이 포함될 수 있다. 이어 상기 수신기는 1102 단계에서 상기 스케줄링 정보에 따라 다중 경로를 통해 상기 송신기로부터 NC 패킷들을 수신한다.
상기 수신기는 1104 단계에서 NC 랭크를 체크하여, 상기 NC 랭크가 1 증가했는지 여부를 판단한다. 상기 수신기는 1106 단계에서 상기 NC 랭크가 1 증가한 것으로 판단되면, 1108 단계에서 NC-ACK를 상기 송신기로 송신한다. 이와 달리, 상기 수신기는 상기 NC 랭크가 1 증가하지 않은 것으로 판단되면 NC 패킷들을 계속 수신한다. 그리고, 상기 수신기는 1110 단계에서 패킷 번호를 기반으로 수신되지 않은 패킷이 존재하는 경우 NC-NACK이 포함된 피드백 정보를 상기 송신기로 송신한다. 이어 상기 수신기는 1112 단계에서 재송신된 NC 패킷을 상기 송신기로부터 수신한다.
상기 수신기는 1114 단계에서 수신된 NC 패킷의 수가 배치 사이즈에 대응하는지 판단한다. 상기 수신기는 1116 단계에서 상기 수신된 NC 패킷의 수가 상기 배치 사이즈에 대응하지 않으면, 1102 단계로 되돌아간다. 그리고 상기 수신기는 상기 수신된 NC 패킷의 수가 상기 배치 사이즈에 대응되는 것으로 판단되면, 1118 단계로 진행하여 복호 성공 지시자가 포함된 피드백 정보를 상기 송신기로 송신한다.
이하 도 12를 참조하여 본 발명의 실시 예에 따른 NC 패킷 송수신 과정에 대해 설명하기로 한다.
도 12는 본 발명의 실시 예에 따른 NC 패킷 송수신 과정을 보인 신호 흐름도이다.
도 12를 참조하면, 송신기(1250)와 수신기(1260)는 3개의 경로(제1경로(1221), 제2경로(1222) 및 제3경로(1223))를 사용하여 통신을 수행한다.
먼저, 상기 송신기(1250)는 1200 단계에서 각 경로에 대해 패킷 손실율을 추정하여 리던던시 데이터를 결정한다. 이어 상기 송신기(1250)는 적응적 배치 사이즈 제어 동작을 통해 배치 사이즈가 결정되면, 1202 단계에서 적응적 코딩/스케줄링 동작을 수행하여 상기 3개의 경로 각각에 송신할 NC 패킷들을 할당한다. 그리고 상기 송신기(1250)는 1204 단계에서 스케줄링 정보를 상기 수신기(1260)로 송신한다.
상기 스케줄링 정보는 일 예로 다음 표 3과 같이 나타날 수 있다.
Figure 112013076942084-pat00005
상기 표 3에서 "Batch (block)#"는 배치 번호를 나타내며, "Batch size"는 배치 사이즈를 나타내며,"Packet sequence # of batch"는 해당 배치 내의 패킷 번호를 나타내며,"Redundancy"는 리던던시 데이터에 대한 정보를 나타내며, "Estimated RTT for each flow"는 각 경로에 대해 추정된 RTT를 나타내며, "Coding coefficients of all coded packets"는 해당 패킷이 부호화될 때 사용된 부호화 계수에 대한 정보를 나타내는데, 상기 표 3과 같은 스케줄링 정보에 이미 모든 배치의 부호화 계수에 대한 정보가 포함되어 송신된 경우에는 다시 송신될 필요는 없다.
상기 수신기(1260)는 상기와 같은 스케줄링 정보를 수신하게 되면, 1206 단계에서 해당 배치 사이즈에 따른 NC 패킷들을 상기 송신기(1250)로부터 수신하게 된다. 여기서 상기 송신기(1250)부터 수신되는 NC 패킷들은 각각 다음 표 4와 같이 나타날 수 있다.
Figure 112013076942084-pat00006
상기 표 4에서 "NC-indicator"는 해당 패킷이 NC 패킷임을 지시하는 정보를 나타내며(일 예로, 0 또는 1로 설정될 수 있음), "Batch#"는 배치 번호를 나타내며, "Coding coefficient"는 해당 패킷이 부호화될 때 사용된 부호화 계수에 대한 정보를 나타내며, "Data"는 데이터를 나타낸다.
상기 수신기(1260)는 1208 단계에서 NC 랭크를 체크하여 상기 NC 랭크가 1 증가하였는지 여부를 판단한다. 그리고 상기 수신기(1260)는 상기 NC 랭크가 1 증가한 경우, 1210 단계에서 상기 송신기(1250)로 NC-ACK를 송신하여 해당 NC 패킷들이 수신되었음을 알린다. 한편, 상기 NC-ACK는 일 예로 다음 표 5와 같이 나타날 수 있다.
Figure 112013076942084-pat00007
상기 표 5에서 "Rank of received codewords"는 상기 수신기(1260)에서 체크된 랭크 정보를 나타내고, "Batch#"는 배치 번호를 나타낸다.
상기 송신기(1250)는 상기 NC-ACK가 수신되면 1206 단계에서 그 다음 NC 패킷들을 상기 수신기(1260)로 송신한다. 그러면 상기 수신기(1260)는 버퍼 사이즈에 대응하는 NC 패킷들이 수신되었는지 여부를 판단하고, 상기 버퍼 사이즈에 대응하는 NC 패킷들이 수신된 경우 1208 단계에서 상기 NC 패킷들에 대한 복호 동작을 수행한 후 어플리케이션 계층으로 복호된 NC 패킷들을 전달한다. 예를 들어, 배치 사이즈가 20이고 체크된 NC 랭크가 20인 것으로 판단되면 상기 수신기(1260)는 수신된 20개의 NC 패킷을 복호하고, 상기 복호된 20개의 NC 패킷들을 상기 어플리케이션으로 송신함으로써 수신 버퍼 블록킹 문제가 방지될 수 있도록 한다.
한편, 상기 수신기(1260)는 수신된 NC 패킷들이 상기 버퍼 사이즈에 대응하지 않는 경우, 상기 송신기(1250)로부터 추가적으로 NC 패킷들을 수신한다. 그리고 상기 수신기(1260)는 해당 배치 사이즈에 대응되는 NC 패킷들이 모두 수신되어 복호된 경우, 1216 단계에서 해당 배치 사이즈에 대응하는 NC 패킷들이 모두 성공적으로 복호되었음을 알리는 정보를 상기 피드백 정보에 포함시켜 상기 송신기(1250)로 송신한다. 여기서, 상기 피드백 정보는 앞서 설명한 표 1에 나타낸 바와 같이, 배치 번호, 랭크 정보, 버퍼 상태 정보, RTT 정보, 패킷 손실율 등의 정보가 더 포함되어 송신될 수 있다.
한편, 상기와 같이 배치 단위로 수행되는 과정이 모두 종료되면, 상기 송신기(1250)와 수신기(1260)는 1218 단계에서 앞서 수행된 과정과 유사한 과정을 반복 수행하거나, 적응적 복구 과정을 수행할 수 있다. 상기 적응적 복구 과정은 상기 수신기(1260)가 수신되지 못한 NC 패킷들이 검출된 경우 NC-NACK이 포함된 피드백 정보를 상기 송신기(1250)로 송신함으로써 해당 NC 패킷들이 재전송될 수 있도록 하는 과정이다.
다음으로, 도 13을 참조하여 본 발명의 실시 예에 따른 NC 패킷 송수신 과정의 구체적인 일 예를 보인 신호 흐름도이다.
도 13을 참조하면, 송신기(1350)와 수신기(1360)는 3개의 경로(제1경로(1331), 제2경로(1332) 및 제3경로(1333))를 사용하여 통신을 수행한다. 그리고 배치 사이즈가 20이고 리던던시 비율이 10%인 경우, 송신할 데이터 패킷의 개수는 20개로 결정될 수 있으며 리던던시 데이터 패킷은 2개로 결정될 수 있다. 즉, NC 패킷의 개수는 22개가 될 수 있다.
상기 제1경로(1331)를 통해 "a1"(1301), "a1 + a2"(1311), "a2"(1321)이 순차적으로 송신되는 경우, 패킷 손실로 인해 상기 "a1"(1301)가 상기 수신기(1360)에 수신되지 않더라도 상기 수신기(1360)에서는 "a1"과 "a2"를 모두 획득할 수 있으므로 복호화 동작에 문제가 발생하지 않는다.
이와 유사하게, 상기 제3경로(1333)를 통해 "a5"(1303), "a6"(1313), "a5 + a6"(1323)이 순차적으로 송신되는 경우, 패킷 손실로 인해 상기 "a6"(1313)이 상기 수신기(1360)에 수신되지 않더라도 상기 수신기(1360)에서는 "a5"와 "a6"을 모두 획득할 수 있으므로 복호화 동작에 문제가 발생하지 않는다.
즉, 상기 제2경로(1332)에서 순차적으로 송신된"a3"(1302), "a3 + a4"(1312), "a3"(1322)을 상기 수신기(1360)에서 모두 수신하여 복호한 경우와 마찬가지로, 상기 제1경로(1331) 및 제3경로(1333)에서는 복호 동작을 수행하는데에 문제가 없다.
그리고 만약 수신된 NC 패킷만으로 복호화 동작을 수행할 수 없을 경우에는 상기 수신기(1360)에서 수신되지 못한 NC 패킷들을 재전송받아 복호 동작이 성공적으로 수행될 수 있도록 할 수 있다.
또한 상기 수신기(1360)에서는 해당 NC 패킷들에 대한 복호 동작이 성공적으로 수행되었음을 알리기 위한 피드백 정보(1327)를 상기 송신기(1350)로 송신함으로써 그 다음 배치 사이즈에 대응되는 NC 패킷들에 대한 송수신 동작이 수행될 수 있도록 할 수 있다.
이상에서 설명한 본 발명의 실시 예에 따른 방법 및 장치는 MPTCP를 사용하는 무선 네트워크 환경에서 다양하게 활용될 수 있다.
예를 들어, 본 발명의 실시 예에 따른 방법 및 장치는 기지국(또는 액세스 포인트)과 인터넷 망 사이에 존재하는 프록시 서버와 이동 단말 사이(또는 상기 기지국 및 액세스 노드 등과 이동 단말 사이)에 다수의 경로를 통한 통신을 위해 사용될 수 있다. 이 경우, 상기 프록시 서버는 다수의 경로 중 상대적으로 여유있는 경로에 트래픽을 할당함으로써 자원 혼잡을 줄일 수 있다.
그리고 상기와 같은 환경에서 지연 시간 및 패킷 손실율을 고려한 패킷 송수신을 통해 다중 경로 다이버시티 이득이 획득될 수 있으며, 자원 활용도(utilization)가 향상됨에 따라 처리량이 증가될 수 있다. 또한 연결이 끊어진 링크(failed link)로부터 다른 링크로 빠르게 전환될 수 있도록 함에 따라 패킷 송수신에 따른 안정성을 높이고 신뢰도를 향상시킬 수 있다.
도 14는 본 명세서의 실시 예에 따른 데이터 송수신을 수행하는 시스템의 구조를 도시하는 도면이다.
도 14를 참조하면, 실시 예의 단말(1405)는 기지국(1410) 및 AP(1420) 중 적어도 하나를 통해 게이트웨이(1415)와 연결될 수 있다. 실시 예에서 게이트웨이(1415)는 서빙 게이트웨이(Serving Gateway, S-GW) 및 PDN 게이트웨이(Packet Data Network Gageway, P-GW) 중 하나 이상을 포함할 수 있다.
기지국(1410) 및 AP(1420) 중 하나 이상은 단말(1405)에게 보낼 데이터의 리던던시 레이트를 조절할 수 있다. 실시 예에 따라 기지국(1410) 및 AP(1420) 중 하나 이상은 단말(1405)의 PLR을 기반으로 리던던시 레이트를 조절할 수 있다. 또한 기지국(1410) 및 AP(1420) 중 하나 이상은 프록시 서버(1425, 1430)로부터 수신한 패킷에 리던던시 레이트를 추가하거나 삭제하여 단말(1405)로 전달할 수 있다.
게이트웨이(1415)는 인터넷 망의 서버(1435)과 연결될 수 있으며, 단말(1405)과 인터넷 망의 서버(1430) 사이에 데이터를 전달할 수 있다. 실시 예의 통신 시스템은 하나 이산의 프록시 서버(Proxy Server)(1425, 1430)를 포함할 수 있다. 실시 예에 따라 프록시 서버(1425, 1430)는 게이트웨이(1415)와 같은 노드 상에 위치(collocated)할 수 있다.
실시 예에서 프록시 서버(1425, 1430)는 인터넷 망의 서버(1435)에서 수신한 데이터를 저장할 수 있다. 또한 프록시 서버(1425, 1430)는 상기 수신한 데이터에 리던던시 패킷을 인코딩하여 저장할 수 있다. 또한 실시 예에서 프록시 서버(1425, 1430)는 단말(1405)이 요청하는 데이터를 인터넷 망의 서버(1435)로부터 수신하여 실시간으로 인코딩하여 단말(1405)에 전달할 수 있다. 실시 예에서 프록시 서버(1425, 1430)는 기지국(1410), AP(1420) 및 단말(1405) 중 적어도 하나로부터 수신된 피드백 정보를 기반으로 리던던시 패킷 생성을 할 수 있다. 보다 구체적으로 프록시 서버(1425, 1430)는 상기 피드백을 기반으로 리던던시 비율(rate)를 조절할 수 있다. 일 실시 예에 따르면 통신 시스템 상의 기지국(1410) 또는 AP(1420)의 인코딩 부하가 커질 경우 프록시 서버(1425, 1430)는 보다 높은 비율의 리던던시 패킷을 생성하도록 인터넷 망의 서버(1435)로부터 수신한 데이터를 인코딩 할 수 있다.
실시 예에서 단말(1405)는 제1경로, 제2경로 및 제3경로 중 하나 이상을 통해 데이터를 수신할 수 있으며, 이전의 실시 예에서 설명한 MPTCP를 통해 데이터를 송수신 할 수 있다.
도 15는 본 명세서의 실시 예에 따른 AP/BS 및 프록시 서버(Proxy Server)의 구조를 도시하는 도면이다.
도 15을 참조하면, AP 또는 기지국(Base Station, BS)은 TCP 레이어(1510), ALC-MPTCP 레이어(1520) 및 IP 레이어(1530)을 포함할 수 있다.
실시 예에서 ALC-MPTCP 레이어(1520)는 리던던시 제어부(1522), 경로 제어부(1524) 및 인코딩부(1526) 중 하나 이상을 포함할 수 있다.
실시 예에서 리던던시 제어부(1522)는 프록시 서버(1555)로부터 수신한 데이터에 추가하거나 제거할 리던던시 레이트를 결정할 수 있다. 실시 예에서 상기 데이터를 수신할 단말의 PLR이 수신한 데이터의 리던던시 값과 대비하여 높을 경우 리던던시 제어부(1522)는 추가할 리던던시 값을 결정할 수 있고, 단말의 PLR이 수신한 데이터의 리던던시 값과 대비하여 낮을 경우 제거할 리던던시 값을 결정할 수 있다.
경로 제어부(1524)는 MPTCP를 수행하기 위한 경로를 결정할 수 있다. 이는 앞의 실시예의 동작에 대응할 수 있다.
인코딩부(1526)는 리던던시 제어부(1522)가 결정한 리던던시 레이트에 따라 전송할 데이터를 인코딩 할 수 있다.
또한 AP/BS(1505)는 다른 네트워크와 데이터를 송수신할 수 있는 송수신부를 더 포함할 수 있다.
프록시 서버(1555)는 애플리케이션 레이어(1560), TCP 레이어(1585) 및 IP 레이어(1590) 중 하나 이상을 포함할 수 있다.
애플리 케이션 레이어는 또다시 애플리 케이션 레이어(1562) 및 MPTCP 레이어(1564)를 포함할 수 있다.
실시 예에서 ALC-MPTCP 레이어(1570)는 TCP 레이어(1585) 및 IP 레이어(1590) 중 하나 이상에 위치할 수 있다. 실시예에서 ACL-MPTCP 레이어(1570)는 경로 조건 예측부(1571), 코딩 레이터 제어부(1572), 스케줄링부(1573), 데이터 수집부(1574) 및 인코딩부(1575) 중 하나 이상을 포함할 수 있다.
경로 조건 예측부(1571)은 실시 예에서 MPTCP를 수행하기 위한 경로 조건을 예측할 수 있다.
코딩 레이트 제어부(1572)는 실시 예에서 단말 및 AP/BS로부터 수신된 정보 중 하나 이상을 기반으로 리던던시 레이터를 포함하는 코딩 레이트를 결정할 수 있다. 일 예로 코딩 레이트 제어부(1572)는 단말들의 PLR이 전반적으로 높이질 경우 리던던시 레이터를 보다 높게 결정할 수 있다.
스케줄링부(1573)은 데이터 송수신을 위한 스케줄링을 수행할 수 있다.
데이터 수집부(1574)는 단말 및 AP/BS 중 하나이상으로부터 데이터를 수집할 수 있고, 코딩 레이트 제어부(1572)는 이를 기반으로 코딩 레이트를 결정할 수 있다.
인코딩부(1575)는 코딩 레이트 제어부(1572)가 결정한 코딩 레이트로 데이터를 인코딩 할 수 있다. 실시 예에서 인코딩부(1575)는 AP/BS(1505)에 전송할 데이터를 인코딩하여 결정된 리던던시 값을 가지도록 할 수 있다.
도 16는 본 명세서의 실시 예에 따른 단말과 통신 시스템 사이의 데이터 송수신을 도시하는 도면이다.
도 16을 참조하면, 단말(1602, 1604, 1606, 1608)은 AP 및 BS(1612, 1614, 1616) 중 적어도 하나를 통해 프록시 서버(1620)와 데이터를 송수신 할 수 있다. 단말(1602, 1604, 1606, 1608)은 각기 다른 PLR(Packet Loss Rate)를 가질 수 있으며, 실시 예에서 각 단말(1602, 1604, 1606, 1608)은 각각 동일한 데이터 또는 다른 데이터를 프록시 서버(1620)에 요청할 수 있다. 또한 각 단말(1602, 1604, 1606, 1608)은 제1경로, 제2경로 및 제3경로 중 적어도 하나를 통해 프록시 서버(1620)에 데이터 전송을 요청할 수 있다.
프록시 서버(1620)은 각 단말(1602, 1604, 1606, 1608)이 요청한 데이터가 저정된 인터넷 상의 서버 상에서 상기 데이터를 수신하여 이를 인코딩하여 단말(1602, 1604, 1606, 1608)로 전달할 수 있다.
AP 및 BS(1612, 1614, 1616) 중 적어도 하나는 프록시 서버(1620)로부터 수신한 데이터를 단말(1602, 1604, 1606, 1608)로 전달할 수 있다. 실시 예에서 AP 및 BS(1612, 1614, 1616) 중 적어도 하나는 단말(1602, 1604, 1606, 1608)의 PLR과 프록시 서버(1620)로부터 수신한 데이터의 리던던시 값을 기반으로 추가적인 리던던시를 확보하기 위해 인코딩을 하거나, 리던던시를 줄이기 위해 인코딩을 하여 이를 각 단말(1602, 1604, 1606, 1608)로 전달할 수 있다.
단말(1602, 1604, 1606, 1608)은 수신한 데이터를 디코딩하여 데이터를 복구할 수 있다.
실시 예에서 프록시 서버(1620)는 단말(1602, 1604, 1606, 1608), AP 및 BS(1612, 1614, 1616) 중 적어도 하나로부터 아래와 같은 피드백 정보를 수신할 수 있다.
Expected Encoding Delay Given Redundancy UE Required Redundancy Available Bandwidth btw BS/AP - Server Measured Packet Arrival at BS/AP Congestion Info - path control
Expected Encoding Delay Given Redundancy: 주어진 리던던시로 프록시 서버(1635)가 BS/AP로 데이터를 전송할 경우, BS/AP에서 인코딩 하는데 소요되는 시간과 관련된 정보를 포함한다. computational complexity에 비례하며 상기 BS/AP의 계산 능력에 따라 다른 값을 가질 수 있다.
UE Required Redundancy: 단말이 요구하는 리던던시 값으로, 이는 단말의 PLR에 따라 결정될 수 있다.
Available Bandwidth btw BS/AP - Server: 프록시 서버(1635)와 BS/AP 사이에 대역폭 정보를 포함할 수 있다. 상기 대역폭 정보를 기반으로 프록시 서버(1635)는 리던던시 레이트를 결정할 수 있다.
Measured Packet Arrival at BS/AP : 단말과 AP/BS 사이의 채널 정보를 포함할 수 있다. 상기 채널 정보는 전송 가능량 및 전송에 걸리는 시간 중 적어도 하나를 포함할 수 있다. 이 정보를 기반으로 AP/BS는 단말로 전송하는 데이터의 리던던시 레이트를 최종적으로 결정할 수 있.
Congestion Info - path control: 프록시서버(1635)에서 단말까지의 경로 혼잡에 대한 정보를 포함할 수 있다. 이를 통해 복수개의 경로로 전달되는 데이터의 스케줄을 조절할 수 있다.
도 17은 본 명세서의 실시 예에 따른 프록시 서버의 동작을 도시하는 순서도이다.
도 17을 참조하면, 단계 1710에서 프록시 서버는 단말 및 BS/AP 중 적어도 하나로부터 피드백 정보를 수신할 수 있다. 상기 피드백 정보는 표 6에 나타난 정보중 하나 이상을 포함할 수 있다. 실시 예에서 BS/AP는 단말로 데이터를 전달하는 BS 및 AP 중 하나 이상을 포함할 수 있다.
단계 1715에서 상기 프록시 서버는 BS/AP의 인코딩 딜레이가 특정 값 이상인지 판단할 수 있다. 상기 특정 값은 사용자 설정에 의해 결정 될 수 있다. 또한 BS/AP의 성능에 따라서도 결정될 수 있다. 또한 트래픽 상황을 통해서도 결정될 수 있다. 상기 인코딩 딜레이가 특정 값 이상인 경우는 BS/AP가 단말의 PLR에 따라 추가로 인코딩을 하면서 생기는 딜레이가 길어지는 상황을 포함할 수 있다. 이와 같이 딜레이가 길어질 경우 단말에 전송되는 데이터의 품질열화가 발생할 수 있다.
딜레이가 특정 값 이상일 경우, 단계 1725에서 상기 프록시 서버는 제2값으로 리던던시를 결정할 수 있다. 상기 제2의 값은 BS/AP와 상기 프록시 서버 사이의 대역폭을 고려하여 결정될 수 있다. 다른 실시 예에 따르면 상기 제2의 값은 BS/AP와 상기 프록서 서버사이에 전송되는 대역폭을 모두 활용할 수 있도록 하는 리던던시 값을 포함할 수 있다.
딜레이가 특정 값 이상이 아닐 경우, 단계 1720에서 상기 프록시 서버는 제1값으로 리던던시를 설정할 수 있다. 실시 예에서 제1값은 단말의 PLR, BS/AP와 상기 프록시 서버 사이의 대역폭 및 단말 요구 리던던시 중 하나 이상을 포함할 수 있다.
단계 1730에서 상기 프록시 서버는 결정된 리던던시 값으로 데이터를 인코딩하고, 스케줄링 알고리즘을 통해 상기 인코딩된 데이터를 BS/AP에 전달할 수 있다.
이와 같은 동작을 통해 상기 프록시 서버가 BS/AP의 인코딩 딜레이에 따라 전송하는 데이터를 미리 인코딩하여 전송함으로써 BS/AP가 단말에 전송하기 위해 데이터를 인코딩하는 오버헤드가 줄어들 수 있다. 이와 같은 프록시 서버의 동작은 방송 데이터를 전달하는데도 사용될 수 있다.
도 18은 본 명세서의 다른 실시 예에 따른 프록시 서버의 동작을 도시하는 순서도이다.
도 18을 참조하면, 단계 1810에서 프록시 서버는 단말 및 BS/AP 중 적어도 하나로부터 피드백 정보를 수신할 수 있다. 상기 피드백 정보는 표 6에 나타난 정보 중 하나 이상을 포함할 수 있다. 실시 예에서 BS/AP는 단말로 데이터를 전달하는 BS 및 AP 중 하나 이상을 포함할 수 있다.
단계 1815에서 상기 프록시 서버는 상기 단계 1810에서 수신한 정보를 기반으로 단말 필요 리던던시 별로 단말을 그룹핑 할 수 있다. 실시 예에 따르면 상기 그룹핑을 하는 기준은 사업자 설정에 의해 결정될 수 있다. 보다 구체적으로 단말의 PLR 값 또는 단말이 요구하는 리던던시 값을 기반으로 특정 구역에 포함되는 단말을 같은 그룹으로 그루핑할 수 있다. 보다 구체적으로 도 16의 단말의 경우 PLR이 20%인 단말(1602)와 PLR이 18%인 단말(1604)를 같은 그룹으로 할 수 있고, PLR이 5%인 단말(1606)과 PLR이 3%인 단말(1608)을 같은 그룹으로 할 수 있다.
단계 1820에서 상기 프록시 서버는 상기 단계 1815의 그룹핑 결과를 기반으로 특정 그룹에 문턱값(Threshold) 이상의 단말이 포함되는지 판단할 수 있다. 상기 문턱값은 사업자 설정에 의해 결정될 수 있다. 보다 구체적으로 상기 문턱 값은 전체 단말의 50%일 수 있다. 또 다른 실시 예의 경우 특정 그룹에 다른 그룹의 150%이상의 단말이 포함될 경우 문턱 값이 넘는다고 판단할 수 있다.
특정 그룹에 문턱값 이상 개수의 단말이 포함되는 경우 단계 1825에서 상기 프록시 서버는 상기 특정 그룹의 리던딘시를 기본 리던던시로 결정할 수 있다. 상기 해당 그룹의 리던던시는 상기 그룹핑을 위한 구간값이거나, 상기 그룹에 포함되는 최대의 리던던시이거나, 상기 그룹에 포함되는 최소의 리던던시이거나, 상기 그룹에 포함되는 단말들이 요구하는 리던던시의 평균값일 수 있다. 이와 같이 리던던시 값을 설정하는 것은 단계 1810에서 수신한 피드백 정보를 기반으로 결정할 수 있다.
특정 그룹에 문턱값 이상 개수의 단말이 포함되지 않는 경우 단계 1830에서 상기 프록시 서버는 전체 그룹 중 요구하는 리던던시가 중간 값을 가지는 그룹의 리던던시를 기본 리던던시를 기본 리던던시로 결정할 수 있다. 일 실시 예에 따르면 추가로 요구하는 리던던시가 5% 이상 7% 미만인 제1그룹, 7%이상 9%미만인 제2그룹 및 9%이상 11%미만인 제3그룹이 있고, 각 그룹에 포함되는 단말의 개수가 문턱값을 넘지 못할 경우 상기 프록시 서버는 제2그룹의 리던던시를 기본 리던던시로 결정할 수 있다. 상기 제2그룹의 리던던시는 상기 그룹핑을 위한 구간값이거나, 상기 그룹에 포함되는 최대의 리던던시이거나, 상기 그룹에 포함되는 최소의 리던던시이거나, 상기 그룹에 포함되는 단말들이 요구하는 리던던시의 평균값일 수 있다. 이와 같이 리던던시 값을 설정하는 것은 단계 1810에서 수신한 피드백 정보를 기반으로 결정할 수 있다.
단계 1835에서 상기 프록시서버는 리던던시 설정 후 스케줄링 알고리즘으로 BS/AP에 인코딩된 데이터를 전송할 수 있다.
도 19는 본 명세서의 다른 실시 예에 따른 AP/BS의 동작을 도시하는 순서도이다.
도 19를 참조하면, 단계 1905에서 AP/BS는 프록시 서버로부터 인코딩된 페킷을 수신할 수 있다. 실시 예에 따르면 상기 프록시 서버는 AP/BS에 전송하는 데이터에 리던던시를 추가하기 위해 인코딩 과정을 거칠 수 있다. 상기 리던던시 값은 본 명세서의 실시 예에 의해 결정될 수 있으며, 보다 구체적으로 도 17 및 도 18의 과정을 통해 결정된 값일 수 있다. 상기 인코딩된 패킷을 수신한 AP/BS는 인코딩된 리던던시 값을 확인할 수 있다.
단계 1910에서 상기 AP/BS는 단말로부터 피드백을 수신할 수 있다. 상기 피드백 정보는 단말과 AP/BS 사이의 채널 상태 정보, 단말의 PLR 및 단말이 요구하는 리던던시 값 중 하나 이상을 포함할 수 있다. 또한 실시 예에 따라 상기 피드백은 상기 AP/BS가 이전에 송신한 패킷의 수신 및 디코딩 성공 여부를 포함할 수 있다.
단계 1915에서 AP/BS는 단계 상기 1905에서 수신한 패킷의 리던던시 값이 최소 리던던시 값인지 판단할 수 있다. 상기 최소 리던던시 값은 실시 예에 따라 리던던시가 없는 값이거나 상기 프록시 서버에 설정된 최소의 리던던시 값을 포함할 수 있다.
상기 판단 결과 상기 단계 1905에서 수신한 패킷이 최소 리던던시 값을 가질 경우, 단계 1920에서 상기 AP/BS는 상기 단계 1910에서 수신한 정보를 기반으로 단말별로 추가로 할당할 리던던시 값을 결정하고 패킷을 인코딩 할 수 있다. 일 실시 예에 따라 최소 리던던시 값이 5%이고 단말이 요구하는 리던던시 값이 10%일 경우 상기 AP/BS는 5%의 추가 리던던시를 만족시키기 위해 수신한 데이터를 다시 인코딩을 수행할 수 있다.
상기 판단 결과 상기 단계 1905에서 수신한 패킷이 최소 리던던시 값을 가지지 않는 경우 단계 1925에서 상기 AP/BS는 상기 단계 1910에서 수신한 값을 기반으로 단말별 추가 리던던시를 인코딩 하거나, 여분의 리던던시 값을 줄이기 위해 오버헤드 컷을 할 수 있다. 보다 구체적으로 서버로부터 수신한 패킷의 리던던시가 10%이고, 단말이 요구하는 리던던시가 7%일 경우 상기 AP/BS는 3%의 리던던시 오버헤드를 줄이는 인코딩을 수행할 수 있다. 이와 같이 오버헤드 컷을 함으로써 단말과 AP/BS사이의 대역폭이 낭비되는 것을 방지할 수 있다.
단계 1930에서 상기 AP/BS는 단말로 인코딩된 패킷을 전송할 수 있다.
도 20은 본 명세서의 다른 실시 예에 따른 AP/BS의 동작을 도시하는 순서도이다.
도 20을 참조하면, 단계 2005에서 AP/BS는 프록시 서버로부터 인코딩된 페킷을 수신할 수 있다. 실시 예에 따르면 상기 프록시 서버는 AP/BS에 전송하는 데이터에 리던던시를 추가하기 위해 인코딩 과정을 거칠 수 있다. 상기 리던던시 값은 본 명세서의 실시 예에 의해 결정될 수 있으며, 보다 구체적으로 도 17 및 도 18의 과정을 통해 결정된 값일 수 있다. 상기 인코딩된 패킷을 수신한 AP/BS는 인코딩된 리던던시 값을 확인할 수 있다. 또한 단계 2005에서 상기 AP/BS는 단말로부터 피드백을 수신할 수 있다. 상기 피드백 정보는 단말과 AP/BS 사이의 채널 상태 정보, 단말의 PLR 및 단말이 요구하는 리던던시 값 중 하나 이상을 포함할 수 있다. 또한 실시 예에 따라 상기 피드백은 상기 AP/BS가 이전에 송신한 패킷의 수신 및 디코딩 성공 여부를 포함할 수 있다.
단계 2010에서 상기 AP/BS는 상기 프록시 서버로부터 수신한 패킷의 리던던시 값과 단말이 요구하는 리던던시 값을 비교할 수 있다. 실시 예에서 상기 단말이 요구하는 리던던시 값은 상기 AP/BS와 데이터를 송수신하는 전체 단말이 요구하는 각각의 리던던시 값과 프록시 서버가 할당한 리던던시 값을 비교하여서 이 값의 평균을 비교할 수도 있고, 특정 선택된 단말이 요구하는 리던던시 값과 상기 프록시 서버가 할당한 리던던시 값을 비교할 수도 있다.
단계 2015에서 상기 AP/BS는 상기 비교 결과 특정 조건을 특정 횟수 이상 만족하지 못하는지 여부를 판단할 수 있다. 상기 특정 조건은 아래와 같은 수식을 만족하는지 여부를 통해 판단할 수 있다.
Figure 112013076942084-pat00008
UE_redundancy: 단말이 요구하는 리던던시 값
Server_redundancy: 서버가 할당한 데이터의 리던던시 값
P: 설정에 의해 결정될 수 있는 값으로 0에서 1사이의 값을 가질 수 있고 실시 예에 따라 0.3과 같은 값을 가질 수 있다.
상기의 조건을 만족하는 경우 단말이 요구하는 리던던시 값이 서버가 할당해준 리던던시 값과 비교하여 특정 비율 이상 차이나지 않는 바, AP/BS가 어느정도 추가의 인코딩을 통해 단말이 요구하는 리던던시를 만족할 수 있다. 그러나 특정비율 이상 차이 날 경우 AP/BS는 서비스 지역 내의 단말들의 상황이 대체로 많이 나빠진 것으로 판단하고 단계 2020으로 진행할 수 있다.
또한 실시 예에서 상기 특정 횟수는 2~10회 사이의 정수일 수 있다.
실시 예에서 상기의 조건을 특정 횟수이상 만족하지 못할 경우 단계 2020에서 상기 AP/BS는 상기 기지국이 전송한 데이터에 특정 값의 추가 리던던시를 무조건적으로 확보할 수 있다. 상기 특정 값의 리던던시는 1~100% 사이의 값을 가질 수 있으며 보다 구체적으로 20%의 값을 포함할 수 있다.
상기의 조건을 만족할 경우, 단계 2025에서 상기 AP/BS는 기존의 동작을 그대로 수행할 수 있다. 기존의 동작은 도 19의 단계 1915 내지 1925에 대응할 수 있다.
단계 2030에서 상기 AP/BS는 인코딩된 패킷을 상기 단말에 전송할 수 있다.
도 21은 본 명세서의 실시 예에 따른 통신 시스템에서 신호 송수신 과정을 도시하는 도면이다.
도 21을 참조하면, 실시 예에서 단말(2102), AP/BS(2104) 및 프록시 서버(2106) 사이에 데이터 송수신을 할 수 있다. 실시 예에서 AP/BS(2104)은 기지국으로 명명될 수 있다.
단계 2110에서 단말(2102)은 기지국(2104)로 링크 피드백 정보를 전송할 수 있다. 상기 링크 피드백 정보는 단말(2102)과 기지국(2104)사이의 채널정보, 단말(2102)이 요구하는 리던던시 레이트 및 단말(2102)의 데이터 수신 성공 여부 중 하나 이상을 포함할 수 있다.
단계 2115에서 기지국(2104)는 프록시 서버(2106)으로 상기 단계 2110에서 수신한 정보 및 AP/BS 피드백 정보를 전송할 수 있다. 상기 AP/BS 피드백 정보는 Expected Encoding Delay Given Redundancy, Available Bandwidth btw BS/AP, Measured Packet Arrival at BS/AP 및 Congestion Info - path control 중 하나 이상을 포함할 수 있다.
단계 2120에서 프록시 서버(2106)는 상기 단계 2115에서 수신한 ㅈ어보를 기반으로 전송할 데이트의 코딩레이트를 판단하고, 스케줄링을 결정할 수 있다.
단계 2125에서 프록시 서버(2106)은 상기 단계 2120에서 판단 및 결정된 정보를 기반으로 패킷을 기지국(2104)에 전송할 수 있다.
단계 2130에서 기지국(2104)는 단말(2102)이 요구하는 리던던시 레이트와 상기 단계 2125에서 수신한 패킷의 리던던시 값을 기반으로 리던던시를 업데이트 할 수 있다. 실시 예에 따라 단계 2130은 도 19 및 도 20 중 하나의 동작에 대응하는 동작을 수행할 수 있다.
단계 2135에서 기지국(2104)는 상기 단계 2130에서 리던던시를 업데이트 한 패킷을 단말(2102)에 전송할 수 있다.
단계 2140에서 단말(2102)는 수신한 패킷을 디코딩하고, NC-NACK을 계산할 수 있다.
단계 2145에서 단말(2102)는 패킷 디코딩의 성공 여부를 기지국(2104)에 전달할 수 있다.
단계 2150에서 기지국(2104)는 프록시 서버(2106)에 상기 수신한 디코딩 성공 여부를 나타내는 정보를 전달할 수 있다.
단계 2155에서 프록시 서버(2106)은 디코딩 성공 여부를 기반으로 추가 동작을 결정할 수 있다. 실시 예에 따라 수신 실패(2106)이 많은 경우 프록시 서버(2106)에서 인코딩하는 리던던시 레이트를 높이는 동작을 수행할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (21)

  1. 무선통신 시스템에서 프록시 서버의 패킷 송수신 방법에 있어서,
    데이터 서버로부터 데이터 요청에 대응하는 패킷을 수신하는 과정;
    네트워크 엔티티와 관련된 단말의 피드백을 포함하는 전송 상태에 대한 피드백 정보를 네트워크 엔티티로부터 수신하는 과정;
    상기 피드백 정보를 기반으로 상기 단말의 리던던시 레이트(Redundancy Rate)에 따라 상기 단말을 그룹화하는 과정;
    각각의 그룹의 리던던시 레이트에 기반하여 상기 수신된 패킷을 인코딩하기 위한 리던던시 레이트를 결정하는 과정;
    상기 결정된 리던던시 레이트에 기반하여 상기 수신된 패킷을 인코딩 하는 과정; 및
    상기 인코딩된 패킷을 상기 네트워크 엔티티로 전송하는 과정을 포함하며,
    상기 네트워크 엔티티는 기지국 또는 접속 포인트(Access Point, AP)를 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  2. 제1항에 있어서,
    상기 피드백 정보를 수신하는 과정은,
    상기 네트워크 엔티티의 인코딩 딜레이와 관련된 정보를 수신하는 과정을 포함하고,
    상기 리던던시 레이트를 결정하는 과정은,
    상기 인코딩 딜레이를 기반으로 상기 리던던시 레이트를 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  3. 제2항에 있어서,
    상기 피드백 정보를 수신하는 과정은,
    상기 네트워크 엔티티와 상기 프록시 서버 사이의 대역폭 정보를 수신하는 과정을 포함하고,
    상기 리던던시 레이트를 결정하는 과정은,
    상기 인코딩 딜레이가 특정 값 이상일 경우, 상기 대역폭에 기반하여 리던던시 레이트를 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  4. 제1항에 있어서,
    상기 단말로부터 단말 요구 리던던시 정보를 수신하는 과정;
    상기 단말 요구 리던던시 정보를 기반으로 단말을 2개 이상의 그룹으로 분류하는 과정을 더 포함하고,
    상기 리던던시 레이트를 결정하는 과정은,
    상기 분류된 그룹에 대한 정보를 기반으로 상기 리던던시 레이트를 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  5. 제4항에 있어서,
    상기 리던던시 레이트를 결정하는 과정은,
    상기 프록시 서버와 상기 패킷을 송수신하는 단말 중 특정 비율 이상의 단말이 1개 의 그룹에 속할 경우 해당 그룹의 단말이 요구하는 리던던시를 기반으로 상기 리던던시 레이트를 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  6. 제 1항에 있어서,
    상기 피드백 정보에 기반하여 상기 리던던시 레이트를 결정하는 과정은,
    제거될 리던던시 값을 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  7. 무선통신 시스템에서 기지국 또는 접속 포인트(Access Point, AP)를 포함하는 네트워크 엔티티의 패킷 송수신 방법에 있어서,
    서버로부터 단말 그룹에 대한 제1리던던시 레이트(redundancy rate)에 기반하여 인코딩된 상기 단말 그룹에 대한 패킷을 수신하는 과정;
    단말로부터 채널 상태 정보를 수신하는 과정;
    상기 제1리던던시 레이트 및 상기 채널 상태 정보를 기반으로 결정된 제2리던던시 레이트에 기반하여 상기 수신된 패킷을 인코딩하는 과정; 및
    상기 제2리던던시 레이트에 기반하여 인코딩된 패킷을 상기 단말에 전송하는 과정을 포함하며,
    상기 단말 그룹에 대한 제1리던던시 레이트는 상기 서버에 전송된 상기 단말 그룹의 리던던시 레이트에 기반하여 결정되고,
    상기 단말 그룹은 상기 단말로부터 획득된 피드백 정보에 기반하여 상기 단말의 리던던시 레이트에 따라 그룹화되는 것을 포함하는 패킷 송수신 방법.
  8. 제7항에 있어서,
    상기 수신된 패킷을 인코딩하는 과정은,
    상기 채널 상태 정보를 기반으로 결정되는 상기 단말의 요구 리던던시 레이트와 상기 제1리던던시 레이트를 비교하는 과정; 및
    상기 비교 결과에 기반하여 상기 제2리던던시 레이트를 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.

  9. 제7항에 있어서,
    상기 수신된 패킷을 인코딩하는 과정은,
    상기 채널 상태 정보를 기반으로 결정되는 상기 단말의 요구 리던던시 레이트와 상기 제1리던던시 레이트를 비교하는 과정; 및
    상기 단말의 요구 리던던시 레이트와 상기 제1리던던시 레이트를 비교한 결과에 기반하여 상기 제1리던던시 레이트가 상기 단말의 요구 리던던시 레이트보다 특정 값 이상 적거나 같을 경우, 상기 제2리던던시 레이트를 상기 제1리던던시 레이트보다 특정 값 이상 큰 값으로 결정하는 과정을 포함하는 것을 특징으로 하는 패킷 송수신 방법.
  10. 제7항에 있어서,
    상기 제1리던던시 레이트는 상기 네트워크 엔티티의 인코딩 부하를 기반으로 결정되는 것을 특징으로 하는 패킷 송수신 방법.
  11. 무선통신 시스템에서 단말의 패킷 송수신 방법에 있어서,
    기지국 또는 접속 포인트(Access Point, AP)를 포함하는 네트워크 엔티티로 채널 상태 정보를 전송하는 과정; 및
    상기 네트워크 엔티티로부터 인코딩된 패킷을 수신하는 과정을 포함하고,
    상기 수신된 패킷은,
    서버가 단말 그룹에 대한 제1리던던시 레이트(redundancy rate)에 기반하여 상기 단말 그룹에 대한 패킷을 인코딩하고, 상기 네트워크 엔티티에 상기 인코딩된 패킷을 전송하고, 상기 네트워크 엔티티가 상기 채널 상태 정보 및 상기 제1리던던시 레이트를 기반으로 결정된 제2리던던시 레이트에 기반하여 상기 인코딩된 패킷을 인코딩하여 결정된 것이고,
    상기 단말 그룹에 대한 제1리던던시 레이트는 상기 서버에 전송된 상기 단말 그룹의 리던던시 레이트에 기반하여 결정되고,
    상기 단말 그룹은 상기 단말로부터 획득된 피드백 정보에 기반하여 상기 단말의 리던던시 레이트에 따라 그룹화되는 것을 특징으로 하는 패킷 송수신 방법.
  12. 제11항에 있어서,
    상기 제2리던던시 레이트는,
    상기 채널 상태 정보를 기반으로 결정되는 상기 단말의 요구 리던던시 레이트와 상기 제1리던던시 레이트를 비교하고, 상기 비교 결과에 기반하여 결정되는 것을 특징으로 하는 패킷 송수신 방법.

  13. 제11항에 있어서,
    상기 제2리던던시 레이트는,
    상기 채널 상태 정보를 기반으로 결정되는 상기 단말의 요구 리던던시 레이트와 상기 제1리던던시 레이트를 비교한 결과에 기반하여 상기 제1리던던시 레이트가 상기 단말의 요구 리던던시 레이트보다 특정 값 이상 적거나 같을 경우, 상기 제2리던던시 레이트를 상기 제1리던던시 레이트보다 특정 값 이상 큰 값으로 결정되는 것을 특징으로 하는 패킷 송수신 방법.
  14. 제11항에 있어서,
    상기 제1리던던시 레이트는 상기 네트워크 엔티티의 인코딩 부하를 기반으로 결정되는 것을 특징으로 하는 패킷 송수신 방법.
  15. 무선통신 시스템에서 패킷 송수신을 하는 프록시 서버에 있어서,
    송수신부; 및
    상기 송수신부와 연결되고, 데이터 서버로부터 데이터 요청에 대응하는 패킷을 수신하고, 기지국 또는 접속 포인트(Access Point, AP)를 포함하는 네트워크 엔티티와 관련된 단말의 피드백을 포함하는 전송상태에 대한 피드백 정보를 네트워크 엔티티로부터 수신하고, 상기 피드백 정보에 기반하여 상기 단말의 리던던시 레이트에 따라 상기 단말을 그룹화하고, 각각의 단말 그룹의 리던던시 레이트에 기반하여 상기 수신된 패킷을 인코딩하기 위한 리던던시 레이트(Redundancy Rate)를 결정하고, 상기 결정된 리던던시 레이트에 기반하여 상기 수신된 패킷을 인코딩하고, 상기 인코딩된 패킷을 상기 네트워크 엔티티로 전송하는 제어부를 포함하는 프록시 서버.
  16. 제 15항에 있어서,
    상기 제어부는,
    상기 네트워크 엔티티로부터 전송 상태와 관련된 피드백 정보를 수신하고,
    상기 피드백 정보는 네트워크 엔티티의 인코딩 딜레이와 관련된 정보를 포함하고,
    상기 인코딩 딜레이에 기반하여 리던던시 레이트를 결정하는 것을 특징으로 하는 프록시 서버.
  17. 무선통신 시스템에서 패킷 송수신을 하는 송수신기에 있어서,
    송수신부; 및
    상기 송수신부와 연결되고, 서버로부터 단말 그룹에 대한 제1리던던시 레이트(redundancy rate)에 기반하여 인코딩된 상기 단말 그룹에 대한 패킷을 수신하고, 단말로부터 채널 상태 정보를 수신하고, 상기 제1리던던시 레이트 및 상기 채널 상태 정보를 기반으로 결정된 제2리던던시 레이트에 기반하여 상기 수신된 패킷을 인코딩 하고, 상기 제2리던던시 레이트에 기반하여 인코딩된 패킷을 상기 단말에 전송하는 제어부를 포함하며,
    상기 단말 그룹에 대한 제1리던던시 레이트는 상기 단말 그룹의 리던던시 레이트에 기반하여 결정되고,
    상기 단말 그룹은 상기 단말로부터 획득된 피드백 정보에 기반하여 상기 단말의 리던던시 레이트에 따라 그룹화되는 것을 특징으로 하는 송수신기.
  18. 제 17항에 있어서,
    상기 제어부는 상기 제1리던던시 레이트를 상기 단말에 의해 요청된 리던던시 레이트와 비교하고,
    상기 비교 결과에 기반하여 제2리던던시 레이트를 결정하는 것을 특징으로 하는 송수신기.
  19. 무선통신 시스템에서 패킷 송수신을 하는 단말에 있어서,
    송수신부; 및
    상기 송수신부와 연결되고, 기지국 또는 접속 포인트(Access Point, AP)를 포함하는 네트워크 엔티티로 채널 상태 정보를 전송하고, 상기 네트워크 엔티티로부터 인코딩된 패킷을 수신하는 제어부를 포함하고,
    상기 수신된 패킷은,
    서버가 단말 그룹에 대한 제1리던던시 레이트(redundancy rate)에 기반하여 상기 단말 그룹에 대한 패킷을 인코딩하고, 상기 네트워크 엔티티에 상기 인코딩된 패킷을 전송하고, 상기 네트워크 엔티티가 상기 채널 상태 정보 및 상기 제1리던던시 레이트를 기반으로 결정된 제2리던던시 레이트에 기반하여 상기 인코딩된 패킷을 인코딩하여 결정된 것이고,
    상기 단말 그룹에 대한 제1리던던시 레이트는 상기 서버에 전송된 상기 단말 그룹의 리던던시 레이트에 기반하여 결정되고,
    상기 단말 그룹은 상기 단말로부터 획득된 피드백 정보에 기반하여 상기 단말의 리던던시 레이트에 따라 그룹화되는 것을 특징으로 하는 것을 특징으로 하는 단말.
  20. 제 19항에 있어서,
    상기 제2리던던시 레이트는,
    상기 제1리던던시 레이트와 상기 채널 상태 정보를 기반으로 결정되는 단말의 요구 리던던시 레이트를 비교한 결과에 기반하여 결정되는 것을 특징으로 하는 단말.
  21. 제 19항에 있어서,
    상기 제1리던던시 레이트는 상기 네트워크 엔티티의 인코딩 부하를 기반으로 결정되는 것을 특징으로 하는 단말.
KR1020130100494A 2013-08-23 2013-08-23 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치 KR102173084B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130100494A KR102173084B1 (ko) 2013-08-23 2013-08-23 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
PCT/KR2014/007797 WO2015026186A1 (ko) 2013-08-23 2014-08-21 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
US14/913,963 US10271241B2 (en) 2013-08-23 2014-08-21 Method and device for transmitting and receiving data packets in wireless communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130100494A KR102173084B1 (ko) 2013-08-23 2013-08-23 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150022506A KR20150022506A (ko) 2015-03-04
KR102173084B1 true KR102173084B1 (ko) 2020-11-02

Family

ID=52483900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130100494A KR102173084B1 (ko) 2013-08-23 2013-08-23 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치

Country Status (3)

Country Link
US (1) US10271241B2 (ko)
KR (1) KR102173084B1 (ko)
WO (1) WO2015026186A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102131233B1 (ko) * 2014-02-19 2020-07-07 콘비다 와이어리스, 엘엘씨 시스템 간 이동성을 위한 서빙 게이트웨이 확장들
EP3163830B1 (en) * 2014-07-21 2018-09-19 Huawei Technologies Co., Ltd. Link control node, link control method and medium
US10142965B2 (en) 2014-08-01 2018-11-27 Alcatel Lucent Methods and devices for providing application services to users in communications network
US10244580B2 (en) * 2014-10-16 2019-03-26 Nokia Of America Corporation Methods and devices for providing application services to users in communications network
US9871723B2 (en) * 2015-02-09 2018-01-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for handling multi path connections
US10034200B2 (en) * 2015-10-23 2018-07-24 Motorola Mobility Llc Iteratively transmitting random linear network encoded packets from multiple transmission nodes
US10097465B2 (en) 2015-12-08 2018-10-09 Nicira Inc. Data transfer between endpoints using a multipath connection
US10200277B2 (en) 2015-12-08 2019-02-05 Nicira, Inc. Influencing path selection during a multipath connection
US10129372B2 (en) * 2015-12-08 2018-11-13 Nicira, Inc. Transferring multiple data sets using a multipath connection
KR102568436B1 (ko) * 2016-07-28 2023-08-21 삼성전자 주식회사 무선 통신 시스템에서 데이터의 전송 방법 및 장치
ES2922416T3 (es) * 2016-09-15 2022-09-14 Alcatel Lucent Transmisión de trayectoria múltiple de datos
CN107682886B (zh) * 2017-09-01 2019-12-20 北京邮电大学 一种多路径的数据传输方法
CN109510690B (zh) * 2017-09-14 2020-07-28 华为技术有限公司 传输报文的方法、网络组件和计算机可读存储介质
KR20200042740A (ko) * 2018-10-16 2020-04-24 삼성전자주식회사 다중 접속에서 데이터 분할을 위한 방법 및 장치
EP4179813A4 (en) * 2020-07-10 2024-04-03 Qualcomm Inc DYNAMIC CODING FOR WIRELESS SYSTEMS
US11889327B2 (en) * 2020-11-20 2024-01-30 Qualcomm Incorporated Network coding with dynamic redundancy overhead
US20230139023A1 (en) * 2021-10-28 2023-05-04 Qualcomm Incorporated Adaptive rateless coding for sidelink communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090323646A1 (en) 2003-10-15 2009-12-31 Qualcomm Incorporated Method and apparatus for wirless lan (wlan) data multiplexing
US20120011413A1 (en) * 2008-04-29 2012-01-12 Thomas Licensing Method and system for adapting forward error correction in multicast over wireless networks
US20120192031A1 (en) * 2009-09-30 2012-07-26 Huawei Technologies Co., Ltd. Video data transmission processing method, video data sending processing method, apparatus, network system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557042B1 (en) * 1999-03-19 2003-04-29 Microsoft Corporation Multimedia summary generation employing user feedback
KR101571145B1 (ko) * 2007-10-23 2015-11-23 톰슨 라이센싱 무선 근거리 네트워크들에서의 신뢰 가능한 멀티캐스트를 위해 병합된 자동 반복 요청으로 적응 순방향 에러 정정을 하기 위한 방법 및 장치
US8964115B2 (en) * 2009-06-30 2015-02-24 Nokia Corporation Transmission capacity probing using adaptive redundancy adjustment
US9088888B2 (en) * 2010-12-10 2015-07-21 Mitsubishi Electric Research Laboratories, Inc. Secure wireless communication using rate-adaptive codes
US20120314655A1 (en) * 2011-06-13 2012-12-13 Qualcomm Incorporated Data transmission and reception with harq and network coding
US20120331160A1 (en) 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol proxy service
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
JP5991598B2 (ja) * 2011-09-28 2016-09-14 パナソニックIpマネジメント株式会社 データ処理装置及びデータ処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090323646A1 (en) 2003-10-15 2009-12-31 Qualcomm Incorporated Method and apparatus for wirless lan (wlan) data multiplexing
US20120011413A1 (en) * 2008-04-29 2012-01-12 Thomas Licensing Method and system for adapting forward error correction in multicast over wireless networks
US20120192031A1 (en) * 2009-09-30 2012-07-26 Huawei Technologies Co., Ltd. Video data transmission processing method, video data sending processing method, apparatus, network system

Also Published As

Publication number Publication date
US20160205586A1 (en) 2016-07-14
WO2015026186A1 (ko) 2015-02-26
US10271241B2 (en) 2019-04-23
KR20150022506A (ko) 2015-03-04

Similar Documents

Publication Publication Date Title
KR102173084B1 (ko) 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
KR102051504B1 (ko) 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
RU2737481C1 (ru) Harq-обработка для узлов с переменными временами обработки
CN111133704B (zh) 用于基于代码块组的第五代(5g)或其它下一代系统的自适应两级下行链路控制信道结构
US8495474B2 (en) Method and system for data transmission in a data network
US10812229B2 (en) Data transmission method, device, and system
EP3477881B1 (en) Data transmission and data processing method and device
US20150358113A1 (en) System and Method for Forward Error Correction
US7978626B1 (en) Method and system for adaptive hybrid automatic repeat request protocols based on network conditions
US11563527B2 (en) Method and device for efficient HARQ operation
JP2006520138A (ja) チャネル適応の方法およびシステム
WO2010115295A1 (zh) 请求重传方法、重传方法及其设备
CN105450357A (zh) 编码参数的调整、反馈信息的处理方法及装置
CN113055285B (zh) 基于mptcp与网络编码的自适应数据传输方法
KR20170027321A (ko) 무선 통신을 위한 레이트 제어
US8537037B2 (en) Adaptive control for efficient HARQ memory usage
US20150049710A1 (en) Method and terminal for adjusting harq buffer size
JP7282895B2 (ja) データの再送復号方法、装置、システム及び通信装置
CN108809531B (zh) 数据传输方法、终端和基站
US8571130B2 (en) Transmitting apparatus and transmission method
US20240048496A1 (en) Apparatus and method for the intrinsic analysis of the connection quality in radio networks having network-coded cooperation
US9503948B1 (en) Managing data redundancy of wireless device communication
KR101821350B1 (ko) 무선랜 환경에서 비디오 전송 시스템, 무선 통신 장치 및 방법

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