KR101169126B1 - 피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치 - Google Patents

피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101169126B1
KR101169126B1 KR1020097016601A KR20097016601A KR101169126B1 KR 101169126 B1 KR101169126 B1 KR 101169126B1 KR 1020097016601 A KR1020097016601 A KR 1020097016601A KR 20097016601 A KR20097016601 A KR 20097016601A KR 101169126 B1 KR101169126 B1 KR 101169126B1
Authority
KR
South Korea
Prior art keywords
packet
buffer
empty
buffers
protocol
Prior art date
Application number
KR1020097016601A
Other languages
English (en)
Other versions
KR20090111836A (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 claimed from PCT/US2008/000294 external-priority patent/WO2008085992A2/en
Publication of KR20090111836A publication Critical patent/KR20090111836A/ko
Application granted granted Critical
Publication of KR101169126B1 publication Critical patent/KR101169126B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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

Abstract

패킷을 멀티캐스팅하는 방법은 기지국과 통신하는 두 개의 사용자 장비들(UE들) 각각을 위한 버퍼를 제공함으로써 시작한다. 기지국에서 이전에 보내지지 않은 패킷이 존재하는지에 대한 판단이 행해진다. 양쪽 UE 버퍼들이 비어있지 않은 상태인지에 대한 두번째 판단이 행해진다. 이전에 보내지지 않은 패킷이 존재하지 않은 경우 및 버퍼들 중 하나가 비어있지 않은 상태인 경우에 비어있지 않은 버퍼는 플러싱된다. 이전에 보내지지 않은 패킷이 존재하는 경우 또는 양쪽 버퍼들이 비어있지 않은 상태인 경우에 송신될 패킷이 선택된다. 버퍼는 UE로부터 수신된 피드백에 기초하여 업데이트된다.
Figure R1020097016601
패킷, 멀티캐스트, 기지국, 통신, 사용자 장비, UE, 버퍼.

Description

피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치{METHOD AND APPAEATUS FOR MULTICASTING WITH FEEDBACK INFORMATION}
본 발명개시는 무선 통신 시스템에 관한 것이다.
무선 통신 시스템에서, 멀티캐스팅은, 패킷이 많은 수의 수신기들에 전달될 필요가 있을 때라도 송신기로 하여금 단한번에 패킷을 보낼 수 있도록 해준다. 소스 패킷이 멀티캐스팅을 통해 송출되는 경우, 모든 타겟 수신기들이 소스 패킷을 복구할 것은 아니라는 것이 일반적이다. 현존하는 프로토콜에서, 모든 수신기들이 소스 패킷을 복구하는 것이 아닌 경우, 패킷은 재송신되어야 한다. 몇몇의 수신기들은 자신들이 이미 소유하고 있는 데이터를 복구하기 때문에, 소스 패킷을 재송신하는 실행은 무선 시스템에서 비효율성을 불러일으킨다.
레이트리스 코드(Rateless Code; RC)(이것은 또한 파운틴 코드로서도 알려져 있다)로서 통상적으로 알려진 최근에 개발된 기술들은 원래 패킷들의 선형 조합인 "파생 패킷(derived packet)"을 송신함으로써 이러한 비효율성을 방지한다. 레이트리스 코딩법은, 2002년도 컴퓨터 과학의 기초에 관한 ACM 심포지움의 회보에서의 M. Luby의 "LT 코드"; 2004년도 정보 이론에 관한 국제 심포지움의 회보에서의 A. Shokrollahi의 "랩터 코드"; "Information additive code generator and decoder for communication systems"의 명칭을 갖는 미국 특허 제6,614,366호; "Multi-stage code generator and decoder for communication systems"의 명칭을 갖는 미국 특허 제7,068,729호를 포함하여, 이전의 수 많은 연구서들에서 설명되고 분석되어왔다. 이와 같은 기술들은 수신기로부터 송신기로의 피드백이 이용가능하지 않는 시스템에서 알려져 있지만, 자동 반복 요청(ARQ) 및 하이브리드 ARQ (HARQ) 프로토콜들을 포함하여, 피드백을 갖춘 시스템에서의 이들의 응용들은 잘 알려져 있지 않다.
최신 기술을 보다 잘 이해하기 위해, 도 1에서 도시된 무선 통신 시스템 모델(100)을 설명한다. 기지국(110)이 다수의 소스 패킷들(p1,...,pk)을 m개의 사용자 장비(UE)(120)에게 보내고자 하는 것을 가정한다. 소스 패킷들은 동일한 크기를 가지며, 송신은 멀티캐스트에 의해 행해진다. 기지국(110)과 m개의 UE(120) 사이의 무선 채널들은 서로가 독립적인 무기억 소거 채널이다. e i (i=1,...,m)는 기지국(110)과 UE i(120) 사이의 채널의 소거율을 표시한다. 다시 말하면, UE i(120)가 패킷을 수신할 확률은 1-e i 이며, UE i(120)가 패킷을 수신하지 않을 확률은 e i 이다. 만일, UE가 물리층 순방향 에러 정정 기술들을 이용하여 패킷내의 모든 비트들을 복구할 수 없는 경우, 패킷은 손실된 것으로서 간주된다. 각각의 UE(120)는 패킷이 수신되었는지 아닌지의 여부를 기지국에게 알려주기 위해 단일 비트의 수신확인/부정 수신확인(ACK/NACK) 피드백을 기지국에게 보낼 수 있다. 일반성을 잃지 않고서, 기지국(110)은 타임슬롯의 제1부분에서 패킷을 보내고, UE(120)는 타임슬롯의 제2 부분에서 ACK/NACK을 보내는 것으로 가정한다.
이제부터 RC없는 현존하는 프로토콜을 설명한다. 프로토콜 1은 오직 두 개의 UE(즉, 도 1에서 m=2)를 갖는 무선 통신 시스템(100)상의 현존하는 프로토콜을 묘사하는 반면에, 프로토콜 1a는 임의의 갯수의 UE까지 프로토콜 1을 확장시킨다.
프로토콜 1
도 1에서 도시된 바와 같이, 기지국(110)은 각각의 UE(120)로부터 해당 패킷에 대한 적어도 하나의 ACK를 수신할 때 까지 동일 패킷을 재송신한다. 소스 패킷이 재송신되는 경우에, UE는 한 번 보다 많이 소스 패킷에 대해 ACK할 수 있음을 유념한다. 그런 다음, 기지국(110)은 새로운 패킷을 보낸다. 프로토콜 1은 모든 UE(120)가 모든 소스 패킷들을 수신하도록 보장한다.
프로토콜 1의 성능을 평가하기 위하여, 평균(예상값) 오버헤드가 계산된다. 오버헤드는 소스 패킷의 갯수에 대한 송신 패킷의 총 갯수의 비이다. 이 정의에 의하면, 오버헤드는 1보다 작지 않는 수이며, 오버헤드가 작을수록 바람직하다. 프로토콜 1에 따르면, 패킷이 각각의 UE들에 독립적으로 보내진 경우에, 양쪽 UE들 모두가 패킷을 수신할 때 까지 동일 패킷의 송신 횟수는 동일 패킷의 보다 큰쪽의 송신 횟수와 동일하다. 이것은 다수의 UE들에게도 적용될 수 있는 다음의 서술내용으로 수학적으로 표현될 수 있다.
Z을 양쪽 UE들이 동일 패킷을 수신할 때 까지 그 패킷의 송신 횟수라고 놓자. 그러면, Z = max{X,Y}이며, 여기서 X와 Y는 각각의 파라미터 1-e1와 1-e2를 갖 는 독립 기하 랜덤 변수들이다. 구체적으로, x, y = 1,2,...,에 대해서, Pr(X = x) = (1-e1)e1 x-1 이고, Pr(Y = y) = (1-e2)e2 y-1 이다. 모든 k개의 소스 패킷들이 양쪽 UE들에 의해 수신되도록 프로토콜 1에서 보내진 패킷의 총 갯수는 다음과 같이 주어진다.
Figure 112009048431991-pct00001
여기서, Zi는 Z과 동일한 분포를 갖는 독립 랜덤 변수들이다. 따라서, 총 갯수는 다음과 같이 표현될 수 있다.
Figure 112009048431991-pct00002
여기서, X1,...,Xk는 파라미터 1-e1을 갖는 독립 기하 랜덤 변수들이며, Y1,...,Yk는 파라미터 1-e2를 갖는 독립 기하 랜덤 변수들이다.
[수학식 1]에서 나타난 바와 같이, 프로토콜 1에서 보내진 패킷들의 평균 갯수는 kE(Z)으로 주어지며, 프로토콜 1의 예상된 오버헤드는 E(Z)으로 주어진다. 이것은 다음과 같이 나타날 수 있다.
Figure 112009048431991-pct00003
프로토콜 1은 아래와 같이 임의의 갯수의 UE들을 갖는 멀티캐스트 모델에 적용될 수 있다.
프로토콜 1a
프로토콜 1a에서, 프로토콜 1은 다수의 UE들로 확장된다. 프로토콜 1a에서, 기지국은 모든 UE로부터 해당 패킷에 대한 적어도 하나의 ACK를 수신할 때 까지 동일 패킷을 재송신한다. 그런 후, 기지국은 새로운 패킷을 보낸다. 프로토콜 1a는 모든 UE들이 모든 소스 패킷들을 수신하도록 보장한다. 이 프로토콜의 성능은 두 개의 UE에 대해 취해진 방법과 유사한 방식으로 평가된다.
본 발명개시는 레이트리스 코딩 프로토콜의 이용 및 피드백 정보가 존재하는 시스템에서 이 프로토콜들이 가져다주는 효율성을 포함한다. 어느 패킷들이 수신되고 수신되지 않았는지에 대한 피드백 정보를 갖는다는 것은 현존하는 프로토콜들에서 구현되지 않는 중요한 추가적인 장점들을 가져다줄 수 있다. 현재의 피드백 데이터의 이용가능성으로 인해, 보다 큰 시스템 효율성이 가능하도록 해주는 새로운 멀티캐스팅 프로토콜들이 필요하다.
본 명세서에서는 수신기들이 공통 송신기에 피드백을 제공할 수 있는 시스템에서 패킷 데이터를 멀티캐스팅하는 것이 개시된다. 피드백이 존재하지 않는 경우에서 패킷 데이터를 멀티캐스팅하기 위한 방법이 현존하는 프로토콜들에서 제안되어왔다. 이러한 기술들을 통상적으로 레이트리스 코딩(Rateless Coding; RC) 알고리즘이라고 부른다. 하지만, 피드백을 갖게 되고, 이에 따라 어느 패킷들이 수신되었고 수신되지 않았는지에 관한 정보를 갖게 되는 것은 현존하는 기술들에 의해 구현되지 않는 추가적인 장점들을 가져다줄 수 있다.
본 발명개시는 수신기 피드백을 통합시키기 위해 현존하는 RC 개념들을 개선시키는 프레임워크를 포함한다. 현존하는 3GPP HSDPA 시스템을 통해 멀티캐스트가 어떻게 개선될 수 있는지를 증명함으로써 여러개의 특정 구현예들을 선보여서 설명한다. 비록 이러한 개념들을 HSPA와 관련하여 설명하지만, 이것들은 3GPP LTE를 포함하여, 본 발명분야의 당업자에 의해 피드백을 갖춘 임의의 시스템에 까지 확장될 수 있다.
본 발명의 보다 자세한 이해는 첨부된 도면들을 참조하여 예시를 통해 주어진 아래의 상세한 설명으로부터 얻어질 수 있다.
도 1은 임의의 갯수의 UE들을 갖는 멀티캐스트 모델을 도시한다.
도 2는 두 개의 UE들을 갖는 송신 프로토콜의 흐름도이다.
도 3은 다수의 UE들을 갖는 송신 프로토콜의 흐름도이다.
도 4는 UE 그룹을 갖는 송신 프로토콜의 흐름도이다.
도 5는 블럭 패킷 송신을 갖는 송신 프로토콜의 흐름도이다.
도 6은 고속 다운링크 공유 채널(HS-DSCH) 채널 인코딩 체인의 도면이다.
도 7은 HS-DSCH 채널 디코딩 체인의 도면이다.
도 8은 결합된 패킷에 대한 HS-DSCH 채널 인코딩 체인의 도면이다.
도 9는 결합된 패킷에 대한 HS-DSCH 채널 디코딩 체인의 도면이다.
도 10은 두 개의 UE 경우에 대한 서로 다른 프로토콜 결과들을 비교하는 제1 시뮬레이션의 그래프이다.
도 11은 두 개의 UE 경우에 대한 서로 다른 프로토콜 결과들을 비교하는 제2 시뮬레이션의 그래프이다.
도 12는 두 개의 UE 경우에 대한 서로 다른 프로토콜 결과들을 비교하는 제3 시뮬레이션의 그래프이다.
도 13은 다수의 UE 경우에 대한 서로 다른 프로토콜 결과들을 비교하는 제1 시뮬레이션의 그래프이다.
도 14는 다수의 UE 경우에 대한 서로 다른 프로토콜 결과들을 비교하는 제2 시뮬레이션의 그래프이다.
도 15는 다수의 UE 경우에 대한 서로 다른 프로토콜 결과들을 비교하는 제3 시뮬레이션의 그래프이다.
비록 본 발명개시의 특징들 및 구성요소들이 여러 프로토콜들에서 설명되고 있지만, 각각의 특징들 또는 구성요소들은 (프로토콜들의 다른 특징들 및 구성요소들 없이) 단독으로 사용될 수 있거나, 또는 다른 특징들과 구성요소들과 함께 또는 이들 없이 다양한 조합으로 사용될 수 있다.
이하의 언급시, 용어 "사용자 장비(UE)"는 무선 송수신 유닛(WTRU), 이동국, 고정 가입자 유닛 또는 이동 가입자 유닛, 호출기, 셀룰러 폰, 개인 보조 단말기(PDA), 컴퓨터, 또는 무선 환경에서 동작할 수 있는 임의의 유형의 기타 사용자 장치를 포함하나, 이러한 예시들에 한정되는 것은 아니다. 이하의 언급시, 용어 "기지국"은 노드 B, 싸이트 제어기, 액세스 포인트(AP), 또는 무선 환경에서 동작할 수 있는 임의의 유형의 기타 인터페이싱 장치를 포함하나, 이러한 예시들에 한정되는 것은 아니다.
성능(오버헤드) 개선을 제공하는 새로운 송신 프로토콜을 설명한다. 이 프로토콜이 두 개의 UE들에 적용되는 것을 제일 먼저 제시한다. 그런 다음, 이 프로토콜이 다수의 UE들로 확장되는 것을 제시한다.
레이트리스 코딩에서는, 모든 패킷들이 레이트리스 코딩 연산을 통해 효과적으로 여러번 재송신되는 것을 상기하라. 피드백이 제시되지 않아도 무방한 경우인 한, 이와 같은 연산은 피드백의 존재하에서는 꼭 필요하지는 않는다. 본 명세서에서 설명되는 프로토콜에 대한 일반적인 프레임워크는 다음과 같다:
제일 먼저, 각각의 데이터 패킷의 하나의 인스턴스를 일반적인 방법을 통해 보낸다. 이와 달리, 대부분의 패킷들의 신뢰적인 전달을 확실히하기 위해 몇몇의 반복/레이트리스 코딩이 선험적으로 적용될 수 있다. 하지만, 이와 같은 코딩의 양(코드에 의해 도입되는 확장량)은 한정되어야 하며, 피드백 없는 경우에서 사용되는 것보다 작아야 한다.
패킷을 버퍼링하고, 수신되지 않았던 패킷에 관한 정보 및 (입수가능한 경 우) 어느 UE가 어떤 패킷들을 손실했는지에 관한 정보를 수집한다.
이제, 모든 UE들이 패킷을 디코딩하는 양호한 가능성을 갖도록 하는 방식으로 수신되지 않았던 패킷들만을 효율적으로 재송신하기 위해서, 레이트리스 코딩을 사용한다.
레이트리스 코딩과 피드백 정보를 결합시킴으로써, 보다 큰 송신 효율성이 달성될 수 있다.
하이 레벨 시스템은 각각 N개의 입력 패킷들을 받아서 단일의 출력 패킷을 생성하는 하나 또는 여러개의 "패킷 코더들"을 이용한다는 것을 유념해야 한다. 간단해지도록, 아래의 프로토콜들은 동일한 비트 수를 각각 갖는 패킷들에 대해 연산을 수행하는 XOR 코더를 이용한다. 이와 같은 패킷 코더는 서로 다른 패킷들내에서 동일한 비트 위치를 차지하는 비트들을 단순히 비트별로 XOR연산처리한다. 하지만, 이와 같은 제한성은 다음과 같은 방법으로 손쉽게 완화된다: 패킷들은 동일한 길이를 가질 필요는 없으며, 단순 XOR과 다른 코딩 연산이 사용될 수 있다.
RC 개념을 이용하는 기존의 설계들에서 사용되는 바와 같이, XOR 코더의 이용이 선호된다. 하지만, 보다 복잡한 코더들(예컨대, 이진 블럭 코더들)이 사용될 수 있다. 이와 같은 코더들은 XOR 코더와 마찬가지로, 단일 패킷을 출력할 수 있거나, 또는 (예컨대, 바이트 입력(8 비트 패킷)을 연산처리하여 바이트 출력을 출력시키는 리드-솔로몬 코드에서와 같이) 출력 패킷들의 세트를 출력할 수 있다. 본 명세서에서와 같이, 하나 보다 많은 패킷을 출력하는 코더들이 코더의 어레이로서 다루어질 수 있거나, 또는 단일 출력이 사용을 위해 선택될 수 있다.
하지만, 패킷 길이 문제는 해결될 필요가 있다. 통신 시스템에서, 패킷은 종종 동일한 길이를 갖지 않으며, 이 경우 XOR 코더는 정의되지 않는다. 이러한 것이 발생한 경우, 패킷들은 동일한 길이가 되도록 레이트 정합될 필요가 있다. 가장 단순한 방법은 보다 짧은 패킷들에 알려진 비트들(종종 제로 비트들, 하지만 수신기에서 알려진 임의의 비트 열이 사용될 수 있다)을 채워넣는 것이다. 다른 방법은, 채널 코딩 등과 같이, 패킷들의 연결(concatenation) 및 분할 또는 다른 연산과의 XOR 연산의 통합과 같은 보다 복잡한 기술들을 이용하는 것을 포함할 수 있다.
프로토콜 2
도 2는 두 개의 UE들을 갖는 멀티캐스트 모델의 측면에서 설명된 송신 프로토콜(200)("프로토콜 2")의 흐름도이다. 프로토콜 2는 프로토콜 1보다 낮은 송신 오버헤드를 갖는다. RC와 피드백을 결합시킴으로써, 오버헤드측면에서의 보다 높은 효율성이 달성된다.
프로토콜 2에서, 기지국은 UE측의 손실 패킷들을 저장하기 위해 각각의 UE를 위한 버퍼를 설정한다. "손실 패킷"은 보내졌으나 UE에 의해 수신되지 않은 패킷이다. 방법(200)은 새로운 소스 패킷(이것은 이전에 보내진 적이 없음을 의미한다)이 있는지 여부 또는 양쪽 버퍼들이 비어있지 않은 상태인지 여부를 판단함으로써 시작한다(단계 210). 만약 그러한 경우, 보내졌지만 양쪽 UE들에 의해 수신되지 않은 소스 패킷이 존재하는지 여부에 대한 판단을 행한다(단계 212). 만약 이와 같은 패킷이 존재하는 경우, 기지국은 이 손실된 소스 패킷을 송신한다(단계 214). 만약 이와 같은 패킷이 존재하지 않는 경우(단계 212), 양쪽 UE들을 위한 버퍼들이 비어있지 않은 상태인지의 여부에 대한 판단을 행한다(단계 216). 만약 양쪽 UE들을 위한 버퍼들이 비어있지 않은 상태이면, 기지국은 버퍼들내의 두 개의 소스 패킷들의 결합체인 결합된 패킷을 송신한다(단계 218). 적어도 하나의 UE 버퍼가 비어있는 경우(단계 216), 기지국은 새로운 소스 패킷을 송신한다(단계 220). UE들로부터 수신된 ACK/NACK 피드백에 기초하여, 기지국은 양쪽 버퍼들을 업데이트한다(단계 222).
새로운 소스 패킷이 존재하지 않으며 적어도 하나의 버퍼가 비어있는 상태인 경우, 나머지 다른 버퍼가 비어있는 상태인지의 여부에 대한 판단이 행해진다(단계 224). 만약 나머지 다른 버퍼가 비어있는 상태라면, 프로토콜은 종료된다(단계 226). 만약 나머지 다른 버퍼가 비어있지 않은 상태라면, 그 버퍼로부터의 패킷이 송신되며(단계 228), 그 버퍼는 피드백 정보를 기초로 업데이트된다(단계 230). 이러한 프로토콜 2의 섹션(단계 224 내지 단계 230)은 버퍼들내에 남아 있는 임의의 패킷들을 플러싱(flush)한다.
프로토콜 2에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하거나 또는 양쪽 버퍼들이 비어있지 않은 상태이면, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, 기지국은, 각각의 타임슬롯에서, 하기의 규칙들의 순서에 따라, 패킷을 양쪽 UE들에게 멀티캐스팅한다.
규칙 1: 만약 양쪽 UE들이 기지국에게 최종 타임슬롯에서의 패킷의 손실을 통지한다면, 기지국은 현재의 타임슬롯내의 해당 패킷을 재송신한다. 하나의 UE로 부터 ACK를 수신하고, 나머지 다른 UE로부터 NACK를 수신하면, 기지국은 현재 보내진 패킷을 후자측 UE를 위한 버퍼내에 저장한다.
규칙 2: 만약 양쪽 UE들을 위한 버퍼들이 비어있지 않은 상태라면, 기지국은 이러한 두 개의 버퍼들내의 첫 번째 패킷들의 배타적논리합(XOR)을 송신한다. 결합된 패킷의 두 개의 성분 패킷들 중에서 오로지 하나만이 각각의 UE에게 알려져있지 않음을 유념한다. 따라서, 각각의 UE는, 결합된 패킷을 수신하면, 결합된 패킷과 이전에 수신했던 자신의 패킷 중의 하나를 XOR연산처리함으로써 자신의 알려져 있지 않은 패킷을 복구시킬 수 있다. 하나의 UE로부터의 ACK 또는 양쪽의 UE들로부터 ACK를 수신하면, 기지국은 적합한 버퍼(들)에서 첫 번째 패킷을 제거한다.
규칙 3: 기지국은 이전에 보내진 적이 없는 새로운 소스 패킷을 송신한다. 하나의 UE로부터 ACK를 수신하고, 나머지 다른 UE로부터 NACK를 수신하면, 기지국은 현재 보내진 패킷을 후자측 UE를 위한 버퍼내에 저장한다.
버스트 송신 완료 단계에서, 적어도 하나의 UE는 기나긴 송신 버스트의 말미부분에서, 모든 소스 패킷들을 수신할 수 있다. 만약 나머지 다른 하나의 UE가 아직 모든 소스 패킷들을 수신하지 않은 경우, 즉 해당 UE를 위한 버퍼가 비어있지 않은 경우, 기지국은 해당 UE를 위한 버퍼를 플러싱한다. 구체적으로, 기지국은 해당 UE로부터 ACK를 수신할 때 까지 해당 버퍼로부터 동일한 패킷을 계속해서 재송신한다. 그런 다음, 기지국은 해당 버퍼내에 남아있는 다음 패킷을 보낸다.
프로토콜 2의 성능 평가
프로토콜 2의 예상되는 오버헤드가 아래에서 계산된다. 프로토콜 2에서 규칙 3에 의해 송신된 패킷들을 "통상적 패킷"이라고 부르며, 나머지 다른 송신 패킷들을 "정정 패킷"이라고 부른다. 통상적 패킷들의 갯수는 소스 패킷들의 갯수 k와 동일하다.
프로토콜 2에 따르면, 정규 송신 단계의 말미에서 UE들 중 하나가 모든 소스 패킷들을 복구하지 않은 경우, 정규 송신 단계와 버스트 송신 완료 단계 모두에서 모든 정정 패킷들은 이러한 UE가 자신의 손실 패킷들을 복구하는 것을 도와준다. 모든 정정 패킷들은 이러한 UE에 대해 알려져 있지 않은 정보의 하나의 패킷을 포함하고 있기 때문에, 이러한 패킷은 재송신 패킷으로서 간주될 수 있다. 그러므로, 프로토콜 2에서 총 송신 횟수는 각각의 UE들에게 독립적으로 보내진 동일한 k개의 패킷들의 송신 횟수 중 보다 큰쪽의 송신 횟수와 동일하다. 이것은 수학적으로 다음과 같이 표현될 수 있다.
X1,...,Xk를 파라미터 1-e1를 갖는 독립 기하 랜덤 변수들이라 하고, Y1,...,Yk를 파라미터 1-e2를 갖는 독립 기하 랜덤 변수들이라고 놓는다. 그러면, 프로토콜 2에서 보내진 패킷들의 총 갯수는 다음과 같다.
Figure 112009048431991-pct00004
[수학식 2]와 [수학식 4]를 비교해보면, 프로토콜 2에서 보내진 패킷들의 총 갯수는 프로토콜 1에서 보내진 패킷들의 총 갯수보다 항상 작다.
만약 두 개의 독립 채널들의 소거율이 서로 다르면, 예를 들어, e1 > e2 이면,
Figure 112009048431991-pct00005
이다. 대수의 약법칙을 따라, k → ∞일 수록,
Figure 112009048431991-pct00006
Figure 112009048431991-pct00007
보다 클 확률은 1이 된다. 따라서, [수학식 4]를 따라, 프로토콜 2에서 보내진 패킷들의 평균 갯수는
Figure 112009048431991-pct00008
의 평균, 즉
Figure 112009048431991-pct00009
으로 근사화된다. 일반적으로, 프로토콜 2의 예상 오버헤드는 다음으로 근사화된다.
Figure 112009048431991-pct00010
이것은 취득가능한 최소 오버헤드이다. 기지국이 max{e1,e2}의 소거율을 갖는 무기억 소거 채널을 통해 이러한 UE에게만 소스 패킷을 보내는 경우를 고려해라. 정보 이론 관점에서 바라보면, 이 모델에서의 가능한 최소 오버헤드는 신뢰적 송신을 위하여
Figure 112009048431991-pct00011
이며, 따라서 프로토콜 2의 오버헤드는 최적에 가까워진다.
위 분석은 프로토콜 2가 보다 양호한 채널 상태를 갖는 UE에게 동일 데이터를 무상으로 송신하는 것을 보여주는데, 이것은 불량한 채널 상태를 갖는 UE에게 소스 패킷을 송신할 때 사용되는 송신 횟수와 동일한 송신 횟수가 임의의 추가적인 오버헤드를 요구하는 것 없이 사용되는 것을 의미한다. 동일한 결과가 동일 채널 상태의 경우, 즉 e1 = e2인 경우에서 획득된다.
비록 프로토콜 2를 오직 두 개의 UE들의 환경에서 설명하였지만, 이 프로토콜이 m개의 UE들에 까지 확장된다는 것은 자명한 사항임을 유념한다. 디코딩 연산은 RC 코딩을 위한 종래 기술에서와 동일하다. 에러율 e1,...,em을 갖는 m개의 UE들의 경우,
Figure 112009048431991-pct00012
의 이론적 최소 오버헤드에 근접될 수 있음이 종래기술로부터 분명해진다.
프로토콜 2의 변형
상술한 바와 같이, 프로토콜 2는 두 개의 UE들을 갖는 멀티캐스트 모델에 대해 최소한의 가능한 오버헤드를 달성시켜준다. 프로토콜을 판단하는데 사용될 수 있는 다른 기준은 레이턴시이다.
비록 프로토콜 1은 높은 오버헤드를 야기시키지만, 프로토콜 2에 비하여 보다 우수한 레이턴시를 갖는다. 그 이유는 프로토콜 1에서는 다음 소스 패킷이 보내지기 전에 양쪽 UE들에 의한 소스 패킷의 수신을 기지국이 보장해주기 때문이다. 모든 소스 패킷들은 자신들의 원래 순서로 양쪽 UE들에 의해 수신된다.
프로토콜 2는 고의적으로 지연을 도입시키기 때문에 프로토콜 1보다 나쁜 레이턴시 성능을 갖는다. 수신되지 않은 패킷들은 그 즉시에 다시보내지지 않는다. 이 대신에, 수신되지 않은 패킷들은 추후 전송을 위한 버퍼내에 저장된다.
프로토콜 1과 프로토콜 2는 두 개의 극단적인 경우들을 나타내는데, 즉 하나는 최상의 레이턴시를 갖지만 오버헤드가 나쁘며, 나머지 다른 하나는 최상의 오버헤드를 갖지만 레이턴시가 나쁘다.
프로토콜 3
프로토콜 3은 오버헤드와 레이턴시 사이의 균형을 나타내며, 이것은 프로토콜 2에 기초한다. 프로토콜 3에 따르면, 정수 D로 표현되는 미리결정된 최대 지연이 존재한다. 만약 UE 버퍼내의 첫 번째 패킷이 최종적으로 보내진 소스 패킷에 D번째 앞선 패킷인 경우, 기지국은 이 첫 번째 패킷을 즉시 보낼 것을 시도한다.
프로토콜 3에서, 기지국은 각각의 UE를 위한 버퍼를 설정한다. 각각의 버퍼는 보내졌지만 해당 UE에 의해 수신되지 않은 패킷들을 저장한다.
프로토콜 3에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하거나 또는 양쪽 버퍼들이 비어있지 않은 상태이면, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, 기지국은, 각각의 타임슬롯에서, 하기의 규칙들의 순서에 따라, 패킷을 양쪽 UE들에게 멀티캐스팅한다.
규칙 1: 프로토콜 2의 규칙 1과 동일함.
규칙 2: 프로토콜 2의 규칙 2와 동일함.
규칙 3: 버퍼가 비어있지 않은 상태이고, 이 버퍼내의 첫 번째 패킷이 최종적으로 보내진 소스 패킷에 D번째 앞선 패킷이라면, 기지국은 이 패킷을 송신한다. 적절한 UE로부터 ACK를 수신하면, 기지국은 이 패킷을 해당 버퍼에서 제거한다.
규칙 4: 프로토콜 2의 규칙 3과 동일함.
버스트 송신 완료 단계에서의 규칙들은 프로토콜 2에서와 동일하다.
만약, 최대 지연 D가 무한대로 설정되면, 프로토콜 3은 프로토콜 2와 동일하다. 각각의 UE는 서로 다른 최대 지연 요건을 가질 수 있다. 예를 들어, D1과 D2는 각각 UE 1과 UE 2에 의해 허용된 최대 지연을 표시한다. UE에 대한 지연 요건에 기초하여 규칙 3이 조정된다.
비록 이 프로토콜을 두 개의 UE들과 관련하여 서술하였지만, 임의의 갯수의 UE들에 까지 확장된다는 것은 자명하다.
오버헤드와 레이턴시 이외에, 프로토콜을 평가하는데 사용되는 다른 기준은 프로토콜의 메모리 활용도이다. 프로토콜 2에서는 버퍼 크기에 대하여 어떠한 제한이 가해지지 않음을 유념한다. 이것은 커다란 메모리 활용도를 불러일으킬 수 있는데, 특히 소스 패킷의 갯수가 크고, 하나의 소거 채널이 다른 소거 채널보다 우수한 상태를 갖는 경우에 그러하다. 때문에, 메모리 사용불능을 막기 위해, 기지국은 최대 버퍼 크기 또는 버퍼 용량을 결정해야 한다. 만약 버퍼가 이 용량에 도달되면, 버퍼는 즉시 내용물이 지워져야 한다.
프로토콜 4
프로토콜 4에서, 기지국은 각각의 UE를 위한 버퍼를 설정한다. 각각의 버퍼는 보내졌지만 해당 UE에 의해 수신되지 않은 패킷들을 저장한다. 양쪽 버퍼들은 초기에 비어있는 상태이며, 기지국은 버퍼 용량 C를 미리결정한다. 비록 이 프로토콜은 두 개의 UE과 관련하여 서술되고 있지만, 임의의 갯수의 UE들에 까지 확장된다는 것은 자명하다.
프로토콜 4에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하거나 또는 양쪽 버퍼들이 비어있지 않은 상태이면, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, 기지국은, 각각의 타임슬롯에서, 하기의 규칙들의 순서에 따라, 패킷을 양쪽 UE들에게 멀티캐스팅한다.
규칙 1: 프로토콜 2의 규칙 1과 동일함.
규칙 2: 프로토콜 2의 규칙 2와 동일함.
규칙 3: 만약, 버퍼가 버퍼 용량에 도달한 경우, 기지국은 버퍼내의 첫 번째 패킷을 송신한다. 적절한 UE로부터 ACK를 수신하면, 기지국은 이 패킷을 버퍼에서 제거한다.
규칙 4: 프로토콜 2의 규칙 3과 동일함.
버스트 송신 완료 단계에서, 프로토콜 4는 프로토콜 2에서와 동일하다.
만약 버퍼 용량이 무한대로 설정되면 프로토콜 4는 프로토콜 2로 감축된다. 프로토콜 4에서 양쪽 버퍼들의 용량들은 동일해지도록 설정된다. 하지만, 총 버퍼 크기 제한이 주어지는 경우, 결과적인 오버헤드를 고려해보면, 균일한 용량 할당 방식은 최상의 방식은 아닐 수 있다. 기지국은 UE i에 대한 버퍼 용량 Ci를 미리 결정한다(여기서, i = 1, 2이고, C1+C2 ≤ 2C 이다). 그러면, 규칙 3이 이에 따라 조정되어져야 한다.
프로토콜 2와 비교해보면, 프로토콜 3과 프로토콜 4 양쪽 모두는 레이턴시 요건 또는 메모리 제한을 충족시키기 위해 자신의 오버헤드 성능을 희생시킨다. 프로토콜 3과 프로토콜 4는 레이턴시 요건과 메모리 제한을 모두 충족시키도록 결합될 수 있다.
패킷 결합에서의 변형
모든 소스 패킷들은 동일한 크기를 갖는 것으로 가정하는데, 이것은 프로토콜 2 내지 프로토콜 4에서 패킷들을 XOR연산처리하는 것을 쉽게 해준다. 모든 소스 패킷들이 동일한 크기가 아닌 경우에는, XOR 연산은 간단하지가 않다. 서로 다른 크기의 패킷들을 결합시키는 방법이 여러개 존재한다. 이러한 방법들은 패킷들이 동일한 크기일 때도 사용될 수 있으며, 그리고 두 개 이상의 패킷들을 결합할 때도 사용될 수 있음을 유념해야 한다.
1. 패킷의 일부를 다른 패킷과 XOR연산처리 한다. 예를 들어, p1은 l1 비트의 패킷이며, p2는 l2 비트의 패킷이며, 여기서 l1 > l2 인 것으로 가정한다. 패킷들 p1와 p2를 결합하기 위해, 패킷 p2를 l1비트 까지 제로로 채워넣는다. 결과적인 패킷은 패킷 p1과 XOR연산된 것이다.
2. GF(q)(여기서, q > 2이다)에서 합산 및 모듈로 연산들을 수행한다.
3. 양의 정수를 몇몇 최대값으로 모듈로 연산한 것(positive integers modulo some maximal value)의 링에서 합산을 수행한다.
4. 보다 큰 패킷과 정합시키기 위해 보다 짧은 길이를 갖는 패킷에서 비트들의 반복을 수행하고, 그런 후 결과적인 패킷들을 XOR연산처리한다.
본 발명의 당업자는 다른 대안적인 결합 방법을 구상해낼 수 있을 것이다.
다수의 UE들을 위한 프로토콜
위 프로토콜들은, 변형예에 따라, 두 개의 UE 시나리오에서부터 다수의 UE 시나리오까지 적용될 수 있다.
프로토콜 5
프로토콜 5는 프로토콜 4에 기초를 둔다. 프로토콜 5에서, 기지국은 각각의 UE를 위한 인덱스 버퍼를 설정한다. 각각의 인덱스 버퍼는 보내졌지만 해당 UE에 의해 수신되지 않은 패킷들의 인덱스를 기록한다. 기지국은 또한 버퍼 용량 C를 미리결정한다. Pi, j는 i번째 인덱스 버퍼(즉, UE i를 위한 인덱스 버퍼)의 j번째 위치로 기록된 패킷 인덱스를 나타낸다. 만약 Pi, j > 0이고, l ≤ j ≤ C 인 경우, 인덱스 버퍼 i는 가득찬 상태라고 말한다. 만약 Pi, j = 0이고, l ≤ j ≤ C 인 경우, 인덱스 버퍼 i는 비워진 상태라고 말한다. 초기에, 모든 인덱스 버퍼들은 비워진 상태이다.
도 3은 프로토콜 5(300)의 흐름도이다. 프로토콜(300)은 아직 보내지지 않은 새로운 소스 패킷이 존재하는지 여부를 판단함으로써(단계 310) 시작한다. 만약 이와 같은 새로운 소스 패킷이 존재하면, 가득찬 인덱스 버퍼가 존재하는지 여부에 대한 판단을 행한다(단계 312). 인덱스 버퍼들 중 어떠한 것도 가득찬 상태가 아닌 경우, 기지국은 새로운 소스 패킷을 송신한다(단계 314). 만약 하나 이상의 인덱스 버퍼들이 가득찬 상태라면(단계 312), 기지국은 버퍼들내에서 인덱스를 갖는 여러 소스 패킷들의 결합체인 결합된 패킷을 송신한다(단계 316). UE들로부터의 ACK/NACK 피드백에 기초하여, 기지국은 버퍼들을 업데이트한다(단계 318).
만약 새로운 소스 패킷이 존재하지 않으면(단계 310), 기지국은 버퍼들을 플러싱한다. 버퍼들을 플러싱하기 위해, 모든 인덱스 버퍼들이 비어있는 상태인지 여부에 대한 판단을 행한다(단계 320). 만약 모든 인덱스 버퍼들이 비어있는 상태라면, 프로토콜은 종료된다(단계 322). 만약 모든 인덱스 버퍼들이 비어있는 상태가 아니라면(단계 320), 기지국은 버퍼들내에서 인덱스를 갖는 여러 소스 패킷들의 결합체인 결합된 패킷을 송신한다(단계 324). UE들로부터 수신된 ACK/NACK 피드백에 기초하여, 기지국은 버퍼들을 업데이트한다(단계 326).
프로토콜 5에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하면, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, 인덱스 버퍼들 중에서 어떠한 것도 가득찬 상태가 아닌 경우에, 기지국은 이전에 보내진 적이 없는 새로운 소스 패킷을 송신한다. 기지국 은, UE로부터 NACK를 수신하면, 적절한 UE 인덱스 버퍼내에 현재 보내진 패킷의 인덱스를 기록해둔다.
만약 하나 이상의 인덱스 버퍼들이 가득찬 상태이라면(첫번째 인덱스 버퍼가 가득찬 상태인 것으로 가정한다), 기지국은 여러개의 소스 패킷들을 XOR연산처리함으로써 구축된 패킷을 송신한다. 결합을 위한 성분 소스 패킷들의 세트의 인덱스들을 판단하는 방법이 여러개 있다.
결합을 위한 성분 소스 패킷들의 세트의 인덱스들을 판단하는 한가지 방법은 아래와 같으며, 이것을 "알고리즘 A"라고 칭한다.
(1) 성분 소스 패킷들의 세트와 비이용가능한 소스 패킷들의 세트를 생성한다. 양쪽의 세트들은 초기에 비워진 상태이다.
(2) 성분 소스 패킷들의 세트내 또는 비이용가능한 소스 패킷들의 세트내에 포함되지 않은 패킷을 무작의로 선택한다.
(3) 선택된 패킷을 성분 소스 패킷들의 세트에 추가한다.
(4) 선택된 패킷과 동일한 UE 버퍼내의 다른 모든 패킷들을 비이용가능한 소스 패킷들의 세트에 추가한다.
(5) 양쪽의 세트들이 비워진 상태가 될 때 까지 단계 (2)를 반복한다.
(6) 성분 소스 패킷들의 세트내의 모든 패킷들의 XOR을 송신한다.
성분 소스 패킷들의 세트는 모든 UE에 대해 많아야 하나의 손실 패킷을 포함한다. XOR 구축된 패킷을 수신할 때에, UE는 현재 수신된 패킷과 이전에 수신한 패킷들 중 일부를 XOR연산처리함으로써 (존재하는 경우) 자신의 손실 패킷들 중 하나 를 복구시킬 수 있다. 기지국은 UE들로부터 ACK를 수신하면 적절한 버퍼들로부터의 해당 패킷 인덱스를 제로로 설정한다.
이 시나리오의 하나의 중단 기준은 최소 버퍼 포화 레벨이며, 여기서 모든 버퍼들이 미리결정된 레벨까지 감소될 때 까지 알고리즘은 계속 수행될 것이다. 본 발명의 당업자는 모든 UE들을 취급하기 위한 다른 중단 기준을 이끌어낼 수 있음을 유념해둔다.
버스트 송신 완료 단계에서, 모든 인덱스 버퍼들이 비어있는 상태가 될 때 까지, 기지국은 여러 개의 소스 패킷들을 XOR연산처리함으로써 구축된 패킷을 송신한다. 성분 소스 패킷들의 세트의 인덱스들은 알고리즘 A에 의해 결정될 수 있다. 알고리즘 A의 단계 (1)에서 사용된 버퍼 인덱스 1은
Figure 112009048431991-pct00013
을 최대화시키는 버퍼 인덱스이며, 여기서 I는 표시자 함수이다. 기지국은 UE들로부터 ACK를 수신하면 적절한 버퍼들로부터의 해당 패킷 인덱스를 제로로 설정한다.
만약, 버퍼 용량 C가 무한대로 설정되면, 결과적인 프로토콜은 다수개의 UE에 대해서 까지 프로토콜 2가 확장되는 것이다.
보내진 소스 패킷이 여러개의 UE들에 의해 수신되지 않을 수 있기 때문에, 인덱스 버퍼들내에 패킷들 자체보다는 패킷 인덱스를 저장하면 메모리를 덜 사용할 것이다.
오로지 하나의 성분 소스 패킷만이 알고리즘 A에 의해 선택이 되는 상황이 존재한다(예컨대, 소스 패킷이 모든 UE들에 의해 수신되지 않는 경우). 또한, 알고 리즘 A는 프로토콜 5에 대해 가장작은 오버헤드를 불러일으킬 수 있음을 유념해둔다. 인덱스 버퍼들로부터 성분 소스 패킷들을 선택하는 여러개의 다른 방법들이 존재한다. 제1 방법(이후부터, "알고리즘 A.1"이라 부른다)을 아래에서 설명한다.
(1) 가득찬 버퍼를 갖는 UE에서 첫 번째 패킷을 선택하고, 이 패킷을 송신함으로써 도움을 받게 되는 다른 모든 UE들을 찾는다. 자신의 버퍼내의 패킷이 송신될 수 있을 때에 UE는 "도움을 받게 된다". 이들을 "찾아낸 UE"라고 부른다.
(2) 비어있는 버퍼들을 갖는 UE들을 무시한다.
(3) 나머지 UE들에서, 다음으로 가장 많이 채워진 버퍼들을 갖는 UE를 찾고, 이것의 엔트리들 중 하나(이것은 찾아낸 UE들의 버퍼들내에 포함되지 않는다)를 선택한다. 만약 이러한 엔트리가 존재하지 않으면, 나머지 UE들에 대해 이 단계를 반복한다.
(4) 이 새로운 패킷을 송신함으로써 도움을 받는 모든 UE들을 찾는다.
(5) 모든 UE들이 취급될 때 까지(즉, UE가 비어있는 버퍼를 갖거나 또는 UE가 찾아낸 UE인 경우일 때 까지) 단계 (3)에서부터 다시 반복한다.
(6) 선택된 모든 패킷들의 XOR을 송신한다.
제2 방법(이하부터, "알고리즘 A.2"라고 부른다)은 아래와 같다.
(1) 가득찬 버퍼를 갖는 UE에서 첫 번째 패킷을 선택하고, 이 패킷을 송신함으로써 도움을 받게 되는 다른 모든 UE들을 찾는다. 이들을 "찾아낸 UE"라고 부른다.
(2) 나머지 UE들에서 UE를 임의적으로 선택한다.
(2a) 만약 선택된 UE의 버퍼내에, 찾아낸 UE들의 버퍼들내에 포함되지 않은 엔트리가 존재하면, 이 엔트리를 선택한다.
(2b) 이 선택된 UE를 "찾아낸 UE"라고 부른다.
(3) 이 새로운 패킷을 송신함으로써 도움을 받는 모든 UE들을 찾는다.
(4) 모든 UE들이 찾아낸 UE가 될 때 까지 단계 (3)을 반복한다. 이것은 모든 UE 버퍼들로부터 적어도 하나의 패킷이 송신될 때에 달성될 것이다.
(5) 선택된 모든 패킷들의 XOR을 송신한다.
제3 방법(이하부터, "알고리즘 A.3"이라고 부른다)은 아래와 같다.
(1) 비어있는 버퍼들을 갖는 UE들을 무시한다.
(2) 가장 적게 가득찬 버퍼를 갖는 UE에서 첫 번째 패킷을 선택하고, 이 패킷을 송신함으로써 도움을 받게 되는 다른 모든 UE들을 찾는다. 이들을 "찾아낸 UE"라고 부른다.
(3) 나머지 UE들에서 다음으로 가장 적게 채워진 버퍼들을 갖는 UE를 찾고, 이것의 엔트리들 중 하나(이것은 찾아낸 UE들의 버퍼들내에 포함되지 않는다)를 선택한다. 만약 이러한 엔트리가 존재하지 않으면, 나머지 UE들에 대해 이 단계를 반복한다.
(4) 이 새로운 패킷을 송신함으로써 도움을 받는 모든 UE들을 찾는다.
(5) 모든 UE들이 취급될 때 까지 단계 (3)에서부터 다시 반복한다.
(6) 선택된 모든 패킷들의 XOR을 송신한다.
프로토콜 5에서 모든 UE 인덱스 버퍼들의 용량들은 동일해지도록 설정된다. 총 버퍼 크기 제한이 주어지는 경우, 결과적인 오버헤드를 고려해보면, 프로토콜 5 에서의 균일한 용량 할당 방식은 최상의 방식이 아닐 수 있다. 기지국은 UE i에 대한 인덱스 버퍼 용량 Ci를 미리 결정한다(여기서, i = 1,...,m이고,
Figure 112009048431991-pct00014
이다). 만약 Pi, j > 0이고, l ≤ j ≤ Cj 인 경우, 인덱스 버퍼 i는 "가득찬 상태"이다. 이에 따라 알고리즘들 A, A.1, A.2, 및 A.3은 조정되어야 한다.
프로토콜 1a와 프로토콜 5의 오버헤드들을 비교한 시뮬레이션 결과가 아래에 주어진다. 이 결과는 프로토콜 5가 프로토콜 1a보다 우수한 오버헤드 성능을 갖는 것을 보여준다.
다수의 UE 프로토콜에 대한 변형들
프로토콜 5에서는 레이턴시 인자를 고려하지 않는다. 비록 프로토콜 5에서 버퍼 사용불능을 막기 위한 활동이 레이턴시를 암묵적으로 줄일 수 있지만, 레이턴시 요건을 충족시키기 위한 명시적 활동이 종종 필요해진다. 이러한 목적을 위해, 프로토콜 5는 수정될 수 있다.
프로토콜 6
프로토콜 6은 프로토콜 3에 기초를 둔다. 프로토콜 6에서, 기지국은 각각의 UE들을 위한 인덱스 버퍼를 설정한다. 각각의 인덱스 버퍼는 보내졌지만 해당 UE에 의해 수신되지 않은 패킷들의 인덱스를 기록한다. 미리결정된 최대 지연 D가 있다. Pi, j는 i번째 인덱스 버퍼(즉, UE i를 위한 인덱스 버퍼)의 j번째 위치로 기록된 패킷 인덱스를 나타낸다. 만약 Pi, j 와 가장 최근에 보내진 소스 패킷의 인덱스 사이 의 차이가 D보다 크도록 Pi, j > 0 인 경우, 인덱스 버퍼 i는 "오래된 것"이라고 말한다. 초기에, 모든 인덱스 버퍼들은 비워진 상태, 즉 Pi, j = 0으로 설정된다.
프로토콜 6에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하면, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, 인덱스 버퍼들 중에서 어떠한 것도 오래된 것이 아닌 경우에, 기지국은 이전에 보내진 적이 없는 새로운 소스 패킷을 송신한다. 기지국은, UE로부터 NACK를 수신하면, 적절한 UE 인덱스 버퍼내에 현재 보내진 패킷의 인덱스를 기록해둔다. 만약 하나 이상의 인덱스 버퍼들이 오래된 것이라면(첫번째 인덱스 버퍼가 오래된 것이고, P l , 1 이 이 인덱스 버퍼내에서 가장 오래된 것으로 가정한다), 기지국은 여러개의 소스 패킷들을 XOR연산처리함으로써 구축되는 패킷을 송신한다. 프로토콜 5에서의 알고리즘 A가 사용될 수 있으며; 추가적인 방법들은 아래에서 설명된다.
성분 소스 패킷들의 세트는 모든 UE에 대해 많아야 하나의 손실 패킷을 포함함을 유념한다. XOR 구축된 패킷을 수신할 때에, UE는 현재 수신된 패킷과 이전에 수신한 패킷들 중 일부를 XOR연산처리함으로써 (존재하는 경우) 자신의 손실 패킷들 중 하나를 복구시킬 수 있다. 기지국은 UE들로부터 ACK를 수신하면 적절한 버퍼들로부터의 해당 패킷 인덱스를 제로로 설정한다.
결합을 위한 성분 소스 패킷들의 세트의 인덱스들을 결정하는 방법들이 여러개 존재한다. 프로토콜 5에서의 알고리즘 A는 프로토콜 6에서 최저 오버헤드를 야기시키지 않을 수 있다. 프로토콜 5에서의 알고리즘 A.1, A.2, 및 A.3는 모두 프로토콜 6에 적용가능하다. 사용될 수 있는 추가적인 알고리즘("알고리즘 B")이 존재하며, 이것은 이하에서 설명된다.
(1) UE 버퍼내에서 가장 오래된 패킷을 선택하고, 이 패킷을 송신함으로써 도움을 받게 되는 모든 UE들을 찾는다. 이들을 "찾아낸 UE들"이라고 부른다.
(2) 비어있는 버퍼들을 갖는 UE들을 무시한다.
(3) 나머지 UE 버퍼들에서, 찾아낸 UE들의 버퍼들에서 포함되지 않은 다음으로 가장 오래된 패킷을 찾는다.
(4) 이 새로운 패킷을 송신함으로써 도움을 받는 모든 UE들을 찾는다.
(5) 모든 패킷들이 취급될 때 까지 단계 (3)에서부터 다시 반복한다.
(6) 선택된 모든 패킷들의 XOR을 송신한다.
성분 소스 패킷들의 세트는 모든 UE에 대해 많아야 하나의 손실 패킷을 포함한다. 따라서, XOR 구축된 패킷을 수신할 때에, UE는 현재 수신된 패킷과 이전에 수신한 패킷들 중 일부를 XOR연산처리함으로써 (존재하는 경우) 자신의 손실 패킷들 중 하나를 복구시킬 수 있다.
버스트 송신 완료 단계에서, 모든 인덱스 버퍼들이 비어있는 상태인 것이 아닌 경우에는 언제나, 기지국은 여러개의 소스 패킷들을 XOR연산처리함으로써 구축된 패킷을 송신한다. 성분 소스 패킷들의 세트의 인덱스들은 알고리즘 B에 의해 결 정될 수 있다. 버퍼 인덱스 1(알고리즘 B의 단계 (1)에서 사용됨)은 집합
Figure 112009048431991-pct00015
내에 가장 작은 양의 정수를 포함하는 인덱스이다. 기지국은 UE들로부터 ACK를 수신하면 적절한 버퍼들로부터의 해당 패킷 인덱스를 제로로 설정한다.
각각의 UE들은 서로 다른 최대 지연 요건을 가질 수 있다. Di는 UE i에 의해 허용된 최대 지연을 나타낸다. 만약 Pi, j 와 가장 최근에 보내진 소스 패킷의 인덱스 사이의 차이가 Di보다 크도록 Pi, j > 0 인 경우, 인덱스 버퍼 i는 "오래된 것"이다. 이에 따라, 알고리즘 B가 조정되어야 한다.
프로토콜 5와 프로토콜 6 양쪽 모두는 레이턴시 요건 또는 메모리 제한을 충족시키기 위해 자신의 오버헤드 성능을 희생시킨다. 프로토콜 5와 프로토콜 6은 레이턴시 요건과 메모리 제한을 모두 충족시키도록 결합될 수 있다.
위에서 제안된 모든 프로토콜들은 UE 기반 버퍼들을 사용한 것임을 유념한다. 대부분의 시스템 설계의 일부로서 이미 현존할 수 있는 패킷 기반 버퍼들을 사용하는 것도 또한 가능하다. 구체적으로, 기지국은 보내진 각각의 소스 패킷을 위한 버퍼를 설정한다. 버퍼의 내용은 첫번째 시도로 이 소스 패킷을 수신하지 못한 UE들의 인덱스 리스트이다.
프로토콜 7
프로토콜 7에서, 기지국은 보내진 각각의 소스 패킷을 위한 인덱스 버퍼를 설정한다. 각각의 인덱스 버퍼는 해당 소스 패킷을 수신하지 못한 UE들의 인덱스를 기록한다. 기지국은 또한 버퍼 용량 C를 미리결정한다. Pi, j는 i번째 UE 인덱스 버퍼(즉, i번째 소스 패킷을 위한 인덱스 버퍼)의 j번째 위치로 기록된 UE 인덱스를 나타낸다. 초기에, 모든 인덱스 버퍼들은 비워진 상태이다. 비록 이 프로토콜은 두 개의 UE들과 관련하여 설명되고 있지만, 임의의 갯수의 UE들에 까지 확장된다는 것은 자명하다.
프로토콜 7에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하면, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, 인덱스 버퍼들이 용량 C에 도달하지 않은 경우, 기지국은 이전에 보내진 적이 없는 새로운 소스 패킷을 송신한다. 기지국은 UE로부터 NACK를 수신하면, 이 UE의 인덱스를 현재의 UE 인덱스 버퍼내에 기록한다. 인덱스 버퍼가 용량 C에 도달하면, 기지국은 여러개의 소스 패킷들을 XOR연산처리함으로써 구축된 패킷을 송신한다. 상술한 알고리즘들 A, A.1, A.2, A.3, 및 B 이외에, 이하의 방법("알고리즘 C")이 또한 결합을 위한 성분 소스 패킷들의 세트를 결정하는데 사용될 수 있다.
(1) 가장 많이 채워진 버퍼를 갖는 소스 패킷을 선택하고, 이 패킷을 송신함으로써 도움을 받게 되는 모든 UE들을 찾는다. 이들을 "찾아낸 UE들"이라고 부른다.
(2) 비어있는 버퍼들을 갖는 소스 패킷들을 무시한다.
(3) 나머지 소스 패킷들에서, 가장 많이 채워진 버퍼를 갖는 소스 패킷과, 버퍼내에서 찾아낸 소스 패킷들의 버퍼들에서 포함되지 않은 모든 엔트리들을 찾는다.
(4) 보내진 모든 소스 패킷들이 취급될 때 까지 단계 (3)을 반복한다.
(5) 선택된 모든 패킷들의 XOR을 송신한다.
성분 소스 패킷들의 세트는 모든 UE에 대해 많아야 하나의 손실 패킷을 포함함을 유념한다. XOR 구축된 패킷을 수신할 때에, UE는 현재 수신된 패킷과 이전에 수신한 패킷들 중 일부를 XOR연산처리함으로써 (존재하는 경우) 자신의 손실 패킷들 중 하나를 복구시킬 수 있다.
기지국은 UE들로부터 ACK를 수신하면 적절한 버퍼들에서 해당 UE 인덱스를 제거시킨다.
버스트 송신 완료 단계에서, 인덱스 버퍼들이 비어있는 상태가 될 때 까지, 기지국은 여러개의 소스 패킷들을 XOR연산처리함으로써 구축된 패킷을 송신한다. 상술한 바와 같이 성분 소스 패킷들의 세트의 인덱스들은 알고리즘 C에 의해 결정될 수 있다. 기지국은 UE들로부터 ACK를 수신하면 적절한 버퍼들로부터 해당 UE 인덱스를 제거시킨다. 프로토콜 7은 추가적인 레이턴시 요건을 충족시키도록 수정될 수 있음에 유념한다.
그룹 기반 버퍼들을 통한 송신
각각의 버퍼들이 다수의 사용자들, 즉 UE 그룹을 위한 패킷들을 서빙할 수 있는 다른 프로토콜 변형이 고려될 수 있다. 시스템이 지원하는 UE들의 갯수는 일반적으로 UE 그룹의 갯수보다 클 것이다. 이와 같은 버퍼링 방식은 손실 패킷을 위한 버퍼링 자원에 대해 제한이 있는 경우에 사용될 수 있다.
UE들은 복수의 그룹들로 그룹화될 수 있으며, 각각의 그룹들은 UE 그룹 버퍼에 대응한다. 그룹화는 고정된 사전 할당형태일 수 있거나 또는 적응형 그룹 할당 프로시저에 따를 수 있다. 버퍼링을 목적으로 UE들을 그룹화하는 몇몇의 기준들은, 동일 또는 유사한 지리적 위치, 동일 또는 유사한 시스템 지연 서비스 품질(QoS) 타겟 또는 서비스 레벨, 동일 또는 유사한 시스템 처리량(또는 대역폭) QoS 타겟 또는 서비스 레벨, 동일 또는 유사한 채널 소거율, 동일 또는 유사한 가입 계획 또는 지불 계획, 및 위 기준들의 임의의 조합을 포함할 수 있다. 추가적인 그룹화 기준이 또한 고려될 수 있다.
UE 그룹에 기초한 버퍼링 및 재송신 방식은 임의의 송신된 패킷이 적어도 하나의 UE에 의해 수신되거나 또는 UE 그룹 세트의 크기보다 작은 주어진 최소 갯수의 UE들에 의해 수신된다면 송신이 충분히 성공적인 것으로 간주되는 멀티캐스트 상황에서 유용할 수 있다. 지리학적으로 가까운 UE들은 서브 네트워크를 형성할 수 있으며, 이에 따라 기지국으로부터 멀티캐스트 패킷을 수신한 임의의 UE는 다른 무선 인터페이스 네트워크, 예컨대 로컬 영역 협동 무선 네트워크를 통해 이와 같은 패킷을 해당 UE 그룹내의 다른 UE들에게 재송신할 수 있을 수 있다.
임의의 UE가 얼마나 많은 UE 그룹들에 속할 수 있는지에 따라, 사용될 수 있는 서로 다른 UE 그룹 할당 방법들이 두 가지 존재한다. 첫번째의 경우(이후부터 " 비중첩하는 UE 그룹 경우"라 칭한다), UE는 임의의 주어진 시간에서 오직 하나만의 UE 그룹에 속할 수 있으며, 해당 UE에 송신되었지만 손실되버린 임의의 패킷들은 오직 하나의 UE 그룹 버퍼에 버퍼링될 것이다. 보다 장기간에 걸치는 동안에, UE로부터 UE 그룹으로의 맵핑 및 해당 UE 그룹 버퍼로의 맵핑은 변경될 수 있음을 유념한다. 임의의 주어진 시간에서, UE 그룹 할당은 여전히 일 대 일로 고정된다.
두번째 경우에서, UE는 서로 다른 사용자 그룹들에 속할 수 있으며, 이로써 특정 UE를 향하도록 계획되었지만 손실된 패킷들은 임의의 주어진 시간에서 하나 보다 많은 사용자 그룹 버퍼내에서 버퍼링될 수 있다. 이것을 "초과중첩하는 UE 그룹 경우"라고 부른다.
서로 다른 UE 그룹들에 속하는 다수의 UE들을 향하도록 계획된 패킷들이 레이트리스 코딩을 위해 처리될 수 있는 프로토콜들이 설명될 것이다.
프로토콜 8
다수의 UE들에 대해 "비중첩하는 UE 그룹 경우"를 이용하면, 프로토콜 5는 UE 그룹 기반 동작을 위해 수정될 수 있으며, 이것은 프로토콜 8이라고 부른다. 일반적으로, 프로토콜 8은, 해당 패킷에 관한 적어도 하나의 ACK가 해당 그룹에 속하는 임의의 UE들로부터 수신되는 경우 패킷의 UE 그룹 버퍼를 플러싱하는 것을 포함하여, 버퍼 업데이트 규칙을 변경한다.
도 4는 프로토콜 8(400)의 흐름도이다. 프로토콜(400)은 아직 보내지지 않은 새로운 소스 패킷이 존재하는지 여부를 판단함으로써(단계 410) 시작한다. 만약 이와 같은 새로운 소스 패킷이 존재하면, 가득찬 인덱스 버퍼가 존재하는지 여부에 대한 판단을 행한다(단계 412). 인덱스 버퍼들 중 어떠한 것도 가득찬 상태가 아닌 경우, 기지국은 새로운 소스 패킷을 송신한다(단계 414). 만약 하나 이상의 인덱스 버퍼들이 가득찬 상태라면(단계 412), 기지국은 버퍼들내에서 인덱스를 갖는 여러 소스 패킷들의 결합체인 결합된 패킷을 송신한다(단계 416). 그런 다음 기지국은 해당 패킷에 관한 적어도 하나의 ACK가 해당 그룹에 속하는 임의의 UE들로부터 수신되는 경우 패킷의 UE 그룹 버퍼를 플러싱한다(단계 418).
만약 양쪽 UE들에 의해 아직 수신되지 않은 소스 패킷이 존재하지 않으면(단계 410), 기지국은 버퍼들을 플러싱한다. 버퍼들을 플러싱하기 위해, 모든 인덱스 버퍼들이 비어있는 상태인지 여부에 대한 판단을 행한다(단계 420). 만약 모든 인덱스 버퍼들이 비어있는 상태라면, 프로토콜은 종료된다(단계 422). 만약 모든 인덱스 버퍼들이 비어있는 상태가 아니라면(단계 420), 기지국은 버퍼들내에서 인덱스를 갖는 여러 소스 패킷들의 결합체인 결합된 패킷을 송신한다(단계 424). 그런 다음, UE들로부터 수신된 ACK/NACK 피드백에 기초하여, 기지국은 버퍼들을 업데이트한다(단계 426).
프로토콜 9
"중첩하는 UE 그룹 버퍼 경우"에서, 위와 동일한 프로토콜들이 여전히 사용될 수 있다. 이 경우, 동일한 패킷이 두 개 이상의 UE 그룹 버퍼들에 버퍼링될 수 있다. UE(A)가 두 개의 UE 그룹들, 즉 UE 그룹 1과 UE 그룹 2에 속하는 것으로 가정한다. 패킷 P가 UE A에 보내졌을 때, 패킷 P는 UE 그룹들 어느쪽에서의 임의의 UE들에 의해 수신되지 않았던 것으로 가정한다. 동일한 패킷 P는 두 개의 서로 다른 UE 그룹 버퍼들(하나는 UE 그룹 1을 위한 것이고, 나머지 다른 하나는 UE 그룹 2를 위한 것이다)에 유입될 것이다. (결합되거나 또는 비결합된) 추후의 재송신에서, 패킷 P는 UE 그룹 2가 아닌 UE 그룹 1에 속하는 UE (B)에 의해 수신된다. 이 경우, 패킷 P의 UE 그룹 1을 위한 버퍼만이 플러싱될 것이다.
임의의 UE 그룹들에 대한 임의의 UE의 그룹 할당은 기지국 트랜스시버(BTS)를 이용하여 적응적으로 변경될 수 있다. BTS는 (경험된 오버헤드, 레이턴시, 메모리, 서비스 레벨, 또는 임의의 기타 기준과 같은) 특정 UE와 관련된 그룹 할당 기준치를 모니터링할 수 있고, UE가 현재 다른 그룹에 최상으로 할당되도록 특정 UE 기준치가 변경된다면 임의의 UE를 다른 그룹에 재할당할 수 있다.
버퍼들에 대한 업데이트를 가능하게 해주는 것은(즉, 패킷들을 플러싱하는 것), 모든 UE들이 패킷을 수신하였으며 이러한 것을 ACK로 표시하는 것이 아닐지라도, UE 그룹 기반 버퍼링 및 송신을 반드시 수반하여야 하는 것은 아닌 상황에서 사용될 수 있음을 유념한다. 대신에, 이와 같은 버퍼 업데이트 방식은 패킷 조합 및/또는 재송신 프로토콜들에 독립적인 프로토콜들 2, 3, 4, 및 5에서 설명된 것을 포함하여, 임의의 유형의 버퍼링 방식으로 보다 일반적으로 사용될 수 있다. 모든 UE들이 패킷을 수신하기 이전에 버퍼들이 플러싱될 수 있도록 해줌으로써, 시스템은 몇몇의 UE들에 대한 소거를 효과적으로 가능하도록 해준다. 이와 같은 버퍼 플러싱 방식의 장점은 감소된 레이턴시 및 버퍼 메모리 요건을 포함한다.
프로토콜을 지원하기 위한 시스템 아키텍쳐
통신 시스템에서의 임의의 새로운 알고리즘의 성공적인 적용의 하나의 실시 양태는 알고리즘의 동작을 지원하는데 필요한 적절한 시스템/프로토콜 아키텍쳐의 설계이다(즉, 정보 교환을 위한 관련된 시그널링). 이하에서는 본 명세서에서 설명된 프로토콜들을 이용하는 대부분의 통신 시스템에 공통되는 시스템 아키텍쳐의 실시양태들을 설명한다.
패킷 정보 시그널링 프로토콜
해결될 필요가 있는 하나의 문제점은 어떤 소스 패킷이 어떤 송신 패킷내에 포함되는지를 UE들에게 시그널링하는 방법이다.
시그널링 메카니즘
어느 패킷들이 송신되는지를 시그널링하는데에는 여러개의 표준 방법들이 사용될 수 있다. 고속 데이터 패킷 액세스(HSDPA)내의 고속 공유 제어 채널(HS-SCCH)과 같은 관련된 제어 및 표시 채널이 한 가지 예이다. 관련된 시그널링 채널의 타임 인스턴스는 알려진 방식으로 데이터 운송 채널의 타임 인스턴스와 정렬된다 - 예컨대, HS-SCCH 송신 시간 간격(TTI)은 HS-SCCH가 정보를 운송하기 위한 고속 물리 다운링크 공유 채널(HS-PDSCH) TTI에 앞선 두 개의 슬롯들이다. 송신내에 결합된 패킷들에 관한 정보는 관련된 채널에 의해 운송된다. 송신이 새로운 데이터 패킷 또는 재송신인지 여부를 시그널링하는 표시자; 여러 결합 방식들이 사용될 수 있는 경우, 결합 방식 표시자 필드; 및 다양한 길이를 갖는 패킷들이 사용될 수 있는 경우, 길이값, 또는 보다 일반적으로, 전송 포맷 표시자 필드를 포함하는 추가적인 정보가 택일적으로 운송될 수 있다.
이와 달리, 이와 같은 정보는 헤더의 형태로 데이터 채널내에 직접 임베딩될 수 있다.
시그널링 방법
어느 패킷들이 결합되는지를 시그널링하기 위해, 패킷들은 인덱스표시되는 것으로 가정한다. 인덱스는 적어도 "수퍼-프레임"(이 경우, 인덱스는 짧고 짧은 반복 주기를 갖는다)에 고유해야 하거나 또는 긴 시퀀스 번호와 같은 긴 패킷 인덱스가 사용될 수 있다.
각각의 송신에 대하여, 송신내로 결합된 각각의 패킷의 패킷 인덱스가 시그널링될 필요가 있다. 긴 시퀀스 번호가 사용되는 경우, 이 번호는 패킷이 재송신을 위해 포함될 때에 적절한 모듈로 연산을 통해 짧아질 수 있다.
여러 시그널링 방법들이 사용될 수 있다. 첫번째로, 패킷 인덱스와 시퀀스 번호가 직접 나열될 수 있다. 단일 송신내에서 결합되는 소스 패킷들의 갯수는 관련된 제어 채널상에 너무 많은 제어 정보를 운송하는 것을 막기위해 제한될 수 있다. 두번째로, 수퍼-프레임내에서 각각의 패킷에 대해 하나의 비트를 가지고, 현재 송신에 어느 패킷이 포함되는지를 나타내는 설정 비트를 갖는 비트 필드가 사용될 수 있다. 비트 필드는 또한 허프만 또는 산술 코더와 같은 하이 엔트로피 코더를 이용하여 인코딩된 실행 길이일 수 있다.
동기화 실시양태 및 사용자 다이나믹스
동기화 시그널링의 이용가능성이 사용자 다이나믹스(사용자가 멀티캐스트 서비스에 진입하고/이탈하는 것)뿐만이 아니라 강력한 시스템 동작 모두를 지원하는데 사용된다. 동기화를 구축하고 유지하기 위한 방법은 수퍼-프레임 경계들을 구축 함으로써 행해진다. 수퍼-프레임은 (보통, 100 mSec 정도 내지 수 초의) 시간 간격이다. 재송신을 목적으로, 동일한 수퍼-프레임내의 패킷들만이 결합될 수 있다. 시그널링 프로토콜은 일반적으로 새로운 수퍼-프레임의 시작을 확인하는 단순한 방법을 포함할 것이다. 따라서, 동기화를 구축하거나 또는 재구축할 필요가 있는 임의의 UE는 항상 수퍼-프레임 경계에서 이러한 동작을 행할 수 있다.
다른 대안구성은, MPEG 스트림 등과 같은 멀티미디어 데이터를 송신할 때에, 인코딩은 몇몇의 자연적 동기화 프레임들을 포함하는 것이며, 여기서 이 프레임들의 시작은 동기화를 달성하는 수단으로서 사용될 수 있다.
피드백 에러 처리
위에서 설명된 알고리즘들은 피드백에서 어떠한 에러도 발생하지 않는 것을 가정하는데, 이것은 비현실적이다. 본 시스템이 피드백에서의 에러를 처리할 수 있도록 해주기 위해 이하의 변경이 필요하다.
삭제
비록 상술한 특정 알고리즘들은 ACK 및 NACK 신호들 양쪽이 각각의 UE로부터 수신되고, 피드백이 어느 UE로부터 온 것인지를 확인할 수 있도록 피드백이 태그표시되는 것을 가정하였지만, 이것은 반드시 필요한 것은 아니다. 사실, NACK만을 피드백하거나 또는 ACK만을 피드백하고 나머지 다른 것은 암시적이되도록 하는 것과 같은 여러가지 다른 가능성들이 존재한다. 이것은 공유 랜덤 액세스 채널이 피드백 을 위해 사용되는 때에 특히 유용하다. 피드백 에러가 처리되는 프로세스는 피드백의 유형에 따라 달라진다.
피드백 유형에 대한 다른 가능성은 블럭 ACK 및/또는 NACK를 사용하는 것이다. 블럭 ACK 및/또는 NACK는 소거율이 시스템내에서 충분히 낮은 것으로 알려지거나 또는 비교적 큰 레이턴시가 허용될 수 있는 상황에서 유용할 것이다. 블럭으로서 송신된 패킷 열을 수신할 때에 보내지는 블럭 ACK는 다수의 ACK를 포함할 것이며, 각각의 ACK는 수신된 패킷에 대응한다. 예를 들어, 1부터 10까지 번호매겨진 10개의 멀티캐스트 패킷들이 기지국으로부터 송신되었던 것으로 가정한다. UE "A"는 패킷 1, 패킷 2, 패킷 3, 패킷 5, 패킷 7, 패킷 9를 성공적으로 수신하였지만, 패킷 4, 패킷 6, 패킷 8, 및 패킷 10을 수신하지 못한 것으로 가정한다. 어느 패킷들이 성공적으로 수신되었는지를 기지국에 표시해주기 위해, UE "A"는 10 개의 패킷들에 대한 블럭 ACK를 보낼 수 있으며, 이를 통해 UE "A"는 자신이 패킷 1, 패킷 2, 패킷 3, 패킷 5, 패킷 7, 패킷 9를 성공적으로 수신했음을 표시할 수 있다. 이와 달리, UE "A"는 또한 패킷 4, 패킷 6, 패킷 8, 및 패킷 10이 수신되지 않았음을 표시해주는 블럭 NACK를 보낼 수 있다.
상술한 프로토콜들 및 알고리즘들은 피드백용으로 사용되는 블럭 ACK 또는 블럭 NACK를 갖는 패킷들의 블럭을 송신(비결합된 재송신 및 결합된 송신을 포함함)하도록 변형될 수 있다. 이 변형이란, 각각의 UE의 버퍼가, 한번에 하나의 패킷을 입력하거나 플러싱하는 것 대신에, '패킷 입력' 및 '패킷 플러싱' 동작들 모두에서 블럭 단위로 업데이트되는 것을 말한다. 따라서, 프로토콜 5는, 예컨대 블럭 ACK 경우에서 사용되는 경우에, 도 5에서 도시된 것처럼 변형될 수 있다.
도 5는 블럭 송신 경우를 위해 변형된 프로토콜 5(500)의 흐름도이다. 프로토콜(500)은 아직 보내지지 않은 새로운 소스 패킷들의 블럭이 존재하는지 여부를 판단함으로써(단계 502) 시작한다. 만약 새로운 소스 패킷들의 블럭이 존재하면, 가득찬 인덱스 버퍼가 존재하는지 여부에 대한 판단을 행한다(단계 504). 만약 가득찬 인덱스 버퍼가 존재하는 경우, 결합된 패킷들의 블럭이 송신된다(단계 506). 패킷들은 이전에 설명한 임의의 방법으로 결합될 수 있다.
만약 가득찬 버퍼가 존재하지 않는 경우(단계 504), 새로운 소스 패킷들의 블럭이 송신된다(단계 510).
결합된 패킷들의 블럭을 송신(단계 506)한 후 또는 새로운 소스 패킷들의 블럭을 송신(단계 510)한 후, 수신된 피드백을 기초로 버퍼들은 업데이트된다(단계 512).
만약 새로운 소스 패킷들의 블럭이 존재하지 않으면(단계 502), 기지국은 버퍼들을 플러싱하는 것을 시도한다. 버퍼들을 플러싱하기 위해, 모든 인덱스 버퍼들이 비어있는 상태인지 여부에 대한 판단을 행한다(단계 514). 만약 모든 인덱스 버퍼들이 비어있는 상태라면, 프로토콜은 종료된다(단계 516). 만약 모든 인덱스 버퍼들이 비어있는 상태가 아니라면(단계 514), 기지국은 결합된 패킷들의 블럭을 송신한다(단계 520). 패킷들은 이전에 설명한 임의의 방법으로 결합될 수 있다. 버퍼들은 수신된 피드백을 기초로 업데이트되고(단계 522), 모든 인덱스 버퍼들이 비어있는 상태인지에 대한 판단을 행하고(단계 514), 프로토콜은 상술한 바와 같이 계 속된다.
허위 경보 가능성 및 누락 가능성을 균형맞추기 위해, 허위 경보/누락 가능성 문턱값을 조정할 필요가 있을 수 있다. (동기화 프로시저의 일부일 수 있는) 주기적 완전-정보 재송신은 피드백 에러를 보정하는데 도움을 준다.
ACK 또는 NACK가 패킷을 보낸 후로부터 타이머 만료 시간내에 수신되지 않는 경우의 성공적인 수신 없음을 암시하기 위해 송신기측상에 타이머가 사용될 수 있다.
소스 패킷이 여러번 재송신되는 상황이 상술한 프로토콜들에서, 특히 몇몇의 채널들이 불량한 채널 상태를 가질 때에 발생할 수 있다. 이 경우, 대부분의 재송신들은 나쁜 채널 상태를 갖는 UE들을 도와주도록 하는 목적을 갖는다. 나쁜 채널 상태를 갖는 UE들로의 소스 패킷의 재송신은 오버헤드 성능을 악화시킨다.
현존하는 솔루션들은 동일 소스 패킷의 재송신의 횟수를 제한시키는 것을 제안한다. 즉, 소스 패킷의 재송신의 횟수가 일정한 상한선에 도달하면, 이 패킷을 보내는 것을 중단한다. 이러한 제한은 모든 UE들이 모든 패킷들을 수신하는 것이 아니게 되는 것을 댓가로 하여 오버헤드 성능을 개선시킬 수 있다. 이것을 행하기 위해, 기지국은 각각의 소스 패킷에 대해 재송신 카운터를 설정할 필요가 있다.
다양한 서비스 품질(QoS) 및 패킷 등급
몇몇의 멀티캐스트 서비스들에서, 일정한 UE의 서비스 품질(QoS)은 다른 UE와 다를 수 있다. 무선 시스템에서, UE의 QoS는 UE의 최대 처리량에 따라 달라질 수 있다. 보통, 셀 중심에 가까운 UE는 셀 가장자리에 가까운 UE보다 큰 처리량을 갖는다. 따라서, 셀 중심에 가까운 UE는 높은 QoS 레벨을 필요로 할 수 있다. UE의 QoS는 또한 QoS 등급 등록에 따라 달라질 수 있다. 몇몇의 UE들은 높은 QoS 레벨로 등록될 수 있는 반면에, 다른 UE들은 낮은 QoS 레벨로 등록될 수 있다.
다양한 QoS 요건을 충족시키기 위한 방법들이 두 개 존재한다. QoS는 패킷 단위로 제어될 수 있거나 또는 패킷내에서 제어될 수 있다. 상술한 프로토콜들은 다양한 QoS 방식들을 따라 동작하도록 변형될 수 있으며, 이와 같은 변형들은 본 발명분야의 당업자에게는 간단한 일이다.
패킷 마다의 QoS 레벨
소스 패킷들은 다양한 등급들로 분류될 수 있다. 각 등급의 소스 패킷들은 일정한 UE 세트에 전달되어야만 하는 한편, 소스 패킷들이 시스템내의 다른 UE들에게 전달되지 않는 경우가 허용될 수 있다. 이 경우, 응답을 위한 프로시저는, 이제 성공적인 수신에 대한 판단이 적절한 QoS 등급의 성공적인 수신에 따라 결정된다는 것을 제외하고, 이전에 설명된 것과 유사하다.
등급 정보를 인코딩하는 옵션들이 여러개 존재한다. 첫번째로, 소스 패킷의 등급에 관한 정보는 관련된 제어 및 표시자 채널을 통해 데이터 패킷 또는 패킷 인덱스와 함께 보내질 수 있다. 두번째, UE QoS 또는 등급은 희망 처리량, 시스템 부하 등과 같은 인자들에 기초하여 송신기와 협상/적용될 수 있다. 세번째, 그런 후 각각의 UE들은 자신의 서비스 등급에 따라 동작하고 자신의 등급 내에 있는 패킷들에 대해서만 피드백을 제공한다. 이와 달리, 각각의 UE들은 단지 자신의 수신에 기초하여 ACK/NACK를 보내기만 한다. UE로부터 NACK를 수신하면, 기지국은 손실 패킷 이 해당 UE에게 전달될 예정인지의 여부를 판단한다. 만약 그렇지 않은 경우, 기지국은 이 NACK를 무시하고 자신의 재송신을 협상된 서비스 등급에 기초하여 적용시킨다.
패킷내의 다양한 QoS
각각의 소스 패킷들은 각각의 서비스 등급에 따라 개개별의 비트 세트로 파티션화된다. 이것은 패킷내의 다양한 비트 등급들을 위해 사용되는 코딩, 레이트 정합, 변조 방식을 적용시킴으로써 달성될 수 있다. 각각의 등급의 소스 데이터들은 일정한 UE 세트에 전달되어야만 하는 한편, 소스 데이터들이 시스템내의 다른 UE들에게 전달되지 않는 경우가 허용될 수 있다.
이 경우, 응답을 위한 프로시저는, 성공적인 수신에 대한 판단이 적절한 QoS 등급 비트의 성공적인 수신에 따라 결정된다는 것을 제외하고, 이전에 설명된 것과 유사하다.
등급 정보를 인코딩하는 옵션들이 여러개있다. 첫번째로, 소스 패킷의 등급에 관한 정보는 관련된 제어 및 표시 채널을 통해 데이터 패킷 또는 패킷 인덱스와 함께 보내질 수 있다. 두번째, UE QoS 또는 등급은 희망 처리량, 시스템 부하 등과 같은 인자들에 기초하여 송신기와 협상/적용될 수 있다. 세번째, 그런 후 각각의 UE들은 자신의 서비스 등급에 따라 동작하고 자신의 등급 내에 있는 패킷내의 비트들을 성공적으로 수신했는지 또는 실패했는지에 대해서만 피드백을 제공한다.
여러 등급의 QoS 서비스를 위한 변조를 적용시키는 경우에서, 옵션이 계층화 변조 방식으로서 구현될 수 있다. 이 경우, 비트들은, 비트들이 낮은 성위(lower order constellation)로 인코딩된 것처럼, 낮은 QoS를 갖는 수신기가 비트들을 성공적으로 수신할 수 있도록 계층화된 변조 프로세스내에서 직접 인코딩된다. 높은 QoS 서비스를 갖는 UE는 높은 성위(high order constellation)로 성공적으로 수신할 수 있을 것이다. 예를 들어, 낮은 성위는 심볼당 2비트를 갖는 QPSK 방식일 수 있으며, 높은 성위는 심볼당 4비트를 갖는 16-QAM 성좌 방식일 수 있다. 이러한 4비트 중에서, 2비트는 낮은 성위를 위한 비트와 동일하다.
여기서 후자 방식은 동적으로 사용될 수 있으며, 각각의 UE는 데이터를 선택적으로 복조하고 수행할 수 있는 최선의 복조 프로세스에 기초하여 피드백을 제공할 수 있다.
HSDPA에 대한 응용
현존하는 시스템에 대한 상술한 알고리즘들의 잠재적인 장점들을 설명하기 위해, 알고리즘이 고속 다운링크 패킷 액세스(HSDPA)를 통해 멀티캐스트 데이터의 송신의 효율성을 개선시키는데 사용될 수 있다.
HSPDA 개관
광대역 코드 분할 다중 액세스(WCDMA)를 위한 3GPP 규격의 릴리즈 5에 따르면, 네 개의 논리 채널들, 즉 고속 다운링크 공유 채널(HS-DSCH), 고속 공유 제어 채널(HS-SCCH), 고속 전용 물리 제어 채널(HS-DPCCH), 및 전용 채널(DCH)이 HSDPA 동작에 관여한다.
HS-DSCH 및 이것의 대응하는 물리 채널은 사용자 데이터 멀티캐스트에 사용된다. 다운링크 방향에서의 HS-SCCH와 업링크 방향에서의 HS-DPCCH는 다운링크 사 용자 데이터 송신을 제어하는 두 개의 관련된 시그널링 채널들이다. 다운링크와 업링크 방향들 모두에서의 DCH는 릴리즈 5에서의 임의의 종류의 서비스를 위해 사용될 수 있는 시그널링 채널이다. 릴리즈 6에서, DCH는 강화된 DCH로 교체된다. 위 네 개의 채널들 이외에, 릴리즈 6 규격에서는 새로운 채널, 즉 모든 다운링크 트래픽이 HS-DSCH를 통해 운송될 때의 동작을 커버링하기 위한 단편적 전용 물리 채널(F-DPCH)이 존재한다.
HSDPA에 대한 주요 기술들 중 하나는 물리층 재송신이다. 릴리즈 99에서는 한번에 데이터가 정확하게 수신되지 않는 반면에, 무선 네트워크 제어기(RNC)가 재송신을 스케쥴링할 것이다. HSDPA를 통해, 패킷은 기지국 트랜스시버(BTS)내의 버퍼에서 제일먼저 수신된다. BTS는 패킷을 사용자에게 보낸 경우일지라도 패킷을 버퍼내에 유지시키며, 패킷 디코딩 실패의 경우에, RNC 개입 없이 재송신이 BTS로부터 자동적으로 발생한다.
도 6은 HS-DSCH 채널 인코딩 체인(600)의 도면이다. 도 6에 따르면, 제일 먼저 정보 비트에 순환 리던던시 체크(CRC) 비트가 부가된다(단계 610). 비트 스크램블링 기능은 동일 비트의 장기간의 수행을 막는다(단계 612). 다음으로, 코드 블럭 분할이 발생한다(단계 614). 다음으로 터보 코딩이 발생하며(단계 616); 터보 코드는 HS-DSCH에서 사용되는 고유한 유형의 채널 코드이다.
HARQ는 두 개의 서로 다른 방법들, 즉 추적 결합 재송신과 증분 리던던시 재송신으로 동작될 수 있다. 추적 결합에서, 레이트 정합 기능은 송신들 간에 동일하며, 동일한 비트가 재송신을 위해 남겨진다. 수신기는 수신된 샘플들을 소프트 값 들로서 저장해야 한다. 증분 리던던시에서, 재송신들간의 레이트 정합은 서로 다르다. 시스템 비트에 대한 패리티 비트의 상대적인 갯수는 재송신들 사이에서 달라진다. 실제적인 구현에서, 채널 인코딩이 각각의 패킷 송신마다 행해질 수 있으며, 그런 다음 데이터는 IR 버퍼내에 보존될 수 있다.
하이브리드-ARQ(HARQ) 단계(650)에서, 제일 먼저 비트 분리가 발생한다(단계 618). HARQ 기능은 두 단계의 레이트 정합들(단계 620 및 단계 624)로 구성되며, 이것은 증분 리던던시를 이용할 때에 서로 다른 재송신들의 리던던시 버젼의 조정을 가능케해준다. 첫번째 레이트 정합 단계(단계 620) 이후에, 정보 비트 페이로드는 IR 버퍼(단계 622)로 진행한다. 그 후 두번째 레이트 정합 단계(단계 624)가 발생한다. 물리 채널 분할(단계 626)이 발생하며, 이어서 인터리빙, 변조 및 물리 채널 맵핑(단계 628)이 뒤따른다.
도 7은 인코딩 체인(600)과 거의 반대 방향인 HS-DSCH 채널 디코딩 체인(700)을 도시한다. 도 7에서 유일한 추가 블럭은 추적 결합 또는 증분 리던던시 동작을 수행하는 결합 블럭(단계 714)이다. 디코딩 프로세스에서, 제일 먼저 인터리빙, 변조 및 물리 채널 맵핑(단계 710)이 발생한다. 이 단계에 이어서 물리 채널 분할이 발생한다(단계 712). 결합(단계 714)이 발생한 다음으로, 이어서 정보 비트는 IR 버퍼(단계 716)를 거친다. 만약 펑처링된(punctured) 터보 코드워드가 성공적으로 디코딩되면, 첫번째 레이트 정합 단계(단계 718)가 시작하고, 그렇지 않으면 펑처링된 터보 코드워드가 성공적으로 디코딩될 때 까지 결합(단계 714)이 다시 발생한다. 다음으로 비트 분리(단계 720)가 발생하고, 이어서 터보 디코딩(단계 722), 코드 블럭 분할(단계 724), 비트 스크램블링(단계 726) 및 CRC 첨부(단계 728)가 뒤따른다.
HSDPA에서의 패킷 결합
HSDPA 규격은 상술한 멀티캐스트 모델들의 요건을 충족시킨다. HS-DSCH 및 HS-DPCCH는 각각 HSDPA에서의 다운링크 전송 채널과 업링크 시그널링 채널이다. 전자의 채널은 멀티캐스트 채널로서 서빙할 수 있고, 후자의 채널은 멀티캐스트 모델에서 ACK/NACK 피드백 채널로서 서빙할 수 있다.
HSDPA는 멀티캐스트 모델 그 이상의 것을 제공한다. HSDPA에서, 만약 패킷이 정확하게 디코딩되지 않은 경우에는, 패킷을 폐기처분하는 것 대신에, 패킷은 추가적인 디코딩 이용을 위해 저장된다. 이것은 재송신된 패킷들의 디코딩 실패율을 줄여준다. 소거 채널이 보내진 모든 패킷들에 대하여 일정한 평균 소거율을 갖는 것을 멀티캐스트 모델이 가정하는 것은 부적절하다. 평균 소거율은 재송신의 횟수의 함수로서 설정될 수 있다. 예를 들어, 초기 패킷의 평균 소거율은 e0이며, 첫번째 재송신 패킷의 평균 소거율은 e1이며, 두번째 재송신 패킷의 평균 소거율은 e2이며, e2 < e1 < e0 이다.
상술한 프로토콜들은 HSDPA 환경에 적용될 수 있다. 프로토콜 2에서 설명된 바와 같이 두 개의 UE들에게 데이터 스트림을 멀티캐스팅하는 예시가 간단하게 논의되었다. 이 예시는 다수의 UE들의 경우에 까지 확장될 수 있다. HSDPA에서의 채널 코딩 및 HARQ 동작은 프로토콜 2에 의해 취급되지 않는다. 프로토콜 2에서의 패 킷 XOR 연산은 HSDPA에게는 새로운 것이다.
프로토콜 2를 HSDPA와의 사용에 적용시키기 위해, 아래의 변경들이 취해진다. 버퍼내에서, HARQ를 통해, HSDPA에서 송신된 모든 패킷들은 잠재적인 재송신을 위해 IR 버퍼내에 자동적으로 저장된다. 따라서, 프로토콜 2에서 두 개의 버퍼들이 누락된 패킷 전체를 저장하는 것은 불필요하다. 대신에, 이 두 개의 버퍼들은 단순히 손실 패킷의 인덱스를 기록한다. 만약 BTS가 이 패킷에 대한 ACK를 양쪽 UE들로부터 수신하면 패킷은 IR 버퍼에서 제거된다.
프로토콜 2의 규칙 1 또는 규칙 3에 따라 소스 패킷을 송신할 때에, BTS는 발송 패킷을 생성하기 위해 도 6에서의 HS-DSCH 채널 인코딩 체인(600)을 따른다. UE는 수신된 소스 패킷을 디코딩하기 위해 도 7에서의 HS-DSCH 채널 디코딩 체인(700)을 따른다.
프로토콜 2의 규칙 2에 따라 결합된 패킷을 송신할 때에, 만약 양쪽 UE들을 위한 버퍼들이 비어있는 상태가 아니라면, BTS는 이 두 버퍼들내의 첫 번째 패킷들의 XOR을 송신한다. HSDPA에서 패킷들을 XOR연산처리하는 방법은 두가지가 존재한다.
첫번째 방법은 터보 인코딩 이전에 XOR연산처리하는 것이다. XOR 연산은 원래 소스 패킷으로부터 터보 인코딩 블럭의 시작까지 임의의 단계에서 수행될 수 있다. 도 8은 CRC 블럭의 시작에서 정보 비트들을 XOR연산처리하는 예시를 도시한다.
도 8은 결합된 패킷을 위한 HS-DSCH 채널 인코딩 체인(800)의 흐름도이다. 결합된 패킷을 위한 HS-DSCH 채널 인코딩 체인(800)은 패킷들을 XOR연산처리하는 것으로 시작한다(단계 810). 그 후, CRC 첨부가 행해지고(단계 812), 이어서 비트 스크램블링(단계 814)과 코드 블럭 분할(단계 816)이 뒤따른다. 그 후 터보 코딩(단계 818)이 수행된다. 이어서 비트 분리(단계 820)로 시작하는 HARQ 동작(850)이 개시된다. 그 후, 첫번째 레이트 정합 시퀀스(단계 822)가 시작하고, 이어서 데이터가 IR 버퍼(단계 824)를 거치며, 그런 다음 두번째 레이트 정합 시퀀스(단계 826)가 뒤따른다. 그 후 물리 채널 분할(단계 828)이 발생하며, 이어서 인터리빙, 변조 및 물리 채널 맵핑(단계 830)이 뒤따른다.
두번째 방법은 터보 인코딩 후에 XOR연산처리하는 것이다. XOR 연산은 터보 인코딩 블럭의 출력으로부터 IR 버퍼 블럭까지 임의의 단계에서 수행될 수 있다. HSDPA에서 모든 송신 패킷들은 자동적으로 IR 버퍼내에 저장되기 때문에, IR 버퍼내에 저장된 두 개의 손실 패킷들의 비트들을 XOR연산처리하는 것이 편리하다.
HSDPA에서 시스템 터보 코드가 사용되면, 위의 두 개의 방법들을 통해 생성된 결합된 패킷들은 동일하다.
결합된 패킷을 디코딩하기 위해, UE는 결합된 패킷을 수신하게 되면, 제일 먼저 결합된 패킷의 구성성분들인 알려진 소스 패킷의 복제물을 생성한다. 그 후 UE는 이러한 알려진 패킷들을 수신된 결합 패킷과 XOR연산처리한다. 그런 다음 미지의 결과적인 단일 패킷이 수신 체인을 통해 복조된다. 이전에 언급한 바와 같이, 첫번째 레이트 정합해제 및 터보 디코딩 이전에, 패킷 추출이 수신 체인내의 임의의 장소에서 발생할 수 있지만, 패킷 추출을 수행하기에 가장 자연스러운 장소는 IR 버퍼내이다.
도 9는 결합된 패킷을 위한 HS-DSCH 채널 디코딩 체인(900)의 도면이다. 디 코딩 체인(900)에서, 결합된 패킷의 구성성분인 소스 패킷(들)은 제일 먼저 CRC 첨부된다(단계 910). 이어서 비트 스크램블링(단계 912), 코드 블럭 분할(단계 914), 터보 코딩(단계 916), 비트 분리(단계 918), 및 첫번째 레이트 정합 프로세스(단계 920)가 뒤따른다. 결합된 패킷은 XOR연산처리(단계 922) 이전에, 동시적으로 복조될 수 있으며(단계 924), 그 후 물리 채널 분할(단계 926)을 거친 후에 두번째 레이트 정합해제 프로세스(단계 928)를 거친다. 그 후 결합(단계 930)이 발생하고, 이어서 IR 버퍼내의 저장이 뒤따른다(단계 932). 만약 펑처링된 터보 코드워드가 성공적으로 디코딩되면, 첫번째 레이트 정합해제 프로세스(단계 934)가 발생하며, 그렇지 않은 경우에 성공적으로 디코딩되지 않은 펑처링된 터보 코드워드에 대해 결합(단계 930)이 다시 행해진다. 첫번째 레이트 정합해제 시퀀스(단계 934)에 이어서, 비트 분리(단계 936)와 터보 디코딩(단계 938)이 발생한다.
프로토콜 10
HSDPA를 위한 새로운 프로토콜은 BTS가 각각의 UE를 위한 인덱스 버퍼를 설정하는 것을 포함한다. 각각의 인덱스 버퍼는, 보내졌으나 해당 UE에 의해 수신되지 않은 패킷들의 인덱스들을 기록해둔다. 양쪽 버퍼들은 시작시에 비어있는 상태이다. 비록 이 프로토콜을 두 개의 UE들과 관련하여 설명하지만, 임의의 갯수의 UE들에 까지 확장된다는 것은 자명하다.
프로토콜 10에서는 두 개의 단계들, 즉 "정규 송신 단계"와 "버스트 송신 완료 단계"가 있다. 만약 이전에 보내진 적이 없는 새로운 소스 패킷이 존재하거나 또는 양쪽 버퍼들이 비어있는 상태가 아닌 경우, 프로토콜은 "정규 송신 단계"에 놓이게 된다. 만약 그렇지 않은 경우, 프로토콜은 "버스트 송신 완료 단계"에 놓인다.
정규 송신 단계에서, BTS는 이하의 순서 규칙들에 따라 패킷을 생성하고 멀티캐스팅한다.
규칙 1: 만약 양쪽 UE들이 BTS에게 공통 패킷을 디코딩하는 것이 실패했음을 통지하면, BTS는 상술한 바와 같이 재송신 패킷을 생성한다. 추적 결합에서, 재송신 패킷은 원래 패킷과 동일하다. 증분 리던던시에서, 재송신 패킷은 터보 코드워드의 서로 다른 펑처링이다. 하나의 UE로부터 ACK를 수신하고, 나머지 다른 UE로부터 NACK를 수신하면, BTS는 패킷 인덱스를 후자의 UE를 위한 버퍼내에 추가시킨다.
규칙 2: 만약 양쪽 UE들을 위한 버퍼들이 비어있지 않은 상태라면, BTS는 상술한 방법들을 통해 결합된 패킷을 생성한다. 하나의 UE 또는 양쪽의 UE들로부터 ACK를 수신하면, BTS는 적절한 버퍼(들)에서 첫 번째 패킷 인덱스 참조값을 제거한다.
규칙 3: BTS는 상술한 바와 같이 새로운 패킷을 송신한다. 하나의 UE로부터 ACK를 수신하고, 나머지 다른 UE로부터 NACK를 수신하면, BTS는 패킷 인덱스를 후자의 UE를 위한 버퍼내에 추가시킨다.
버스트 송신 완료 단계에서의 기나긴 송신 버스트의 말미에서, 적어도 하나의 UE는 모든 소스 패킷들을 디코딩할 수 있다. 만약 나머지 다른 UE가 아직 모든 소스 패킷들을 디코딩하지 않았다면, 즉 상기의 UE를 위한 버퍼가 비어있지 않은 상태라면, BTS는 버퍼를 플러싱한다. 구체적으로, BTS는 UE로부터 ACK를 수신할 때 까지 해당 버퍼내에서의 인덱스를 갖는 모든 패킷들을 계속해서 재송신한다. 그런 후, BTS는 해당 버퍼내에서의 인덱스를 갖는 다음 패킷을 보낸다.
시뮬레이션 결과
도 10은 두 개의 UE들을 갖는 멀티캐스트 모델의 채널 소거율 대 프로토콜 1과 프로토콜 2의 오버헤드들을 비교하는 제1 시뮬레이션의 그래프이다. 시뮬레이션은 두 개의 독립적인 소거 채널들의 소거율이 동일한 것으로 가정한다. e는 이러한 동일한 소거율을 나타내는 것으로 한다. 비교를 위해, 도 10에서는 두 개의 곡선들, 즉
Figure 112009048431991-pct00016
(이후부터, "곡선 A"라고 부른다)와
Figure 112009048431991-pct00017
(이후부터, "곡선 B"라고 부른다)가 도시된다. 전자의 곡선은 프로토콜 1의 예상된 오버헤드를 보여주는 [수학식 3]으로부터 유도된 것이며, 후자의 곡선은 두 개의 UE들을 갖는 멀티캐스트 모델을 위한 임의의 프로토콜의 최소의 가능한 오버헤드를 도시하는 [수학식 5]로부터 유도된 것이다.
시뮬레이션에서, 소스 패킷들의 갯수는 104개로서 설정된다. 곡선들내의 각각의 점들은 20회의 독립적 수행의 평균치이며, 각각의 점들의 편차는 1x10-3보다 작다. 도 10으로부터, 프로토콜 1의 오버헤드가 거의 곡선 A와 겹치며, 프로토콜 2의 오버헤드는 거의 곡선 B와 겹치는 것이 보여진다. 즉, 프로토콜 2는 최상의 오버헤드 성능을 달성한다. 이것은 무상으로 제2 사용자로의 동일 데이터의 송신을 수행하게 해준다.
도 11은 채널 소거율 e1가 0.2로 고정되어 있는 동안의 채널 소거율 e2에 대 한 프로토콜 1과 프로토콜 2의 오버헤드들을 도시하는 그래프이다. 비교를 위해, 동일한 도면내에 e1 = 0.2인 [수학식 3]과 [수학식 5]에 기초된 두 개의 곡선들을 도표화하였다. 도 11로부터, 프로토콜 1의 오버헤드가 [수학식 3]의 곡선과 겹치며, 프로토콜 2의 오버헤드는 거의 [수학식 5]의 곡선과 겹치는 것이 보인다. 프로토콜 2의 오버헤드는 프로토콜 1의 오버헤드보다 성능이 우수하지만, 그 차이는 e1 = e2의 경우보다 크지 않다. 높은 e2 값에서 [수학식 3]의 곡선이 [수학식 5]의 곡선에 접근하는 것을 유념한다.
도 12는 채널 소거율 e1가 0.4로 고정되어 있는 동안의 채널 소거율 e2에 대한 프로토콜 1과 프로토콜 2의 오버헤드들을 도시하는 그래프이다. 도 11과 유사한 결과가 관찰될 수 있다.
도 13은 다섯 개의 UE들을 갖는 멀티캐스트 모델에 대한 프로토콜 1a와 프로토콜 5의 오버헤드들에 대한 시뮬레이션 결과들의 그래프이다. 다섯 개의 모든 채널들의 채널 소거율은 본 시뮬레이션에서 동일한 것으로 가정한다. 비교를 위해, 도 13에서는 오버헤드에 대한 하한선(즉,
Figure 112009048431991-pct00018
)이 도시된다. 도 13으로부터 프로토콜 5의 오버헤드는 버퍼 용량에 비례하여 감소하는 것이 보여진다. 그 이유는, 큰 버퍼 용량에 비례하여, 각각의 결합된 패킷이 다수의 UE들에 대해 알려지지 않은 정보의 하나의 패킷을 포함할 가능성이 높아지기 때문이다. 버퍼 용량이 증가할 수 록, 프로토콜 5의 오버헤드는 하한선
Figure 112009048431991-pct00019
에 접근한다. 시뮬레이션에서 사용된 버퍼 용량은 소스 패킷들의 갯수에 비해 작다. 또한, 버퍼는 패킷 전체보다는 패킷 인덱스만을 저장한다. 따라서, 프로토콜 5의 저장 요건은 기지국에 의해 손쉽게 충족될 수 있다.
도 14와 도 15는 각각 25개의 UE와 50개의 UE를 갖는 프로토콜 1a와 프로토콜 5의 오버헤드들에 대한 시뮬레이션 결과를 도시한다. 다시, 이러한 모든 채널들의 채널 소거율들은 본 시뮬레이션들에서 동일한 것으로 가정한다. 프로토콜 1a에 대한 커다란 성능 개선이 프로토콜 5를 이용함으로써 관측될 수 있다.
실시예들
실시예 1. 패킷을 멀티캐스팅하는 방법에 있어서,
기지국과 통신하는 두 개의 사용자 장비들(UE) 각각을 위한 버퍼를 제공하며; 상기 기지국에서 이전에 보내지지 않은 패킷이 존재하는지를 판단하고; 양쪽 UE 버퍼들이 비어있는 상태인지를 판단하며; 만약 이전에 보내지지 않은 패킷이 존재하지 않는 경우 및 상기 버퍼들 중 하나가 비어있지 않은 상태인 경우, 비어있지 않은 버퍼를 플러싱하며; 만약 이전에 보내지지 않은 패킷이 존재하는 경우 또는 상기 양쪽 버퍼들 모두가 비어있지 않은 상태인 경우, 송신할 패킷을 선택하며; 상기 UE들로부터 수신된 피드백에 기초하여 상기 버퍼들을 업데이트하는 것을 포함하는 패킷을 멀티캐스팅하는 방법.
실시예 2. 실시예 1에 있어서, 상기 플러싱하는 것은, 상기 버퍼가 비어있는 상태인지를 판단하며; 상기 버퍼로부터 패킷을 송신하며; 상기 패킷을 수신했던 상기 UE로부터 수신된 피드백에 기초하여 상기 버퍼를 업데이트하며; 상기 버퍼가 비어있는 상태가 될 때 까지 상기 플러싱을 반복하는 것을 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
실시예 3. 실시예 1 또는 실시예 2에 있어서, 상기 선택하는 것은, 이전에 송신되었으나 양쪽 UE들에 의해 수신되지 않은 패킷을 송신하는 것을 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
실시예 4. 실시예 1 또는 실시예 2에 있어서, 상기 선택하는 것은, 이전에 송신되었으나 양쪽 UE들에 의해 수신되지 않은 패킷이 존재하지 않는 경우 및 양쪽 버퍼들이 비어있지 않은 상태인 경우에, 결합된 패킷을 송신하는 것을 포함하며, 상기 결합된 패킷은 상기 버퍼들내의 두 개의 패킷들의 결합체인 것인, 패킷을 멀티캐스팅하는 방법.
실시예 5. 실시예 1 또는 실시예 2에 있어서, 상기 선택하는 것은, 이전에 송신되었으나 양쪽 UE들에 의해 수신되지 않은 패킷이 존재하지 않는 경우 및 상기 버퍼들 중 하나가 비어있는 상태인 경우에, 이전에 보내지지 않은 패킷을 송신하는 것을 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
실시예 6. 멀티캐스트 통신 시스템에서 피드백을 제공하기 위한 방법으로서, 기지국으로부터 패킷을 수신하며; 상기 패킷이 성공적으로 수신되었는지를 판단하며; 상기 판단의 결과에 기초하여 상기 기지국에 피드백을 제공하는 것을 포함하는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 7. 실시예 6에 있어서, 상기 수신된 패킷이 결합된 패킷인지를 판단하며; 상기 결합된 패킷으로부터 개개별의 패킷들을 복구하며; 이전에 성공적으로 수신되지 않았던 결합된 패킷내의 임의의 개개별의 패킷에 대한 피드백을 상기 기지국에 제공하는 것을 더 포함하는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 8. 실시예 7에 있어서, 상기 복구하는 것은 상기 결합된 패킷과 이전에 수신된 패킷에 대해 배타적논리합 연산을 수행하는 것을 포함하며, 이로써 이전에 성공적으로 수신되지 않은 패킷은 복구되는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 9. 실시예 1 내지 실시예 8 중 임의의 하나의 실시예에 있어서, 사용자 장비가 본 방법을 수행하도록 구성되는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 10. 실시예 1 내지 실시예 9 중 임의의 하나의 실시예에 있어서, 상기 방법은 임의의 갯수의 사용자 장비들과 함께 동작하도록 변형되는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 11. 실시예 1 내지 실시예 10 중 임의의 하나의 실시예에 있어서, 레이턴시 요건을 취급하는 것을 더 포함하는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 12. 실시예 1 내지 실시예 11 중 임의의 하나의 실시예에 있어서, 메모리 제한을 취급하는 것을 더 포함하는 것인, 멀티캐스트 통신 시스템에서의 피드 백 제공 방법.
실시예 13. 실시예 1 내지 실시예 12 중 임의의 하나의 실시예에 있어서, 결합되는 패킷내로 결합되는 상기 패킷을 선택하는 방법을 더 포함하는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 14. 실시예 1 내지 실시예 13 중 임의의 하나의 실시예에 있어서, 상기 버퍼는 패킷 기반 버퍼인 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 15. 실시예 1 내지 실시예 14 중 임의의 하나의 실시예에 있어서, 상기 버퍼는 그룹 기반 버퍼인 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 16. 실시예 1 내지 실시예 15 중 임의의 하나의 실시예에 있어서, 상기 방법은 고속 다운링크 패킷 액세스에 적용되는 것인, 멀티캐스트 통신 시스템에서의 피드백 제공 방법.
실시예 17. 실시예 1 내지 실시예 16 중 임의의 하나의 실시예에 따른 방법을 수행하도록 구성된 아키텍쳐.
실시예 18. 실시예 17에 있어서, 패킷 정보 시그널링을 취급하는 것을 더 포함하는 것인, 아키텍쳐.
실시예 19. 실시예 17에 있어서, 동기화 및 사용자 다이나믹스를 취급하는 것을 더 포함하는 것인, 아키텍쳐.
실시예 20. 실시예 17에 있어서, 피드백 에러 처리를 취급하는 것을 더 포함 하는 것인, 아키텍쳐.
실시예 21. 실시예 17에 있어서, 다양한 서비스 품질 레벨들을 취급하는 것을 더 포함하는 것인, 아키텍쳐.
본 발명의 특징부 및 구성요소들이 특정한 조합형태로 상술되었지만, 본 발명의 각 특징부 또는 구성요소들은 다른 특징부 및 구성요소들없이 단독으로 사용될 수 있거나, 또는 다른 특징부 및 구성요소들과 함께 또는 일부를 배제하고 다양한 조합의 형태로 사용될 수 있다. 본 명세서에서 제공되는 방법은 범용 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독가능 저장매체내에 내장된 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수 있다. 컴퓨터 판독가능 저장매체의 예로는 ROM(read only memory), RAM(random access memory), 레지스터, 캐시 메모리, 반도체 메모리 장치, 내부 하드 디스크와 탈착가능 디스크와 같은 자기 매체, 자기 광학 매체, CD-ROM 디스크와 같은 광학 매체, 및 DVD가 포함된다.
적절한 프로세서의 예로서는, 범용 프로세서, 특수 목적 프로세서, 통상의 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로프로세서, DSP 코어와 연계된 하나 이상의 마이크로프로세서, 제어기, 마이크로제어기, 응용 특정 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 회로, 임의의 유형의 집적 회로(IC), 및/또는 상태 머신이 포함된다.
소프트웨어와 연계되는 프로세서는 무선 송수신 유닛(WTRU), 사용자 장비(UE), 단말기, 기지국, 무선 네트워크 제어기(RNC), 또는 임의의 호스트 컴퓨터 에서 사용하기 위한 무선 주파수 트랜스시버를 구현하는데에 사용될 수 있다. WTRU는 카메라, 비디오 카메라 모듈, 비디오폰, 스피커폰, 진동 장치, 스피커, 마이크로폰, 텔레비젼 트랜스시버, 핸드프리 헤드셋, 키보드, 블루투스® 모듈, 주파수 변조(FM) 무선 유닛, 액정 디스플레이(LCD) 디스플레이 유닛, 유기 발광 다이오드(OLED) 디스플레이 유닛, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 및/또는 임의의 무선 근거리 네트워크(WLAN) 모듈과 같이 하드웨어 및/또는 소프트웨어로 구현된 모듈들과 함께 사용될 수 있다.

Claims (22)

  1. 패킷을 멀티캐스팅하는 방법에 있어서,
    기지국과 통신하는 두 개의 사용자 장비(UE: user equipment)들 각각을 위하여 상기 기지국에 버퍼를 제공하는 단계로서, 각각의 버퍼는 대응하는 사용자 장비(UE)에 보내질 패킷들을 저장하도록 구성되는 것인, 상기 버퍼 제공 단계;
    사용자 장비(UE)에 송신될 새로운 패킷이 상기 기지국에서 존재하는지 여부를 판정하는 단계로서, 새로운 패킷은 이전에 보내지지 않은 패킷인 것인, 상기 판정 단계;
    양쪽 사용자 장비(UE) 버퍼들이 비어있지 않은지(non-empty) 여부를 판정하는 단계;
    새로운 패킷이 존재하지 않은 경우 및 상기 버퍼들 중 하나가 비어있지 않은 경우에, 비어있지 않은 버퍼를 플러싱(flush)하는 단계;
    새로운 패킷이 존재하는 경우 또는 양쪽 버퍼들이 비어있지 않은 경우에, 송신할 패킷을 선택하는 단계로서, 이전에 송신되었지만 양쪽 사용자 장비(UE)들에 의해 확인응답되지(acknowledged) 않은 패킷이 존재하지 않은 경우 및 상기 양쪽 버퍼들이 비어있지 않은 경우에, 결합된(combined) 패킷이 선택되며, 결합된 패킷은 각각의 버퍼에 있는 첫 번째 패킷의 배타적논리합(exclusive OR) 결합체(combination)인 것인, 상기 패킷 선택 단계; 및
    상기 사용자 장비(UE)들로부터 수신된 피드백에 기초하여 상기 버퍼들을 업데이트하는 단계로서, 상기 업데이트하는 단계는 상기 사용자 장비(UE)가 상기 패킷의 수신을 확인응답하는 경우에, 버퍼로부터 패킷을 제거하는 단계를 포함하는 것인, 상기 업데이트하는 단계
    를 포함하는, 패킷을 멀티캐스팅하는 방법.
  2. 제 1 항에 있어서, 상기 플러싱하는 단계는,
    상기 버퍼가 비어있는지 여부를 판정하는 단계;
    상기 버퍼가 비어있지 않은 경우에, 상기 버퍼로부터 패킷을 송신하는 단계;
    상기 사용자 장비(UE)로부터 수신된 피드백에 기초하여 상기 버퍼를 업데이트하는 단계;
    상기 버퍼가 비어있는 상태가 될 때 까지 상기 플러싱하는 단계를 반복하는 단계
    를 포함하며,
    상기 버퍼를 업데이트하는 단계는, 상기 사용자 장비(UE)가 상기 패킷의 수신을 확인응답하는 경우에, 버퍼로부터 패킷을 제거하는 단계를 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
  3. 제 1 항에 있어서, 상기 송신할 패킷을 선택하는 단계는,
    이전에 송신되었지만 양쪽 사용자 장비(UE)들에 의해 확인응답되지 않은 패킷을 송신하는 단계를 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서, 상기 송신할 패킷을 선택하는 단계는,
    이전에 송신되었지만 양쪽 사용자 장비(UE)들에 의해 확인응답되지 않은 패킷이 존재하지 않은 경우 및 상기 버퍼들 중 하나가 비어있는 경우에, 새로운 패킷을 송신하는 단계를 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
  8. 제 1 항에 있어서, 상기 송신할 패킷을 선택하는 단계는,
    비어있지 않은 버퍼에서 첫 번째 패킷을 검사하는 단계;
    상기 첫 번째 패킷이 가장 최근에 송신된 패킷에 미리결정된 순번째(number)로 앞서는(ahead) 패킷인지를 판정하는 단계;
    상기 첫 번째 패킷이 가장 최근에 송신된 패킷에 미리결정된 순번째로 앞서는 패킷인 경우에, 상기 첫 번째 패킷을 송신하는 단계
    를 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
  9. 제 8 항에 있어서, 상기 가장 최근에 송신된 패킷에 미리결정된 순번째로 앞서는 패킷은 최대 지연값(maximum delay value)에 대응하는 것인, 패킷을 멀티캐스팅하는 방법.
  10. 제 1 항에 있어서, 상기 송신할 패킷을 선택하는 단계는, 상기 버퍼가 미리결정된 버퍼 용량에 도달하는 경우에, 상기 버퍼내의 첫 번째 패킷을 송신하는 단계를 포함하는 것인, 패킷을 멀티캐스팅하는 방법.
  11. 삭제
  12. 삭제
  13. 패킷을 멀티캐스팅하도록 구성된 기지국에 있어서,
    두 개의 버퍼들로서, 상기 버퍼들 각각은 기지국과 통신하는 두 개의 사용자 장비들(UE) 각각을 위한 것인, 상기 두 개의 버퍼들;
    사용자 장비(UE)에 송신될 새로운 패킷 - 새로운 패킷은 이전에 보내지지 않은 패킷임 - 이 존재하는지 여부를 판정하며, 양쪽 버퍼들이 비어있지 않은지 여부를 판정하도록 구성된 프로세서;
    새로운 패킷이 존재하지 않는 경우 및 상기 버퍼들 중 하나가 비어있지 않은 경우에, 비어있지 않은 버퍼를 플러싱하도록 구성된 버퍼 플러싱 장치;
    새로운 패킷이 존재하는 경우 또는 상기 양쪽 버퍼들이 비어있지 않은 경우에, 송신할 패킷을 선택하고, 이전에 송신되었지만 양쪽 사용자 장비(UE)들에 의해 확인응답되지 않은 패킷이 존재하지 않는 경우 및 상기 양쪽 버퍼들이 비어있지 않은 경우에, 결합된 패킷을 선택하도록 구성되는 패킷 선택기로서, 결합된 패킷은 각각의 버퍼에서의 첫 번째 패킷의 배타적논리합(exclusive OR) 결합체인 것인, 상기 패킷 선택기;
    상기 사용자 장비(UE)들로부터 수신된 피드백에 기초하여 상기 버퍼들을 업데이트하고, 패킷이, 대응하는 사용자 장비(UE)에 의해 확인응답된 경우에 버퍼로부터 상기 패킷을 제거하도록 구성된 버퍼 업데이트 장치; 및
    패킷들을 송신하고, 피드백 정보를 수신하도록 구성된 트랜시버(transceiver)
    를 포함하는 기지국.
  14. 제 13 항에 있어서, 상기 버퍼 플러싱 장치는,
    상기 버퍼가 비어있는지 여부를 판정하며;
    상기 버퍼가 비어있지 않은 경우에, 상기 버퍼로부터 송신을 위한 패킷을 선택하며;
    상기 버퍼가 비어있는 상태가 될 때 까지 상기 버퍼를 플러싱하는 것을 반복하도록 구성되는 것인, 기지국.
  15. 제 13 항에 있어서, 상기 패킷 선택기는, 이전에 송신되었지만 양쪽 사용자 장비(UE)들에 의해 확인응답되지 않은 패킷을 선택하도록 구성되는 것인, 기지국.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제 13 항에 있어서, 상기 패킷 선택기는, 이전에 송신되었지만 양쪽 사용자 장비(UE)들에 의해 확인응답되지 않은 패킷이 존재하지 않는 경우 및 상기 양쪽 버퍼들 중 하나가 비어있는 경우에, 새로운 패킷을 선택하도록 구성되는 것인, 기지국.
  20. 제 13 항에 있어서, 상기 패킷 선택기는,
    비어있지 않은 버퍼에서 첫 번째 패킷을 검사하고;
    상기 첫 번째 패킷이 가장 최근에 송신된 패킷에 미리결정된 순번째로 앞서는 패킷 인지를 판정하고;
    상기 첫 번째 패킷이 가장 최근에 송신된 패킷에 미리결정된 순번째로 앞서는 패킷인 경우에, 상기 첫 번째 패킷을 선택하도록 구성되는 것인, 기지국.
  21. 제 20 항에 있어서, 상기 가장 최근에 송신된 패킷에 미리결정된 순번째로 앞서는 패킷은 최대 지연값에 대응하는 것인, 기지국.
  22. 제 20 항에 있어서, 상기 패킷 선택기는, 상기 버퍼가 미리결정된 버퍼 용량에 도달하는 경우에, 상기 버퍼내의 첫 번째 패킷을 선택하도록 구성되는 것인, 기지국.
KR1020097016601A 2007-01-08 2008-01-08 피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치 KR101169126B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/883,954 2007-01-08
PCT/US2008/000294 WO2008085992A2 (en) 2007-01-08 2008-01-08 Method and apparatus for multicasting with feedback information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097020295A Division KR101323032B1 (ko) 2007-01-08 2008-01-08 피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090111836A KR20090111836A (ko) 2009-10-27
KR101169126B1 true KR101169126B1 (ko) 2012-07-27

Family

ID=41539573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097016601A KR101169126B1 (ko) 2007-01-08 2008-01-08 피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101169126B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023736A1 (en) 2002-09-07 2004-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for efficient data transmission link control in mobile multicast communication systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023736A1 (en) 2002-09-07 2004-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for efficient data transmission link control in mobile multicast communication systems

Also Published As

Publication number Publication date
KR20090111836A (ko) 2009-10-27

Similar Documents

Publication Publication Date Title
KR101323032B1 (ko) 피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치
RU2353063C2 (ru) Способ и устройство для сокращения служебных сигналов в усовершенствованной восходящей линии связи в системе беспроводной связи
EP2218204B1 (en) Method and system for data transmission in a data network
JP5250061B2 (ja) 通信制御方法、移動通信システム及び移動端末装置
JP2015144488A (ja) 高性能符号化を可能にする多重化cdmaチャネルの順方向誤り訂正
JP2007259454A (ja) 無線通信システムにおいてパケット再送を処理する方法及び装置
JP2006060860A (ja) ハイブリッド自動反復要求を用いたトランスポートブロックセット送信
JP2007525043A (ja) 効果的な自動反復要求の方法および装置
US7178089B1 (en) Two stage date packet processing scheme
US8850283B2 (en) HARQ procedure with processing of stored soft-bits
KR20090061562A (ko) 연판정을 이용한 통신방법 및 장치
KR101169126B1 (ko) 피드백 정보를 구비한 멀티캐스팅을 위한 방법 및 장치
US9008016B2 (en) Data transmission method and system
KR101220680B1 (ko) 데이터 블록 결합 방법 및 복합 재전송 방법

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee