KR102115401B1 - 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치 - Google Patents

네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치 Download PDF

Info

Publication number
KR102115401B1
KR102115401B1 KR1020130045453A KR20130045453A KR102115401B1 KR 102115401 B1 KR102115401 B1 KR 102115401B1 KR 1020130045453 A KR1020130045453 A KR 1020130045453A KR 20130045453 A KR20130045453 A KR 20130045453A KR 102115401 B1 KR102115401 B1 KR 102115401B1
Authority
KR
South Korea
Prior art keywords
packet
terminal
buffer
network coding
packets
Prior art date
Application number
KR1020130045453A
Other languages
English (en)
Other versions
KR20140127007A (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 KR1020130045453A priority Critical patent/KR102115401B1/ko
Priority to PCT/KR2014/003539 priority patent/WO2014175649A1/en
Priority to US14/261,306 priority patent/US9451523B2/en
Publication of KR20140127007A publication Critical patent/KR20140127007A/ko
Application granted granted Critical
Publication of KR102115401B1 publication Critical patent/KR102115401B1/ko

Links

Images

Classifications

    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15521Ground-based stations combining by calculations packets received from different stations before transmitting the combined packets as part of network coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0075Transmission of coding parameters to receiver
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • 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

본 발명은 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치에 관한 것으로서, 단말의 패킷 관리 방법은, 중계국으로부터 네트워크 코딩이 적용된 패킷에 대한 정보를 수신하는 동작과, 상기 중계국으로부터 상기 네트워크 코딩이 적용된 패킷을 수신하는 동작과, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 상기 수신된 패킷으로부터 상기 단말의 동작에 필요한 패킷의 획득 가능 여부를 확인하는 동작과, 상기 단말의 동작에 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하는 동작을 포함한다.

Description

네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치{METHOD AND APPARATUS FOR MANAGING PACKET IN A SYSTEM SURPPORTING A NETWORK CODING SCHEME}
본 발명은 네트워크 코딩을 지원하는 시스템에 관한 것으로서, 특히 사용자 단말에서 패킷을 관리하는 방법 및 장치에 관한 것이다.
통신 효율성을 향상시키기 위해, 중계국을 이용한 통신 시스템에 대한 연구들이 활발이 진행되고 있다. 예를 들어, 단말이 기지국의 커버리지 영역 밖에 존재하거나, 음영 지역(shadowing zone)에 존재하여 서비스를 받지 못하는 상황을 해소하기 위해 중계국을 이용하여 신호를 전달하는 시스템이 연구 및 개발되고 있다.
종래의 중계국은 네트워크 내에서 소스 노드로부터 수신된 데이터를 단순히 저장한 후, 저장한 데이터를 목적 노드로 전달하는 기능을 수행하였다. 그러나, 최근에는 네트워크 자원을 효율적으로 이용하고 전송 효율을 향상시키기 위해, 다수의 소스 노드로부터 수신된 데이터들을 함께 인코딩하고, 인코딩된 데이터를 다수의 목적 노드들로 전송하는 네트워크 코딩(Network coding shceme) 방식이 제시되고 있다. 예를 들어, 도 1에 도시된 바와 같이, 중계국(Relay, 110)은 사용자 단말 1(User Equipment 1, 101)로부터 수신된 데이터 x와 사용자 단말 2(102)로부터 수신된 데이터 y를 그대로 전송하지 않고, XOR 연산을 통해 데이터 x와 y를 인코딩한 후, 인코딩된 데이터(
Figure 112013036074581-pat00001
)를 사용자 단말1(101)과 사용자 단말 2(102)로 전송한다. 또한, 중계국(Relay, 110)은 사용자 단말 3(103)로부터 수신된 데이터 w와 사용자 단말 4(104)로부터 수신된 데이터 z를 그대로 전송하지 않고, XOR 연산을 통해 데이터 w와 z를 인코딩하여 생성된 데이터(
Figure 112013036074581-pat00002
)를 사용자 단말3(103)과 사용자 단말 4(104)로 전송한다.
이와 같이 네트워크 코딩 방식을 이용하는 경우, 각각의 사용자 단말은 자신이 보유하고 있는 데이터를 기반으로 수신 데이터로부터 원하는 데이터를 추출할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 사용자 단말 1(101)은 중계기로부터 인코딩된 데이터(
Figure 112013036074581-pat00003
)를 수신한 경우, 데이터 x를 미리 알고 있기 때문에, 인코딩된 데이터(
Figure 112013036074581-pat00004
)로부터 원하는 데이터 y를 추출할 수 있다.
그러나, 네트워크 코딩 방식으로 인코딩되는 데이터들은 중계국에서의 스케줄링 방식에 따라 결정되므로, 사용자 단말이 원하는 데이터를 포함하여 인코딩된 데이터를 수신하더라도, 함께 인코딩된 다른 모든 데이터를 알지 못하는 경우 원하는 데이터를 추출할 수 없는 경우가 발생될 수도 있으며, 또한 원하는 데이터가 포함되지 않은 인코딩 데이터가 수신될 수도 있다. 이 경우, 사용자 단말은 자신이 보유한 데이터로 디코딩이 가능하면서, 원하는 데이터를 포함하고 있는 데이터가 수신될 때까지 계속하여 대기해야하는 실정이다.
따라서, 본 발명의 실시 예는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 패킷을 관리하는 방법 및 장치를 제공함에 있다.
본 발명의 다른 실시 예는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 수신 패킷을 구분하여 저장하는 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 실시 예는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 디코딩 가능한 수신 패킷으로부터 원하지 않는 패킷을 추출하여 별도의 버퍼에 저장하는 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 실시 예는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 디코딩이 불가능한 수신 패킷을 분류하여 별도의 버퍼에 저장하는 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 실시 예는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 송수신 패킷을 저장하는 기본 버퍼 이외에 추가적으로 DUP(Decodable but undesirable Packet)를 저장하는 버퍼와 NUP(Not decodable and undesirable Packet) 저장하는 버퍼를 추가 포함하는 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 실시 예는 네트워크 코딩을 지원하는 시스템에서 중계국이 네트워크 코딩이 적용된 패킷의 정보를 전송하는 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 실시 예는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 중계국으로부터 수신된 패킷 정보를 바탕으로 버퍼에 저장된 패킷을 폐기하는 방법 및 장치를 제공함에 있다.
본 발명의 실시 예에 따르면, 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 단말의 방법은, 중계국으로부터 네트워크 코딩이 적용된 패킷에 대한 정보를 수신하는 동작과, 상기 중계국으로부터 상기 네트워크 코딩이 적용된 패킷을 수신하는 동작과, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 상기 수신된 패킷으로부터 상기 단말의 동작에 필요한 패킷의 획득 가능 여부를 확인하는 동작과, 상기 단말의 동작에 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하는 동작을 포함한다.
본 발명의 실시 예에 따르면, 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 단말의 장치는, 중계국으로부터 네트워크 코딩이 적용된 패킷에 대한 정보 및 상기 네트워크 코딩이 적용된 패킷을 수신하는 수신부와, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 상기 수신된 패킷으로부터 상기 단말의 동작에 필요한 패킷의 획득 가능 여부를 확인하는 제어부와, 상기 제어부의 제어에 따라 단말의 동작에 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하는 메모리를 포함한다.
본 발명의 실시 예에서는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 디코딩 가능한 수신 패킷으로부터 원하지 않는 패킷을 추출하여 DUP 버퍼에 저장하고, 디코딩이 불가능한 수신 패킷을 분류하여 NUP 버퍼에 저장함으로써, 추후에 수신되는 다른 패킷과 DUP 버퍼에 저장된 패킷 및/혹은 NUP 버퍼에 저장된 패킷들을 이용하여 원하는 패킷을 추출할 수 있다. 또한, 본 발명의 실시 예는 디코딩 불가능한 수신 패킷에 의한 네트워크 효율 감소 측면을 완화시키면서, 시스템 전체의 자원 활용도를 향상시킬 수 있다.
도 1은 종래 기술에 따라 네트워크 코딩을 지원하는 시스템을 예로 들어 도시하는 도면,
도 2a 및 도 2b는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 DUP를 이용하여 원하는 패킷을 획득하는 예를 도시하는 도면,
도 3a 및 도 3b는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 NUP를 이용하여 원하는 패킷을 획득하는 예를 도시하는 도면,
도 4는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 신호 흐름을 도시하는 도면,
도 5는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 네트워크 코딩이 적용된 패킷에 대한 스케줄링 정보 패킷의 구조를 도시하는 도면,
도 6은 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 중계국의 동작을 도시하는 도면,
도 7은 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 사용자 단말의 동작을 도시하는 도면,
도 8은 본 발명의 실시 예에 따른 네트워크 코딩을 지원하는 시스템에서 NUP 버퍼와 DUP 버퍼를 운용하는 예를 도시하는 도면,
도 9는 본 발명의 실시 예에 따른 네트워크 코딩을 지원하는 시스템에서 중계국의 구성을 도시하는 도면, 및
도 10은 본 발명의 실시 예에 따른 네트워크 코딩을 지원하는 시스템에서 사용자 단말의 구성을 도시하는 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명의 실시 예에서는 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 패킷을 관리하는 방법 및 장치에 대해 설명할 것이다. 이하에서 설명하는 중계국은 네트워크를 구성하는 노드로부터 수신된 패킷을 다른 노드로 전송하는 기능을 수행하는 중계 노드를 의미하는 것으로서, 기지국일 수도 있다. 이하 설명에서는, 설명의 편의를 위해, 중계국에서 서로 다른 단말의 패킷들에 임의의 조작을 가하여 생성된 패킷을 네트워크 코딩(NC: Network coding) 패킷이라 칭한다. 여기서, 서로 다른 단말의 패킷들에 가해지는 임의의 조작은 배타적 논리합(exclusive OR, XOR) 연산, 덧셈(addition) 연산, 곱셈(multiplication) 연산, 선형 연산(linear operation) 혹은 비선형 연산(nonlinear operation)일 수 있다. 예를 들어, 중계국이 사용자 단말 1로부터 수신된 패킷 P1, 사용자 단말 2로부터 수신된 패킷 P2 및 사용자 단말 3으로부터 수신된 패킷 P3를 배타적 논리합 연산을 적용하여
Figure 112013036074581-pat00005
를 생성한 경우, 생성된 패킷
Figure 112013036074581-pat00006
를 NC 패킷이라 칭하기로 한다.
본 발명의 실시 예에서는 사용자 단말이 중계국으로부터 디코딩이 가능한 NC 패킷이 수신된 경우, 수신된 NC 패킷으로부터 원하는 패킷(desired packet)을 추출하고, 추출된 패킷을 기본 버퍼(Original buffer)에 저장할 수 있다. 여기서, 원하는 패킷은 사용자 단말이 동작(예:송수신) 위해 필요로 하는 패킷을 의미한다.
또한, 본 발명의 실시 예에서는 사용자 단말이 중계국으로부터 디코딩이 가능한 NC 패킷이 수신된 경우, 원하지 않는 패킷(undesired packet)을 추출하고, 추출된 패킷을 기본 버퍼 이외에 추가로 구비된 DUP(Decodable but undesirable Packet) 버퍼에 저장할 수 있다. 여기서, 원하지 않는 패킷은 사용자 단말이 동작(예:송수신) 위해 필요로 하지 않는 패킷을 의미한다.
또한, 본 발명의 실시 예에서는 사용자 단말이 중계국으로부터 디코딩이 불가능한 NC 패킷이 수신된 경우, 수신된 NC 패킷을 기본 버퍼 이외에 추가로 구비된 NUP(Not decodable and Undesirable Packet) 버퍼에 저장할 수 있다. 이때, 디코딩이 불가능한 NC 패킷은 원하는 패킷과 원하지 않는 패킷들에 임의의 조작이 가해져 인코딩된 패킷일 수도 있으며, 원하지 않는 패킷들에 임의의 조작이 가해져 인코딩된 패킷일 수도 있다.
도 2a 및 도 2b는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 DUP를 이용하여 원하는 패킷을 획득하는 예를 도시하고 있다.
도 2a에 도시된 바와 같이, 사용자 단말 1(201)이 패킷 P2, P3를 보유하고 있고 패킷 P1을 필요로 하며, 사용자 단말 2(202)가 패킷 P1, P3를 보유하고 있고 패킷 P2를 필요로 하고, 사용자 단말 3(203)이 패킷 P1, P2를 보유하고 있고 패킷 P4를 필요로 하는 상황을 가정한다. 이때, 중계국(210)은 패킷 P1, P2 및 P3를 XOR 연산하여
Figure 112013036074581-pat00007
를 생성하고, 생성된 NC 패킷
Figure 112013036074581-pat00008
를 브로드캐스팅할 수 있다. 이때, 사용자 단말 1(201)은 보유하고 있는 P2와 P3를 바탕으로 수신된 NC 패킷으로부터 원하는 패킷 P1을 추출하고, 추출된 P1을 기본 버퍼에 저장할 수 있다. 또한, 사용자 단말 2(202)는 보유하고 있는 P1와 P3를 바탕으로 수신된 NC 패킷으로부터 원하는 패킷 P2를 추출하고, 추출된 P2를 기본 버퍼에 저장할 수 있다. 반면, 사용자 단말 3(203)은 보유하고 있는 P1과 P2를 바탕으로 수신된 NC 패킷으로부터 원하지 않는 패킷 P3를 추출할 수 있다. 이때, 사용자 단말 3(203)은 원하지 않는 패킷 P3가 현 시점에서 사용자 단말 3(203)의 동작을 위해 필요하지 않지만, P3를 폐기하지 않고 DUP 버퍼에 저장할 수 있다. 이는 도 2b에 도시된 바와 같이, 이후 시점에 중계국(210) 혹은 다른 임의의 중계국으로부터 NC 패킷
Figure 112013036074581-pat00009
혹은
Figure 112013036074581-pat00010
가 수신될 경우, 수신된 NC 패킷으로부터 P1, P2 및 P3를 이용하여 원하는 패킷 P4를 추출할 수 있기 때문이다.
도 3a 및 도 3b는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 사용자 단말이 NUP를 이용하여 원하는 패킷을 획득하는 예를 도시하고 있다.
도 3a에 도시된 바와 같이, 사용자 단말 1(301)이 패킷 P2, P3를 보유하고 있고 패킷 P1을 필요로 하며, 사용자 단말 2(302)가 패킷 P1, P3를 보유하고 있고 패킷 P2를 필요로 하고, 사용자 단말 3(303)이 패킷 P1, P4를 보유하고 있고 패킷 P3을 필요로 하는 상황을 가정한다. 이때, 중계국(310)은 패킷 P1, P2 및 P3를 XOR 연산하여
Figure 112013036074581-pat00011
를 생성하고, 생성된 NC 패킷
Figure 112013036074581-pat00012
를 브로드캐스팅할 수 있다. 이때, 사용자 단말 1(301)은 보유하고 있는 P2와 P3를 바탕으로 수신된 NC 패킷으로부터 원하는 패킷 P1을 추출하고, 추출된 P1을 기본 버퍼에 저장할 수 있다. 또한, 사용자 단말 2(302)는 보유하고 있는 P1와 P3를 바탕으로 수신된 NC 패킷으로부터 원하는 패킷 P2를 추출하고, 추출된 P2를 기본 버퍼에 저장할 수 있다. 반면, 사용자 단말 3(303)은 보유하고 있는 P1과 P4를 이용하여 수신된 NC 패킷을 디코딩할 수 없다. 이때, 사용자 단말 3(303)은 디코딩이 불가능한 패킷 NC 패킷
Figure 112013036074581-pat00013
를 폐기하지 않고 NUP 버퍼에 저장할 수 있다. 이는 도 3b에 도시된 바와 같이, 이후 시점에 중계국(310) 혹은 다른 임의의 중계국 혹은 다른 사용자 단말(301)로부터 패킷 P2가 수신되는 경우, 수신된 패킷 P2와 미리 보유하고 있던 P1을 이용하여 NUP에 저장된 NC 패킷
Figure 112013036074581-pat00014
로부터 원하는 패킷 P3를 추출할 수 있기 때문이다.
상술한 바와 같이, 본 발명에서는 사용자 단말이, 사용자 단말의 동작에 필요한 패킷들을 저장하는 기본 버퍼 이외에, 원하지 않는 패킷을 저장하는 NUP 버퍼와 디코딩 불가능한 NC 패킷을 저장하는 DUP 버퍼를 추가적으로 포함함으로써, NUP 버퍼와 DUP 버퍼 및 추후 수신되는 패킷들을 기반으로 원하는 패킷을 획득할 수 있도록 한다.
도 4는 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 신호 흐름을 도시하고 있다.
도 4를 참조하면, 사용자 단말(401)은 420 동작에서 네트워크 코딩(NC) 능력에 관련된 정보를 중계국(혹은 기지국, 410)으로 전송한다. 이때 NC 능력에 관련된 정보는 사용자 단말이 네트워크 코딩 기법을 지원하는지 여부를 나타내는 NC 지원 여부와 지원하는 인코딩/디코딩 기법들을 나타내는 인코딩/디코딩 능력 정보를 포함할 수 있다.
중계국(410)은 422 동작에서 사용자 단말(401)로부터 수신된 NC 능력 정보를 바탕으로 NC 구성 정보를 생성하고, 생성된 NC 구성 정보를 사용자 단말(401)로 전송하여, 중계국(410)과 사용자 단말(401) 사이의 연결을 설정한다. 여기서, NC 구성 정보는 코딩 방식, 최대 버퍼링 정보를 포함할 수 있다. 코딩 방식은 사용자 단말이 지원하는 인코딩/디코딩 기법들 중에서 선택될 수 있으며, 배타적 논리합(exclusive OR, XOR) 연산, 덧셈(addition) 연산, 곱셈(multiplication) 연산, 선형 연산(linear operation) 혹은 비선형 연산(nonlinear operation) 중 어느 하나일 수 있다. 최대 버퍼링 정보는 중계국(410)이 송신하는 패킷에 대해 사용자 단말(401)이 해당 패킷을 저장하고 있어야 하는 최대 시간을 나타낼 수 있다.
사용자 단말(401)은 424 동작에서 중계국(410)으로 상향링크 데이터 및 NC 버퍼 상태 정보를 전송한다. 이때, NC 버퍼 상태 정보는 기본 버퍼, DUP 버퍼 및 NUP 버퍼 중 적어도 하나의 버퍼 각각에 대한 크기, 사용률 및/혹은 저장된 패킷을 나타내는 정보를 포함할 수 있다.
중계국(410)은 426 동작에서 사용자 단말(401)로부터 수신된 상향링크 데이터 및 NC 버퍼 상태 정보를 바탕으로, 링크 그룹핑 및 NC 스케줄링을 수행한다. 즉, 중계국(410)은 다수의 사용자 단말로부터 수신된 상향링크 데이터를 바탕으로 각 사용자 단말에 대한 채널 상태(예: CQI)를 추정하고, 추정된 채널 상태를 바탕으로 다수의 사용자 단말을 다수의 그룹으로 분류할 수 있다. 이때, 중계국(410)은 채널 상태가 비슷한 사용자 단말들을 하나의 그룹으로 결정할 수 있으며, 이는 비슷한 전송 속도를 가진 링크들을 그룹화하여 전송 효율을 향상시키기 위함이다. 또한, 중계국(410)은 각 그룹 내 사용자 단말들에 대한 데이터 패킷들을 미리 설정된 코딩 방식으로 인코딩하여 NC 패킷을 생성할 수 있다.
중계국(410)은 428 동작에서 각 그룹별로 생성된 NC 패킷에 대한 스케줄링 정보를 생성하고, 생성된 스케줄링 정보를 사용자 단말(401)로 전송한다. 이때 스케줄링 정보는 도 5에 도시된 바와 같이, NC 지표(501), 그룹 정보(503), 코딩된 패킷 정보(505), 코딩된 패킷 크기(507) 및 NC 버퍼링 정보(509)를 포함할 수 있다. NC 지표(501)는 해당 패킷이 네트워크 코딩이 적용된 패킷인지 네트워크 코딩이 적용되지 않은 패킷인지 여부를 나타낸다. 그룹 정보(503)는 사용자 단말이 어느 링크 그룹에 속해 있는지 나타낸다. 또한, 코딩된 패킷 정보(505)는 NC 패킷이 어떤 패킷들이 인코딩된 것인지 나타내고, 각 패킷의 크기(507)는 인코딩에 참여한 패킷들 각각의 크기를 나타낼 수 있다. 또한, NC 버퍼링 정보(509)는 사용자 단말이 해당 패킷을 NUP 혹은 DUP에 저장할 경우, 얼마만큼의 시간 동안 해당 패킷을 폐기하지 않고 저장해야하는지 나타낼 수 있다. 또한 NC 버퍼링 정보(509)는 해당 패킷이 마지막 재전송인지 여부 즉, 해당 패킷이 더 이상 재전송될 여지가 없는지 여부를 나타낼 수 있다. 또한 NC 버퍼링 정보(509)는 동일한 그룹 내의 다른 사용자 단말들이 어떤 패킷을 성공적으로 수신했는지 나타낼 수 있다. 여기서, 동일 그룹 내의 다른 사용자 단말들이 어떤 패킷을 성공적으로 수신했는지 나타내는 정보를 통해 더 이상 전송되지 않을 패킷을 판별할 수 있다.
중계국(401)은 430 동작에서 각 그룹에 대해 생성된 NC 패킷을 송신한다. 이후, 사용자 단말(403)은 수신된 NC 패킷을 디코딩하여 NC 버퍼에 저장한다. 이때, NC 버퍼는 기본 버퍼, DUP 버퍼 혹은 NUP 버퍼를 포함할 수 있다. 예컨데, 사용자 단말(430)은 기본 버퍼 혹은 DUP 버퍼에 저장된 패킷들을 바탕으로 수신된 NC 패킷을 디코딩 가능한 경우, NC 패킷을 디코딩하여 원하는 패킷 혹은 원하지 않는 패킷을 추출할 수 있다. 사용자 단말(430)은 원하는 패킷이 추출되었을 경우 추출된 패킷을 기본 버퍼에 저장하고, 원하지 않는 패킷이 추출되었을 경우 추출된 패킷을 DUP 버퍼에 저장할 수 있다. 이때, 사용자 단말(403)은 DUP 버퍼에 미리 저장된 NC 패킷들 중에서 추출된 패킷과 미리 저장된 패킷을 이용하여 디코딩 가능한 NC 패킷이 있는 경우, 해당 NC 패킷을 디코딩하여 원하는 패킷 혹은 원하지 않는 패킷을 추출할 수 있다. 또한, 사용자 단말(430)은 기본 버퍼 혹은 DUP 버퍼에 저장된 패킷들을 바탕으로 수신된 NC 패킷의 디코딩이 불가능한 경우, 수신된 NC 패킷을 NUP 버퍼에 저장할 수 있다.
도 6은 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 중계국의 동작을 도시하고 있다.
도 6을 참조하면, 중계국은 601 동작에서 채널 상태를 기반으로 단말 그룹을 결정한다. 이때, 중계국은 다수의 단말들 중에서 채널 상태가 비슷한 단말들을 하나의 그룹으로 결정할 수 있다. 중계국은 603동작에서 동일한 그룹 내에 포함된 단말들로 전송될 패킷들을 미리 설정된 방식으로 인코딩한다. 예를 들어, 단말 1과 단말 2가 제 1 그룹이고, 단말 3과 단말 4가 제 2 그룹인 경우, 중계국은 단말 1로 전송될 패킷 P1과 단말 2로 전송될 패킷 P2를 미리 설정된 인코딩 방식으로 인코딩하여 NC 패킷
Figure 112013036074581-pat00015
를 생성할 수 있고, 단말 3으로 전송될 패킷 P3와 단말 4로 전송될 패킷 P4를 미리 설정된 인코딩 방식으로 인코딩하여 NC 패킷
Figure 112013036074581-pat00016
를 생성할 수 있다.
중계국은 605 동작에서 인코딩된 패킷에 대한 스케줄링 정보를 생성한 후, 607 동작에서 스케줄링 정보를 전송한다. 이때, 스케줄링 정보는 도 5에 도시된 바와 같이, NC 지표(501), 그룹 정보(503), 코딩된 패킷 정보(505), 코딩된 패킷 크기(507) 및 NC 버퍼링 정보(509)를 포함할 수 있다.
중계국은 609 동작에서 인코딩된 NC 패킷을 전송한다. 이후 중계국은 601 동작으로 되돌아가 이하 동작을 재수행할 수 있다. 또한, 실시 예에 따라 중계국은 603 동작으로 되돌아가 이하 동작을 재수행할 수 있다.
도 7은 본 발명의 실시 예에 따라 네트워크 코딩을 지원하는 시스템에서 사용자 단말의 동작을 도시하고 있다.
도 7을 참조하면, 사용자 단말은 701 동작에서 중계국으로부터 스케줄링 정보 패킷을 수신한다. 이때, 스케줄링 정보 패킷은 도 5에 도시된 바와 같이, NC 지표(501), 그룹 정보(503), 코딩된 패킷 정보(505), 코딩된 패킷 크기(507) 및 NC 버퍼링 정보(509)를 포함할 수 있다.
사용자 단말은 703 동작에서 스케줄링 정보 패킷 내에 포함된 NC 지표를 바탕으로, 수신될 하향링크 패킷이 네트워크 코딩이 적용된 패킷인지 여부를 확인한다. 만일, 네트워크 코딩이 적용되지 않은 패킷일 경우, 사용자 단말은 705 동작으로 진행하여 하향링크 패킷 데이터를 수신하고, 수신 패킷을 기본 버퍼에 저장한다.
반면, 네트워크 코딩이 적용된 패킷인 경우, 사용자 단말은 707 동작에서 스케줄링 정보 패킷 내 NC 버퍼링 정보를 기반으로 재전송될 가능성이 없는 패킷들을 결정한다. 즉, 사용자 단말은 NC 버퍼링 정보가 해당 패킷이 마지막 재전송인지 여부를 나타내는 정보 및/혹은 동일한 그룹 내의 다른 사용자 단말들이 어떤 패킷을 성공적으로 수신했는지 나타내는 정보를 분석하여 추후에 재전송될 가능성이 없는 패킷들을 결정한다. 여기서, 사용자 단말은 스케줄링 정보 내 코딩된 패킷 정보(505)로부터 해당 NC 패킷의 인코딩에 이용된 패킷들을 확인하고, NC 버퍼링 정보를 바탕으로 NC 패킷의 인코딩에 이용된 각각의 패킷들이 추후에 재전송될 가능성이 있는지 없는지 여부를 결정할 수 있다.
사용자 단말은 709 동작에서 재전송될 가능성이 없다고 판단된 패킷들을 폐기한다. 즉, 사용자 단말은 재전송 가능성이 없다고 판단된 패킷이 NC 버퍼에 저장되어 있는 경우, 해당 패킷을 폐기할 수 있다. 이는 해당 패킷이 추후에 재전송되지 않으므로, 해당 패킷이 다른 패킷의 디코딩에 이용될 가능성이 없기 때문이다.
사용자 단말은 711 동작에서 네트워크 코딩된(NC) 패킷을 수신하고, 713단계에서 수신된 NC 패킷이 디코딩 가능한지 여부를 확인한다. 이때, 사용자 단말은 스케줄링 정보 내 코딩된 패킷 정보를 바탕으로 NC 패킷의 인코딩에 이용된 패킷들을 확인하고, NC 패킷의 인코딩에 이용된 패킷들과 사용자 단말 자신이 보유하고 있는 패킷들을 비교하여 해당 NC 패킷의 디코딩 가능 여부를 결정할 수 있다. 예를 들어, 사용자 단말은 NC 패킷의 인코딩에 이용된 패킷들 중에서 어느 하나의 패킷을 제외한 나머지 모든 패킷들을 보유하고 있는 경우에 NC 패킷의 디코딩이 가능하다고 판단할 수 있다. 반면, 사용자 단말은 NC 패킷의 인코딩에 이용된 패킷들 중에서 적어도 두 개 이상의 패킷을 보유하고 있지 않은 경우에 NC 패킷의 디코딩이 불가능한 것으로 판단할 수 있다.
만일, 수신된 NC 패킷의 디코딩이 불가능하다고 판단될 시, 사용자 단말은 715 동작에서 수신된 NC 패킷을 NUP 버퍼에 저장하고, 701 동작으로 되돌아가 이하 동작을 재수행할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 사용자 단말 3(803)이 패킷 P1 및 P4를 보유하고, 패킷 P3의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00017
를 수신한 경우, 사용자 단말 3(803)은 NC 패킷을 디코딩할 수 없다. 따라서, 사용자 단말 3(803)은 수신된 NC 패킷
Figure 112013036074581-pat00018
를 NUP 버퍼에 저장할 수 있다.
반면, 수신된 NC 패킷의 디코딩이 가능하다고 판단될 시, 사용자 단말은 717 동작에서 수신된 NC 패킷을 디코딩할 수 있다. 이때 사용자 단말은 기본 버퍼 및/혹은 DUP 버퍼에 포함된 패킷들을 이용할 수 있다.
719 동작에서, 사용자 단말은 NC 패킷을 디코딩하여 추출된 패킷이 원하는 패킷인지 여부를 검사한다. 원하는 패킷이 추출된 경우, 사용자 단말은 721 동작에서 추출된 패킷을 기본 버퍼에 저장한다. 예를 들어, 도 8에 도시된 바와 같이, 사용자 단말 1(801)이 패킷 P2 및 P3를 보유하고, 패킷 P1의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00019
를 수신한 경우, 사용자 단말 1(801)은 NC 패킷을 디코딩하여 패킷 P1을 추출할 수 있으며, 추출된 P1을 기본 버퍼에 저장할 수 있다. 다른 예로, 도 8에 도시된 바와 같이, 사용자 단말 4(804)가 패킷 P1 및 P3를 보유하고, 패킷 P2의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00020
를 수신한 경우, 사용자 단말 4(804)는 NC 패킷을 디코딩하여 패킷 P2를 추출할 수 있으며, 추출된 P2를 기본 버퍼에 저장할 수 있다.
반면, 원하지 않는 패킷이 추출된 경우, 사용자 단말은 723 동작에서 추출된 패킷을 DUP 버퍼에 저장한다. 예를 들어, 도 8에 도시된 바와 같이, 사용자 단말 2(802)가 패킷 P1 및 P2를 보유하고, 패킷 P4의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00021
를 수신한 경우, 사용자 단말 2(802)는 NC 패킷을 디코딩하여 패킷 P3 추출할 수 있다. 그러나, 사용자 단말 2(802)는 현재 시점에서 패킷 P3를 필요로 하지 않으므로, 추출된 P3를 DUP 버퍼에 저장할 수 있다. DUP 버퍼에 저장된 패킷은 현재 시점에서 사용자 단말의 송수신 동작을 위해 필요하지 않는 패킷이다. 따라서, DUP 버퍼에 저장된 패킷이 추후에 사용자 단말의 송수신 동작을 위해 필요해질 경우, 사용자 단말은 해당 패킷을 DUP 버퍼에서 기본 버퍼로 이동시켜 저장할 수 있다.
725 동작에서, 사용자 단말은 추출된 패킷을 이용하여 NUP 버퍼에 저장된 NC 패킷의 디코딩이 가능한지 여부를 확인한다. 이때, 사용자 단말은 추출된 패킷과 기본 버퍼 및/혹은 DUP 버퍼에 미리 저장된 패킷을 이용하여 NUP 버퍼에 저장된 NC 패킷의 디코딩이 가능한지 여부를 확인할 수 있다. 만일, 추출된 패킷을 이용하여 NUP 버퍼에 저장된 NC 패킷의 디코딩이 가능할 경우, 사용자 단말은 727 동작에서 NUP 버퍼에 저장된 NC 패킷을 디코딩하고, 719 동작으로 되돌아가 이하 동작을 재수행한다. 이때, 사용자 단말은 디코딩된 NC 패킷을 NUP 버퍼에서 폐기할 수 있다.
반면, 추출된 패킷을 이용하여 NUP 버퍼에 저장된 NC 패킷의 디코딩이 불가능할 경우 사용자 단말은 701 동작으로 되돌아가 이하 동작을 재수행할 수 있다.
상술한 도 7에서, 기본 버퍼, DUP 버퍼 및/혹은 NUP 버퍼에 저장된 패킷들은 중계국으로부터 수신된 스케줄링 정보 내 NC 버퍼링 정보를 기반으로 폐기될 수 있다. 즉, 사용자 단말은 스케줄링 정보 내 NC 버퍼링 정보에서 각 패킷을 NUP 혹은 DUP에 저장할 경우, 얼마만큼의 시간 동안 해당 패킷을 폐기하지 않고 저장해야 하는지 확인하고, 해당 시간이 만료될 경우 NUP 혹은 DUP에서 해당 패킷을 폐기할 수 있다.
도 9는 본 발명의 실시 예에 따른 네트워크 코딩을 지원하는 시스템에서 중계국의 구성을 도시하고 있다.
도 9에 도시된 바와 같이, 중계국은 제어부(900), 수신부(910) 및 송신부(920)를 포함하여 구성된다.
제어부(900)는 각 단말로부터 수신된 패킷을 해당 단말로 전달하기 위한 제어 및 처리를 수행한다. 특히, 제어부(900)는 NC 제어부(902)를 포함함으로써, 다수의 단말들로부터 수신된 패킷에 네트워크 코딩 기법을 적용하여 전송하기 위한 기능을 제어 및 처리한다. 즉, NC 제어부(902)는 연결 중인 다수의 단말에 대한 채널 상태를 기반으로 단말 그룹을 결정한다. 이때, NC 제어부(902)는 다수의 단말들 중에서 채널 상태가 비슷한 단말들을 하나의 그룹으로 결정할 수 있다. 예를 들어, NC 제어부(902)는 CQI값을 기반으로 각 단말에 대한 그룹을 결정할 수 있다. NC 제어부(902)는 송신부(920)를 제어하여 동일한 그룹 내에 포함된 단말들로 전송될 패킷들을 미리 설정된 방식으로 인코딩하기 위한 기능을 제어 및 처리한다. 예를 들어, 단말 1과 단말 2가 제 1 그룹이고, 단말 3과 단말 4가 제 2 그룹인 경우, 중계국은 단말 1로 전송될 패킷 P1과 단말 2로 전송될 패킷 P2를 미리 설정된 인코딩 방식으로 인코딩하여 NC 패킷
Figure 112013036074581-pat00022
를 생성하고, 단말 3으로 전송될 패킷 P3와 단말 4로 전송될 패킷 P4를 미리 설정된 인코딩 방식으로 인코딩하여 NC 패킷
Figure 112013036074581-pat00023
를 생성하기 위한 기능을 제어 및 처리한다. NC 제어부(902)는 인코딩된 NC 패킷에 대한 스케줄링 정보를 생성하고, 스케줄링 정보와 인코딩된 NC 패킷을 전송하기 위한 기능을 제어 및 처리한다. 이때, 스케줄링 정보는 도 5에 도시된 바와 같이, NC 지표(501), 그룹 정보(503), 코딩된 패킷 정보(505), 코딩된 패킷 크기(507) 및 NC 버퍼링 정보(509)를 포함할 수 있다.
수신부(910)는 적어도 하나의 단말로부터 패킷을 수신처리하여 제어부(900)로 제공한다. 수신부(910)는 각 단말로부터 수신되는 신호를 바탕으로 각 단말에 대한 채널 상태를 추정할 수 있다.
송신부(920)는 NC 제어부(902)의 제어에 따라 NC 패킷을 생성하고, 생성된 NC 패킷을 적어도 하나의 단말로 NC 패킷을 전송하는 기능을 수행한다. 즉, 송신부(920)는 제어부(900)로부터 제공된 적어도 두 개의 패킷에 네트워크 코딩 기법을 적용하여 NC 패킷을 생성한다. 여기서, 네트워크 코딩 기법은 배타적 논리합(exclusive OR, XOR) 연산, 덧셈(addition) 연산, 곱셈(multiplication) 연산, 선형 연산(linear operation) 혹은 비선형 연산(nonlinear operation) 중 어느 하나일 수 있다.
도 10은 본 발명의 실시 예에 따른 네트워크 코딩을 지원하는 시스템에서 사용자 단말의 구성을 도시하고 있다.
도 10에 도시된 바와 같이, 사용자 단말은 제어부(1000), 수신부(1010), 송신부(1020) 및 저장부(1030)를 포함하여 구성된다.
제어부(1000)는 사용자 단말의 전반적인 동작을 위한 제어 및 처리를 수행한다. 특히, NC 제어부(1002)는 수신부(1020)를 통해 중계국으로부터 수신되는 NC 패킷을 처리하기 위한 기능을 제어 및 처리한다. 즉, NC 제어부(1002)는 중계국으로부터의 스케줄링 정보 패킷 내에 포함된 NC 지표를 바탕으로, 수신될 하향링크 패킷이 네트워크 코딩이 적용된 패킷인지 여부를 확인한다. NC 제어부(1002)는 수신될 하향링크 패킷이 네트워크 코딩이 적용되지 않은 패킷일 경우, 해당 하향링크 패킷 데이터를 수신하고, 수신 패킷을 저장부의 기본 버퍼(1031)에 저장한다. NC 제어부(1002)는 수신될 하향링크 패킷이 네트워크 코딩이 적용된 패킷인 경우, 스케줄링 정보 패킷 내 NC 버퍼링 정보를 기반으로 재전송될 가능성이 없는 패킷들을 결정한다. 즉, NC 제어부(1002)는 NC 버퍼링 정보가 해당 패킷이 마지막 재전송인지 여부를 나타내는 정보 및/혹은 동일한 그룹 내의 다른 사용자 단말들이 어떤 패킷을 성공적으로 수신했는지 나타내는 정보를 분석하여 추후에 재전송될 가능성이 없는 패킷들을 결정한다. 여기서, NC 제어부(1002)는 스케줄링 정보 내 코딩된 패킷 정보로부터 해당 NC 패킷의 인코딩에 이용된 패킷들을 확인하고, NC 버퍼링 정보를 바탕으로 NC 패킷의 인코딩에 이용된 각각의 패킷들이 추후에 재전송될 가능성이 있는지 없는지 여부를 결정할 수 있다. NC 제어부(1002)는 재전송될 가능성이 없다고 판단된 패킷들을 폐기할 수 있다. 즉, NC 제어부(1002)는 재전송 가능성이 없다고 판단된 패킷이 저장부(1030)에 저장되어 있는 경우, 해당 패킷을 폐기할 수 있다. 이는 해당 패킷이 추후에 재전송되지 않으므로, 해당 패킷이 다른 패킷의 디코딩에 이용될 가능성이 없기 때문이다.
NC 제어부(1002)는 수신부(1010)를 통해 수신되는 네트워크 코딩된(NC) 패킷이 디코딩 가능한지 여부를 확인한다. 이때, NC 제어부(1002)는 스케줄링 정보 내 코딩된 패킷 정보를 바탕으로 NC 패킷의 인코딩에 이용된 패킷들을 확인하고, NC 패킷의 인코딩에 이용된 패킷들과 사용자 단말 자신이 보유하고 있는 패킷들을 비교하여 해당 NC 패킷의 디코딩 가능 여부를 결정할 수 있다. 예를 들어, NC 제어부(1002)는 NC 패킷의 인코딩에 이용된 패킷들 중에서 어느 하나의 패킷을 제외한 나머지 모든 패킷들을 보유하고 있는 경우에 NC 패킷의 디코딩이 가능하다고 판단할 수 있다. 반면, NC 제어부(1002)는 NC 패킷의 인코딩에 이용된 패킷들 중에서 적어도 두 개 이상의 패킷을 보유하고 있지 않은 경우에 NC 패킷의 디코딩이 불가능한 것으로 판단할 수 있다.
NC 제어부(1002)는 수신된 NC 패킷의 디코딩이 불가능하다고 판단될 시, 수신된 NC 패킷을 저장부(1030)의 NUP 버퍼(1033)에 저장할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 저장부(1030)의 기본 버퍼(1031) 및/혹은 DUP 버퍼(1032)에 패킷 P1 및 P4가 미리 저장되어 있고, 패킷 P3의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00024
이 수신된 경우, NC 제어부(1002)는 NC 패킷을 디코딩할 수 없으므로, 수신된 NC 패킷
Figure 112013036074581-pat00025
를 NUP 버퍼(1033)에 저장할 수 있다.
NC 제어부(1002)는 수신된 NC 패킷의 디코딩이 가능하다고 판단될 시, 수신된 NC 패킷을 디코딩할 수 있다. 이때 NC 제어부(1002)는 기본 버퍼(1031) 및/혹은 DUP 버퍼(1032)에 포함된 패킷들을 이용하여 NC 패킷을 디코딩할 수 있다.
NC 제어부(1002)는 NC 패킷을 디코딩하여 추출된 패킷이 원하는 패킷인지 여부를 검사하고, 원하는 패킷이 추출된 경우, 추출된 패킷을 기본 버퍼(1031)에 저장할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 저장부(1030)의 기본 버퍼(1031) 및/혹은 DUP 버퍼(1032)에 패킷 P2 및 P3이 미리 저장되어 있고, 패킷 P1의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00026
이 수신된 경우, NC 제어부(1002)는 수신부(1010)를 제어하여 NC 패킷을 디코딩하여 패킷 P1을 추출할 수 있으며, 추출된 P1을 기본 버퍼(1031)에 저장할 수 있다. 다른 예로, 도 8에 도시된 바와 같이, 저장부(1030)의 기본 버퍼(1031) 및/혹은 DUP 버퍼(1032)에 패킷 P1 및 P3이 미리 저장되어 있고, 패킷 P2의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00027
이 수신된 경우, NC 제어부(1002)는 수신부(1010)를 제어하여 NC 패킷을 디코딩하여 패킷 P2를 추출할 수 있으며, 추출된 P2를 기본 버퍼(1031)에 저장할 수 있다.
또한, NC 제어부(1002)는 원하지 않는 패킷이 추출된 경우, 추출된 패킷을 DUP 버퍼(1032)에 저장할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 저장부(1030)의 기본 버퍼(1031) 및/혹은 DUP 버퍼(1032)에 패킷 P1 및 P2가 미리 저장되어 있고, 패킷 P4의 수신을 원하는 상황에서 중계국(810)으로부터 NC 패킷
Figure 112013036074581-pat00028
이 수신된 경우, NC 제어부(1002)는 수신부(1010)를 제어하여 NC 패킷을 디코딩하여 패킷 P3 추출할 수 있다. 이때, 현재 시점에서 패킷 P3를 필요로 하지 않으므로, NC 제어부(1002)는 추출된 P3를 DUP 버퍼(1032)에 저장할 수 있다.
추가적으로, NC 제어부(1002)는 추출된 패킷을 이용하여 NUP 버퍼(1033)에 저장된 NC 패킷의 디코딩이 가능한지 여부를 확인한다. 이때, 사용자 단말은 추출된 패킷과 기본 버퍼(1031) 및/혹은 DUP 버퍼(1032)에 미리 저장된 패킷을 이용하여 NUP 버퍼(1033)에 저장된 NC 패킷의 디코딩이 가능한지 여부를 확인할 수 있다. 만일, 추출된 패킷을 이용하여 NUP 버퍼(1033)에 저장된 NC 패킷의 디코딩이 가능할 경우, NC 제어부(1002)는 NUP 버퍼(1033)에 저장된 NC 패킷을 디코딩하고, 디코딩된 NC 패킷을 NUP 버퍼(1033)에서 폐기할 수 있다.
또한, NC 제어부(1002)는 기본 버퍼(1031), DUP 버퍼(1032) 및/혹은 NUP 버퍼(1033)에 저장된 패킷들은 중계국으로부터 수신된 스케줄링 정보 내 NC 버퍼링 정보를 기반으로 폐기 처리할 수 있다. 즉, NC 제어부(1002)는 스케줄링 정보 내 NC 버퍼링 정보에서 각 패킷을 NUP 버퍼(1033) 혹은 DUP 버퍼(1032)에 저장할 경우, 얼마만큼의 시간 동안 해당 패킷을 폐기하지 않고 저장해야 하는지 확인하고, 해당 시간이 만료될 경우 NUP 버퍼(1033) 혹은 DUP 버퍼(1032)에서 해당 패킷을 폐기할 수 있다.
수신부(1010)는 중계국으로부터 패킷을 수신처리하여 제어부(1010)로 제공한다. 수신부(1010)는 제어부(1010)의 제어에 따라 수신된 NC 패킷을 네트워크 코딩 기법에 따라 디코딩하기 위한 기능을 제어 및 처리한다. 여기서, 네트워크 코딩 기법은 배타적 논리합(exclusive OR, XOR) 연산, 덧셈(addition) 연산, 곱셈(multiplication) 연산, 선형 연산(linear operation) 혹은 비선형 연산(nonlinear operation) 중 어느 하나일 수 있다.
송신부(1020)는 중계국을 통해 상대 단말로 패킷을 전송하는 기능을 수행한다.
저장부(1030)는 사용자 단말의 동작에 필요한 각종 데이터 및 프로그램을 저장한다. 특히 저장부(1030)는 기본 버퍼(1031), DUP 버퍼(1032) 및 NUP 버(1032)를 포함한다. 기본 버퍼(1031)는 사용자 단말의 동작에 필요한 패킷을 저장하고, DUP 버퍼(1032)는 사용자 단말의 동작에 필요하지 않으나, 디코딩 가능한 패킷을 저장한다. 또한 NUP 버퍼(1033)는 사용자 단말의 동작에 필요하지 않고, 디코딩이 불가능한 패킷을 저장한다. 여기서, DUP 버퍼(1032)에 저장된 패킷은 현재 시점에서 사용자 단말의 송수신 동작을 위해 필요하지 않는 패킷으로서, DUP 버퍼(1032)에 저장된 패킷이 추후에 사용자 단말의 송수신 동작을 위해 필요해질 경우, 해당 패킷은 DUP 버퍼(1032)에서 기본 버퍼(1031)로 이동 저장될 수도 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 단말의 방법에 있어서,
    중계국으로부터 네트워크 코딩이 적용된 패킷에 대한 정보를 수신하는 과정과,
    상기 중계국으로부터 상기 네트워크 코딩이 적용된 패킷을 수신하는 과정과,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보에 기반하여 상기 수신된 패킷으로부터 상기 단말의 동작에 필요한 패킷의 획득 가능 여부를 식별하는 과정과,
    상기 식별에 기반하여 상기 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하는 과정을 포함하는 방법.
  2. 제 1항에 있어서, 상기 네트워크 코딩이 적용된 패킷에 대한 정보는, 해당 패킷에 대한 네트워크 코딩 여부를 나타내는 지표, 네트워크 코딩에 참여한 패킷에 대응하는 단말 그룹, 네트워크 코딩에 참여한 패킷을 나타내는 정보, 네트워크 코딩에 참여한 패킷의 크기 정보, 해당 패킷의 버퍼별 저장 시간 및 해당 패킷의 마지막 재전송 여부 및 동일 그룹 내 사용자 단말들 각각이 성공적으로 수신한 패킷에 대한 정보 중 적어도 하나를 포함하는 방법.
  3. 제 1항에 있어서, 상기 단말의 동작에 필요하지 않은 패킷은, 디코딩이 가능하고 상기 단말이 필요로 하지 않는 패킷과, 디코딩이 불가능하고 상기 단말이 필요로 하지 않는 패킷 중 적어도 하나를 포함하는 방법.
  4. 제 3항에 있어서, 상기 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하는 과정은,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보 및 상기 단말의 적어도 하나의 버퍼에 미리 저장된 패킷을 기반으로 상기 수신된 패킷의 디코딩 여부를 결정하는 과정과,
    상기 수신된 패킷의 디코딩이 가능한 경우, 상기 수신된 패킷을 디코딩하여 상기 단말의 동작에 필요한 패킷 및 상기 단말의 동작에 필요하지 않은 패킷 중 어느 하나를 획득하는 과정과,
    상기 단말의 동작에 필요한 패킷이 획득된 경우, 상기 획득된 패킷을 제 1 버퍼에 저장하고, 상기 단말의 동작에 필요하지 않은 패킷이 획득된 경우, 상기 획득된 패킷을 제 2 버퍼에 저장하는 과정을 포함하는 방법.
  5. 제 4항에 있어서, 상기 수신된 패킷의 디코딩이 불가능한 경우, 상기 수신된 패킷을 제 3 버퍼에 저장하는 과정을 더 포함하는 방법.
  6. 제 5항에 있어서, 상기 제 1 버퍼 혹은 제 2 버퍼에 저장된 패킷을 바탕으로 상기 제 3 버퍼에 미리 저장된 패킷의 디코딩이 가능한지 여부를 확인하는 과정과,
    상기 제 3 버퍼에 미리 저장된 패킷의 디코딩이 가능할 시, 상기 제 3 버퍼에 미리 저장된 패킷을 디코딩하여 상기 단말의 동작에 필요한 패킷 및 상기 단말의 동작에 필요하지 않은 패킷 중 어느 하나를 획득하는 과정과,
    상기 단말의 동작에 필요한 패킷이 획득된 경우, 상기 획득된 패킷을 상기 제 1 버퍼에 저장하고, 상기 단말의 동작에 필요하지 않은 패킷이 획득된 경우, 상기 획득된 패킷을 상기 제 2 버퍼에 저장하는 과정과,
    상기 제 3 버퍼에서 상기 디코딩된 패킷을 폐기하는 과정을 더 포함하는 방법.
  7. 제 1항에 있어서, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 이후에 재전송될 가능성이 없는 패킷들을 결정하는 동작과,
    상기 결정된 패킷들을 상기 단말의 적어도 하나의 버퍼에서 폐기하는 동작을 더 포함하는 방법.
  8. 제 1항에 있어서, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 상기 단말의 적어도 하나의 버퍼에 저장된 패킷 각각에 대한 저장 시간을 결정하는 동작과,
    패킷의 저장 시간이 만료될 시, 해당 패킷을 해당 버퍼에서 폐기하는 동작을 더 포함하는 방법.
  9. 네트워크 코딩을 지원하는 시스템에서 중계국의 방법에 있어서,
    적어도 두 개의 패킷에 네트워크 코딩을 적용하는 과정과,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보를 단말에게 송신하는 과정과,
    상기 네트워크 코딩이 적용된 패킷을 상기 단말에게 송신하는 과정을 포함하며,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보는, 상기 단말의 동작에 필요한 패킷의 획득 가능 여부에 기반하여, 상기 단말에서 상기 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하도록 이용되는 방법.
  10. 제 9 항에 있어서,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보는, 해당 패킷에 대한 네트워크 코딩 여부를 나타내는 지표, 네트워크 코딩에 참여한 패킷에 대응하는 단말 그룹, 네트워크 코딩에 참여한 패킷을 나타내는 정보, 네트워크 코딩에 참여한 패킷의 크기 정보, 해당 패킷의 버퍼별 저장 시간 및 해당 패킷의 마지막 재전송 여부 및 동일 그룹 내 사용자 단말들 각각이 성공적으로 수신한 패킷에 대한 정보를 추가적으로 더 포함하고,
    상기 네트워크 코딩은, 배타적 논리합(exclusive OR, XOR) 연산, 덧셈(addition) 연산, 곱셈(multiplication) 연산, 선형 연산(linear operation) 혹은 비선형 연산(nonlinear operation) 중 어느 하나인 방법.
  11. 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 단말의 장치에 있어서,
    중계국으로부터 네트워크 코딩이 적용된 패킷에 대한 정보 및 상기 네트워크 코딩이 적용된 패킷을 수신하는 수신부와,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보에 기반하여 상기 수신된 패킷으로부터 상기 단말의 동작에 필요한 패킷의 획득 가능 여부를 식별하는 제어부와,
    상기 제어부의 제어에 따라 상기 식별에 기반하여 상기 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하는 메모리를 포함하는 장치.
  12. 제 11항에 있어서, 상기 네트워크 코딩이 적용된 패킷에 대한 정보는, 해당 패킷에 대한 네트워크 코딩 여부를 나타내는 지표, 네트워크 코딩에 참여한 패킷에 대응하는 단말 그룹, 네트워크 코딩에 참여한 패킷을 나타내는 정보, 네트워크 코딩에 참여한 패킷의 크기 정보, 해당 패킷의 버퍼별 저장 시간 및 해당 패킷의 마지막 재전송 여부 및 동일 그룹 내 사용자 단말들 각각이 성공적으로 수신한 패킷에 대한 정보 중 적어도 하나를 포함하는 장치.
  13. 제 11항에 있어서, 상기 단말의 동작에 필요하지 않은 패킷은, 디코딩이 가능하고 상기 단말이 필요로 하지 않는 패킷과, 디코딩이 불가능하고 상기 단말이 필요로 하지 않는 패킷 중 적어도 하나를 포함하는 장치.
  14. 제 13항에 있어서, 상기 제어부는, 상기 네트워크 코딩이 적용된 패킷에 대한 정보 및 상기 단말의 적어도 하나의 버퍼에 미리 저장된 패킷을 기반으로 상기 수신된 패킷의 디코딩 여부를 결정하고, 상기 수신된 패킷의 디코딩이 가능한 경우, 상기 수신된 패킷을 디코딩하여 상기 단말의 동작에 필요한 패킷 및 상기 단말의 동작에 필요하지 않은 패킷 중 어느 하나를 획득하며,
    상기 메모리는 상기 제어부의 제어에 따라 상기 단말의 동작에 필요한 패킷을 저장하는 제 1 버퍼와, 상기 단말의 동작에 필요하지 않은 패킷을 저장하는 제 2 버퍼를 포함하는 장치.
  15. 제 14항에 있어서, 상기 메모리는, 디코딩이 불가능한 수신 패킷을 저장하는 제 3 버퍼를 더 포함하는 장치.
  16. 제 15항에 있어서, 상기 제어부는, 상기 제 1 버퍼 혹은 제 2 버퍼에 저장된 패킷을 바탕으로 상기 제 3 버퍼에 미리 저장된 패킷의 디코딩이 가능한지 여부를 확인하고, 상기 제 3 버퍼에 미리 저장된 패킷의 디코딩이 가능할 시, 상기 제 3 버퍼에 미리 저장된 패킷을 디코딩하여 상기 단말의 동작에 필요한 패킷 및 상기 단말의 동작에 필요하지 않은 패킷 중 어느 하나를 획득하고, 상기 단말의 동작에 필요한 패킷이 획득된 경우 상기 획득된 패킷을 상기 제 1 버퍼에 저장하고, 상기 단말의 동작에 필요하지 않은 패킷이 획득된 경우, 상기 획득된 패킷을 상기 제 2 버퍼에 저장하고, 상기 제 3 버퍼에서 상기 디코딩된 패킷을 폐기하기 위한 제어 기능을 수행하는 장치.
  17. 제 11항에 있어서, 상기 제어부는, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 이후에 재전송될 가능성이 없는 패킷들을 결정하고, 상기 결정된 패킷들을 상기 단말의 적어도 하나의 버퍼에서 폐기하기 위한 제어 기능을 수행하는 장치.
  18. 제 11항에 있어서, 상기 제어부는, 상기 네트워크 코딩이 적용된 패킷에 대한 정보를 바탕으로 상기 단말의 적어도 하나의 버퍼에 저장된 패킷 각각에 대한 저장 시간을 결정하고, 패킷의 저장 시간이 만료될 시, 해당 패킷을 해당 버퍼에서 폐기하기 위한 제어 기능을 수행하는 장치.
  19. 네트워크 코딩을 지원하는 시스템에서 중계국의 장치에 있어서,
    적어도 두 개의 패킷에 네트워크 코딩을 적용하는 제어부와,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보를 단말에게 송신하고,
    상기 네트워크 코딩이 적용된 패킷을 상기 단말에게 송신하는 송신부를 포함하며,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보는, 상기 단말의 동작에 필요한 패킷의 획득 가능 여부에 기반하여, 상기 단말에서 상기 단말의 동작에 필요한 패킷과 상기 단말의 동작에 필요하지 않은 패킷을 구분하여 서로 다른 버퍼에 저장하도록 이용되는 장치.
  20. 제 19 항에 있어서,
    상기 네트워크 코딩이 적용된 패킷에 대한 정보는, 해당 패킷에 대한 네트워크 코딩 여부를 나타내는 지표, 네트워크 코딩에 참여한 패킷에 대응하는 단말 그룹, 네트워크 코딩에 참여한 패킷을 나타내는 정보, 네트워크 코딩에 참여한 패킷의 크기 정보, 해당 패킷의 버퍼별 저장 시간 및 해당 패킷의 마지막 재전송 여부 및 동일 그룹 내 사용자 단말들 각각이 성공적으로 수신한 패킷에 대한 정보를 추가적으로 더 포함하고,
    상기 네트워크 코딩은, 배타적 논리합(exclusive OR, XOR) 연산, 덧셈(addition) 연산, 곱셈(multiplication) 연산, 선형 연산(linear operation) 혹은 비선형 연산(nonlinear operation) 중 어느 하나인 장치.
KR1020130045453A 2013-04-24 2013-04-24 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치 KR102115401B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130045453A KR102115401B1 (ko) 2013-04-24 2013-04-24 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치
PCT/KR2014/003539 WO2014175649A1 (en) 2013-04-24 2014-04-23 Method and apparatus for managing packet in system supporting network coding
US14/261,306 US9451523B2 (en) 2013-04-24 2014-04-24 Method and apparatus for managing packet in system supporting network coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130045453A KR102115401B1 (ko) 2013-04-24 2013-04-24 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140127007A KR20140127007A (ko) 2014-11-03
KR102115401B1 true KR102115401B1 (ko) 2020-05-26

Family

ID=51789193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130045453A KR102115401B1 (ko) 2013-04-24 2013-04-24 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치

Country Status (3)

Country Link
US (1) US9451523B2 (ko)
KR (1) KR102115401B1 (ko)
WO (1) WO2014175649A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519777B1 (ko) * 2014-01-29 2015-05-12 현대자동차주식회사 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법
KR102043510B1 (ko) * 2017-12-04 2019-12-02 한국과학기술원 사용자 단말의 메모리 저장 정보가 제한된 환경에서의 인덱스 부호화 방법 및 장치, 그리고 무선 통신 방법
CN109688558B (zh) * 2019-03-04 2021-05-18 重庆邮电大学 一种延迟约束下基于网络编码的中继传输方法
GB2595278B (en) 2020-05-20 2023-09-27 Canon Kk Method and appraratus for signalling network coding capabilities
CN115623469A (zh) * 2021-07-15 2023-01-17 华为技术有限公司 一种网络编码功能的配置方法以及相关装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100960040B1 (ko) * 2006-10-04 2010-05-31 삼성전자주식회사 셀 기반의 시스템에서 중계국을 이용한 핸드오버 장치 및방법
JP5266450B2 (ja) * 2007-08-27 2013-08-21 アップル インコーポレイテッド 無線通信システムにおける方法及び通信装置
US8345629B2 (en) * 2007-09-25 2013-01-01 Ntt Docomo, Inc. Method for ARQ-enabled pre-transmissions in multicast and broadcast services of relay networks utilizing the idle periods
EP2313992A4 (en) * 2008-08-15 2014-09-17 Unwired Planet Internat Ltd RELATIVE TIME DISTRIBUTION FOR NETWORK CODING
US8358608B2 (en) * 2008-11-14 2013-01-22 Samsung Electronics Co., Ltd. Method and apparatus for HARQ operation with network coding
US8737297B2 (en) * 2009-02-20 2014-05-27 Interdigital Patent Holdings, Inc. Network coding relay operations
KR101524284B1 (ko) * 2009-03-27 2015-05-29 삼성전자주식회사 중계 방식의 무선통신 시스템에서 양방향 중계를 위한 장치및 방법
KR101091167B1 (ko) * 2009-10-30 2011-12-09 건국대학교 산학협력단 네트워크 코딩을 기반으로 멀티미디어 데이터를 전송하는 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US20120230409A1 (en) 2011-03-07 2012-09-13 Qualcomm Incorporated Decoded picture buffer management

Also Published As

Publication number Publication date
KR20140127007A (ko) 2014-11-03
WO2014175649A1 (en) 2014-10-30
US20140321354A1 (en) 2014-10-30
US9451523B2 (en) 2016-09-20

Similar Documents

Publication Publication Date Title
Feng et al. Toward ultrareliable low-latency communications: Typical scenarios, possible solutions, and open issues
EP3457643B1 (en) Method and device for transmitting data stream
CN104412665B (zh) 用于动态可配置空中接口的系统和方法
KR102115401B1 (ko) 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치
KR102251634B1 (ko) 기지국 장치, 단말기 장치, 무선 통신 시스템, 및 통신 방법
KR102053333B1 (ko) 무선 통신 시스템에서 개선된 네트워크 코딩 방법 및 장치
EP2728951A3 (en) Adapting code rate
JP2011525088A5 (ko)
KR102244593B1 (ko) 양방향 네트워크를 위한 텔레그램 분할 송신 방법
KR102257280B1 (ko) 양방향 네트워크를 위한 텔레그램 분할 송신 방법
CN111699645B (zh) 通信方法及装置
KR102304089B1 (ko) 단말간 통신의 harq 처리 방법 및 장치
US10313083B2 (en) Method for hybrid automatic repeat request process, network device and terminal device
CN105471763A (zh) 控制报文传输方法及装置
Akin et al. Backlog and delay reasoning in HARQ system
CN109873687B (zh) 一种物联网中基于信噪比的信息处理方法、系统及存储介质
JPWO2018142601A1 (ja) 無線通信システム、基地局装置、端末装置及び無線通信方法
KR102362946B1 (ko) 이종 서비스 간 효율적인 송수신 기술
Phung et al. Enhancing rest http with random linear network coding in dynamic edge computing environments
CN112188562B (zh) 中继基站的多播调度方法和装置、存储介质及电子装置
US10536953B2 (en) Code shortening at a secondary station
CN110690949B (zh) 一种信息配置的方法和设备
CN104427599A (zh) 通信装置和通信方法
CN110944400B (zh) Ack/nack反馈方法、系统、基站、终端
CN115835238A (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