KR20070031419A - 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘 - Google Patents

점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘 Download PDF

Info

Publication number
KR20070031419A
KR20070031419A KR1020077002253A KR20077002253A KR20070031419A KR 20070031419 A KR20070031419 A KR 20070031419A KR 1020077002253 A KR1020077002253 A KR 1020077002253A KR 20077002253 A KR20077002253 A KR 20077002253A KR 20070031419 A KR20070031419 A KR 20070031419A
Authority
KR
South Korea
Prior art keywords
point
header
flute
type
data symbols
Prior art date
Application number
KR1020077002253A
Other languages
English (en)
Other versions
KR100870236B1 (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 KR1020077002253A priority Critical patent/KR100870236B1/ko
Publication of KR20070031419A publication Critical patent/KR20070031419A/ko
Application granted granted Critical
Publication of KR100870236B1 publication Critical patent/KR100870236B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 하나 또는 그 이상의 데이터 심벌들이 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신되고, 상기 데이터 심벌들에는 소정 파일 전송 프로토콜에 따르는 제1-타입 헤더 헤더가 제공되며, 하나 또는 그 이상의 보수 데이터 심벌들이 보수 서버로부터 점-대-점 보수 세션 내의 수신기들 중 하나의 특정 수신기로 송신되고, 상기 보수 데이터 심벌들에는 상기 동일한 파일 전송 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 방법, 시스템, 송신기, 망 요소, 수신기 및 데이터 심벌의 송신을 위한 시스템 내의 소프트웨어 어플리케이션에 관련된다.

Description

점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답 메커니즘{Point-to-point repair response mechanism for point-to-multipoint transmission systems}
본 발명은, 하나 또는 그 이상의 데이터 심벌들이 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신되고, 하나 또는 그 이상의 보수 데이터 심벌들이 보수 서버로부터 점-대-점 보수 세션 내의 수신기들 중 하나의 특정 수신기로 송신되는, 방법, 시스템, 송신기, 망 요소, 수신기 및 데이터 심벌의 송신을 위한 시스템 내의 소프트웨어 어플리케이션에 관련된다.
인터넷 프로토콜(IP) 멀티캐스트, IP 데이터 캐스팅((IPDC, IP Data Casting), 및 멀티미디어 방송/멀티캐스트 서비스(MBMS, Multimedia Broadcast/Multicast Services)와 같은 시스템을 통한 점-대-다중점(PtM, Point-To-Multipoint) 서비스(단-대-다(one-to-many) 서비스라고도 불린다) 서비스를 구현하기 위하여, 예를 들어 멀티미디어 파일의 다운로드와 같은 파일 전달은 매우 중요한 서비스이다.
그러나, 점-대-점(PtP, Point-To-Point) 프로토콜, 예컨대 파일 전송 프로토콜(FTP, File Transfer Protocol) 및 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol, HTTP)과 같은 점-대-점 프로토콜을 통하여 파일을 전달하기 위 한 특징들 중 많은 것들은, PtM 시나리오를 구현하기에 문제될 수 있다. 특히, 전송 제어 프로토콜(TCP, Transport Control Protocol)과 같은 유사한 PtP 확인(ACK) 프로토콜을 이용하는 안정적인 파일의 전달(즉, 안정성이 보장된 파일 전달) 서비스가 구현 가능하지 않다.
국제 엔지니어링 태스크 포스(IETF, International Engineering Task Force)의 신뢰성 멀티캐스트 전송(RMT, Reliable Multicast Transport) 워킹 그룹이 현재 에러에 탄력적인 멀티캐스트 전송 프로토콜들 중 두 개의 카테고리를 표준화하는 과정에 있다. 첫 번째 카테고리에서, 순방향 에러 정정(FEC, Forward Error Correction)을 이용(proactive)함으로써 신뢰성이 구현될 수 있는데, 즉, 수신기로 하여금 오류가 발생한 데이터를 재구성할 수 있도록 도울 수 있는 일정 분량의 여분 데를 전송함으로써 신뢰도가 구현된다. 두 번째 카테고리에서, 신뢰성은 수신기 궤환을 이용하여 구현되는데, 즉, 수신기가 수신된 데이터에 대한 확인(ACK) 또는 부정 확인(NACK)을 송신함으로써 신뢰성이 구현된다.
비동기 계층적 코딩(ALC, Asynchronous Layered Coding)은 제1 카테고리에 속하는 프로토콜의 일 예이며, NACK-기반 신뢰성 멀티캐스트(NORM, NACK-oriented Reliable Multicast) 프로토콜은 제2 카테고리에 속한다. 이러한 프로토콜들이 사용하게 될 수 있는 액세스 네트워크에는 범용 이동식 원격 통신 시스템(UMTS, Universal Mobile Telecommunications System)과 같은 다중-접속 네트워크, 무선 근거리 통신망(WLAN, Wireless Local Area Network), 디지털 비디오 방송-지상파(DVB-T, Digital Video Broadcasting Terrestrial) 네트워크, 및 디지털 비디오 방송-위성(DVB-S, Digital Video Broadcasting-Satellite) 네트워크 등이 포함되는데, 범용 이동식 원격 통신 시스템(UMTS)에는 이동 통신 진화 무선 접근 네트워크용 글로벌 시스템(GERAN, Global System for Mobile Communications Evolution Radio Access Network) 및 UMTS 지상파 무선 액세스 네트워크(UTRAN, UMTS Terrestrial Radio Access Network)가 포함된다.
NACK 메시지는 일반적으로 NORM에 특이적이지 않으며, 이들은 다른 프로토콜 또는 시스템들과도 관련되어 이용될 수 있는데, 예를 들면 단방향 송신 상의 파일 전달(FLUTE, File Delivery over Unidirectional Transport) 프로토콜에 의하여 제어되는 세션들을 지원하는 시스템들과 관련되어 이용될 수 있다.
플루트(FLUTE)는 FEC 및 ALC 빌딩 블록 상에 구현된 단-대-다 전송 프로토콜이다. 플루트(FLUTE)는 단방향 시스템 상에서 송신기(들)로부터 수신기(들)까지의 파일 전달을 위해 이용되도록 의도된다. 플루트(FLUTE)는 무선 PtM 시스템에 적합하게 이용될 수 있는 사양을 가진다. 플루트(FLUTE) 프로토콜의 세부사항은 전술된 IETF의 RMT 워킹 그룹에 의하여 마련된 "FLUTE - File Delivery over Unidirectional Transport" (인터넷 드래프트)라는 명칭의 문서에 상세히 논의된다.
플루트(FLUTE)를 사용하는 기술은 예를 들면 MBMS 시스템의 세션들에서 파일 다운로드를 위한 제3 세대 파트너십 프로젝트(3GPP, Third Generation Partnership Project)에 의하여 규정된다. FEC는 이와 같은 플루트(FLUTE) 세션에서 이용되었을 수도 있고 이용되지 않았을 수도 있다. 어느 경우에나, 세션이 끝날 때 세션 내의 모든 수신기가 전체의 파일을 수신하였을 것으로 기대될 수 있는 것은 아니다. 이러한 목적을 달성하기 위하여, 3 GPP는 PtP 보수 세션(repair session)을 정의하는 과정에 있으며, 여기서, 수신기들은 보수 데이터 심벌들의 송신을 위한 요청들을 시그널링 하도록 허용되고(예를 들면 수신기에 의하여 정확하게 수신되지 않은 데이터 심벌들을 요청할 수 있으며), 이 요청은 NACK 메시지들을 통하여 송신기 또는 보수 서버로 전달되는데, 그 이유는 충분한 데이터 심벌들을 수신하고 다운로드된 콘텐츠를 재구성할 수 있기 위한 것이다. 상기 NACK 메시지에서, 상기 수신기들에 의하여 요청된 상기 보수 데이터 심벌은 충분히 식별되어야 하고, 따라서 보수 서버가 어떤 데이터 심벌들이 송신 또는 재송신 되어야 하는지를 결정할 수 있어야 한다.
수신기가 보수 세션을 수행하도록 스케줄링 되면, 때, PtP 세션, 예를 들면 HTTP 세션이 수신기 및 보수 서버 간에 설립되고, 이를 통하여 요청된 보수 데이터 심벌들이 수신기로 송신된다.
비록 데이터 심벌들이, 사용자 데이터그램 프로토콜(UDP)과 같은 비신뢰 프로토콜(unreliable protocol)에 기반한 PtM 세션에서 송신되고, 보수 데이터 심벌들이 예를 들어 전송 제어 프로토콜(TCP)과 같은 신뢰 프로토콜에 기반한 PtP 세션에서 송신되지만, 보수 데이터 심벌들에는 데이터 심벌들과 동일한 헤더 정보가 현재 제공된다. 이러한 헤더 정보는 다음과 같다:
- 디폴트 계층적 코딩 전송(Layered Coding Transport) 헤더,
- LCT 헤더 확장자 섹션, 및
- FEC 페이로드 ID 섹션.
LCT 헤더는 다음과 같다:
- 플래그들의 열(array)을 포함하는 제1 섹션, LCT 헤더 길이 필드 및 FEC 인코딩 ID를 시그널링하기 위한 코드 포인트 필드
- 혼잡도 제어 정보(Congestion Control Information, CCI),
- 전송 세션 식별자(Transport Session Identifier, TSI),
- 전송 객체 식별자(TOI, Transport Object Identifier, TOI),
- 전송자 현재 시간(Sender Current Time, SCT), 및
- 기대 잔여 시간(Expected Residual Time, ERT).
그러나, 보수 데이터 심벌들은 가장 효율적인 방법으로 전송됨으로써, 수신기가 쉽게 보수 데이터 심벌을 식별하고 멀티캐스트/방송 PtM 세션 동안 부분적으로 다운로드 되었던 파일(들)의 디코딩을 종료하도록 하여야 한다. 보수 데이터 심벌들의 송신 동안에 발생되는 오버헤드는 일반적으로 이미 전송된 데이터 심벌들의 재송신을 나타내는데, 이들은 따라서 작게 유지됨으로써 수신기 동작을 단순하게 유지하면서 PtP 응답 시간을 감소시키도록 하여야 한다.
그러므로, 점-대-다중점과 점-대-점 세션 모두에서 데이터 심벌을 전송하기 위한 더욱 효율적인 방법, 시스템, 송신기, 네트워크 요소, 수신기, 및 데이터 심벌의 송신을 위한 시스템 내의 소프트웨어 어플리케이션에 대한 필요성이 존재한다.
본 발명에 따르면 데이터 심벌을 송신하기 방법이 제안되면, 이 방법은 하나 또는 그 이상의 데이터 심벌들을 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기들로 송신하는 단계로서, 상기 데이터 심벌들에는 제1 파일 전달 프로토콜에 따르는 제1-타입 헤더가 제공되는 단계; 및 하나 또는 그 이상의 보수 데이터 심벌(repair data symbol)을 보수 서버로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신하는 단계로서, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 단계를 포함한다.
상기 시스템은 데이터 심벌들이 적어도 하나의 송신기로부터 적어도 하나의 수신기로 송신되는 모든 무선 또는 유선 시스템을 나타낼 수 있다. 상기 점-대-다중점 송신은 모든 수신기들이 상기 송신기에 의하여 어드레싱되는 브로드캐스트 송신이거나, 모든 수신기들 중 어느 서브-그룹만이 상기 송신기에 의하여 어드레싱되는 멀티캐스트 송신 중 어느 하나일 수 있다. 예를 들어, 상기 시스템은 UMTS, LAN, WLAN, DVB-T, DVB-S의 콘텍스트 내에 구현될 수 있으며, 예를 들어 멀티미디어 파일들과 같은 콘텐츠를 복수 개의 수신기들에게 배포하도록 의도될 수 있다. 상기 하나 또는 그 이상의 데이터 심벌들의 상기 송신 단계는 단방향 또는 양방향 송신 링크에서 수행될 수 있다.
예를 들면, 송신된 상기 데이터 심벌들은 상기 수신기들로 전달된 콘텐츠에 관련될 수 있다. 이러한 콘텐츠는 세그먼트화되고 처리되어 상기 수신기들로의 송신을 허용할 수 있으며, 반면에 상기 데이터 심벌들은 이러한 세그먼트화 및 처리의 결과로서 이해될 수 있다. 예를 들어, 하나의 데이터 심벌은 전송 객체(예를 들어 멀티미디어 파일) 또는 전송 객체의 일부의 FEC 인코딩에 의하여 획득되는 하나 또는 그 이상의 인코딩 심벌(예를 들어, 인코딩 패킷)을 나타낼 수 있다. 여기서, 각 데이터 심벌은 오직 하나의 정보-전달 유닛을 나타낼 수 있으며, 예를 들어 한 이진 디지트(비트)를 나타내거나 또는 복수 개의 정보-전달 유닛을 나타낼 수 있다.
상기 데이터 심벌은 소정의 파일 전달 프로토콜, 예를 들면 플루트(FLUTE) 프로토콜에 따르는 제1-타입 헤더들을 포함한다. 상기 포함하는 동작은 예를 들면 상기 헤더를 상기 데이터 심벌에 추가하거나 상기 제1-타입 헤더 및 상기 데이터 심벌 간의 관련성을 생성하는 다른 기술들에 의하여 수행될 수 있다. 상기 제1-타입 헤더 데이터 심벌들 및 이들에 관련된 데이터 심벌들은 예를 들면 플루트(FLUTE) 패킷을 형성할 수 있다. 제1-타입 헤더들은 예를 들면 상기 송신기 및 상기 수신기 간의 프로토콜 엔티티들 간의 상기 데이터 심벌의 논리적 전달(logical transfer)에 관련되는 정보를 포함할 수 있다.
특정 수신기라고 표시되는 상기 수신기들 중 적어도 하나의 수신기에서, 보수 데이터 심벌들의 수신이 이루어져야 하는데, 그 이유는 송신된 데이터 심벌의 부정확한 수신 또는 분실 등과 같은 여러 가지 이유에 기인한다. 상기 특정 수신기는 상기 데이터 심벌의 송신이 이루어지는 동안에 또는 상기 데이터 심벌의 송신 동작이 완료된 이후에 보수 데이터 심벌을 수신할 필요성이 있다는 것을 인식할 수 있다.
상기 보수 데이터 심벌들은 예를 들면 상기 특정 수신기에 의하여 수신되지 못했던 송신된 데이터 심벌들의 단순한 복제본일 수 있다. 또한, 이들은 인코딩 및 실제 콘텐츠 모두에 대하여 상이할 수도 있다. 보수 데이터 심벌들은 상기 특정 수신기에 의하여 요청된 정보의 양에 대하여 상기 특정 수신기에게 제공하려는 목적을 수행한다.
상기 보수 서버로부터의 보수 데이터 심벌들의 송신을 개시하기 위하여, 상기 특정 수신기는 보수 요청 메시지 내에서 상기 보수 서버로 보수 데이터 정보를 시그널링할 수 있다. 이러한 동작은 점-대-점 전송에서 수행될 수 있다. 그러므로, 보수 서버는 적합한 보수 데이터 심벌들을 생성하고 이들은 특정 수신기로 송신할 수 있다. 이와 같은 보수 데이터 심벌들의 전달은 점-대-점 보수 세션에서 수행된다.
상기 보수 데이터 심벌들에는 상기 동일한 파일 전달 프로토콜에 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공될 수 있다. 그러므로, 상기 제2-타입 데이터 심벌들은 예를 들어 상기 파일 전달 프로토콜을 완전하게 따를 수 있으며, 따라서 적어도 두개의 상이한 데이터 심벌 헤더들의 타입들을 정의하도록 요청될 수 있다. 또한, 상기 제2-타입 헤더들은 상기 파일 전달 프로토콜에 의하여 정의된 하나 또는 그 이상의 데이터 심벌 헤더들의 수정본(modification)을 나타낼 수 있으며, 여기서 상기 수정 동작은 상기 제1-타입 헤더의 파라미터들의 모든 형태의 추가, 제거, 또는 변경은 물론 수 개의 수정될 수 있는 제1-타입 헤더들의 병합 동작을 포함할 수 있다. 바람직하게는, 상기 수정본은, 상기 제1-타입 헤더의 적어도 하나의 파라미터를 제거함으로써 상기 제1-타입 헤더의 축소본(reduction)을 포함할 수 있다. 상기 제공 동작은 예를 들어 제2-타입 헤더를 보수 데이터 심벌로 추가함으로써, 또는 상기 보수 데이터 심벌을 상기 제2-타입 헤더들과 관련시키는 모든 다른 기술들에 의하여 수행될 수 있다. 예를 들어, 수 개의 상이한 데이터 심벌들이 병합되어 하나의 HTTP 패킷을 형성할 수 있으며, 하나의 제2-타입 헤더가 또한 상기 HTTP 패킷에 추가될 수 있고, 여기서 상기 제2-타입 헤더는 상기 HTTP 패킷 내의 모든 보수 데이터 심벌에 대하여 유효한 정보를 포함한다.
그러므로, 본 발명은 일 면에 있어서 데이터 심벌의 전달을 위하여 상이한 타입의 헤더들을 사용할 것과, 다른 면에서 보수 데이터 심벌을 이용할 것을 제안한다. 이러한 제안은, 데이터 심벌들이 비신뢰 프로토콜(UDP와 같은 프로토콜)에 기반한 점-대-다중점 송신 세션에서 송신되는 반면에, 보수 데이터 심벌들은 신뢰성 프로토콜(예를 들어, TCP와 같은 프로토콜)에 기반한 점-대-점 보수 세션에서 송신됨으로써, 데이터 심벌들을 위하여 이용되는 제1-타입 헤더를 구성하는 파라미터들 중 적어도 일부가 보수 데이터 심벌들을 위하여 이용되는 제2-타입 데이터 심벌 헤더들 내에 포함되지 않도록 하는 사실을 설명한다. 본 발명에 따른 이러한 접근법은 현저히 감소된 오버헤드를 가지고 보수 데이터 심벌을 더욱 효율적으로 전송할 수 있도록 허용한다. 제2-타입 헤더들이 적어도 일부에 있어서 상기 파일 전송 프로토콜을 따르기 때문에, 보수 서버의 프로토콜 인스턴스 및 수신기의 프로토콜 인스턴스 모두 및 이에 상응하는 구현예들에 아무런 변화를 가할 필요가 없거나, 사소한 변화만을 가하면 족하다.
본 발명에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함할 수 있으며, 상기 파라미터는 점-대-다중점 송신에 관련된다. 예를 들어, 상기 파일 전송 파라미터는 혼잡도 제어 정보(Congestion Control Information, CCI), 전송자 현재 시간(Sender Current Time, SCT), 기대 잔여 시간(Expected Residual Time, ERT). 및 몇 가지 경우에는 전송 세션 식별자(Transport Session Identifier, TSI)를 포함할 수 있다.
본 발명에 따르면, 상기 점-대-다중점 송신 세션에서, 상기 파일 전달 프로토콜은 사용자 데이터그램 프로토콜(User Datagram Protocol)의 서비스들을 이용하는 것을 특징으로 한다.
본 발명에 따르면, 상기 점-대-점 보수 세션에서, 상기 파일 전달 프로토콜은 전송 제어 프로토콜(Transport Control Protocol)의 서비스들을 이용하는 것을 특징으로 한다.
본 발명에 따르면, 상기 점-대-점 보수 세션에서, 상기 파일 전달 프로토콜은 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol)의 서비스들을 이용하는 것을 특징으로 한다. 이러한 프로토콜은 또한 전송 제어 프로토콜(TCP)의 서비스를 이용할 수 있다.
본 발명에 따르면, 상기 파일 전달 프로토콜은 단방향 송신 상의 파일 전달(FLUTE, File Delivery over Unidirectional Transport) 프로토콜일 수 있으며, 상기 데이터 심벌 및 상기 보수 데이터 심벌은 플루트(FLUTE) 인코딩 심벌들을 나타내는 것을 특징으로 한다. 상기 플루트(FLUTE) 인코딩 심벌들은 예를 들면 상기 점-대-다중점 송신 세션에서 상기 하나 또는 그 이상의 수신기들로 전달되어야 하는 전송 객체의 일부의 순방향 에러 정정 인코딩에 의하여 획득될 수 있다. 각 데이터 심벌들은 예를 들면 하나 또는 수 개의 인코딩 심벌들을 나타낼 수 있다.
본 발명에 따르면, 상기 플루트(FLUTE) 프로토콜은 하이퍼텍스트 전송 프로토콜(HTTP)의 서비스들을 이용할 수 있으며, 상기 HTTP는 상기 보수 서버 및 상기 특정 수신기 간에 HTTP 패킷들을 전달하는 것을 특징으로 한다. 이러한 목적을 달성하기 위하여, 상기 데이터 심벌들 및 그들의 관련된 하나 또는 그 이상의 제2-타입 헤더들은 통합되어 페이로드로서 상기 HTTP 패킷에 통합될 수 있다.
본 발명의 제1 실시예에 따르면, 하나의 플루트(FLUTE) 인코딩 심벌 및 하나의 관련된 제2-타입 헤더의 조합은 압축된 플루트(FLUTE) 패킷을 형성하고, 상기 HTTP 패킷들 중 적어도 하나가 HTTP 패킷 헤더 및 하나 또는 그 이상의 상기 압축된 플루트(FLUTE) 패킷들을 포함하는 것을 특징으로 한다.
본 발명의 제1 실시예에 따르면, 상기 압축된 플루트(FLUTE) 패킷들의 상기 제2-타입 헤더는 적어도 계층적 코딩 전송(Layered Coding Transport) 헤더의 일부, 상기 압축된 플루트(FLUTE) 패킷 내의 상기 플루트(FLUTE) 인코딩 심벌의 식별자, 및 상기 플루트(FLUTE) 인코딩 심벌의 크기를 포함하는 것을 특징으로 한다. 상기 계층적 코딩 전송 헤더는 플루트(FLUTE) 프로토콜 계층이 그 상위에 존재하는 계층적 코딩 전송 빌딩 블록으로부터 파생될 수 있다. 상기 플루트(FLUTE) 인코딩 심벌의 상기 식별자는 예를 들어 소스 블록 번호(SBN, Source Block Number) 및 상기 플루트(FLUTE) 인코딩 심벌에 상응하는 인코딩 심벌 식별자(ESI, Encoding Symbol Identifier)를 제공하는 FEC 페이로드 ID일 수 있다.
본 발명의 제2 실시예에 따르면, 상기 적어도 하나의 HTTP 패킷은 다중부분(multipart) 다중목적 인터넷 메일 확장(MIME, Multipurpose Internet Mail Extensions) 구조를 가지며, 상기 압축된 플루트(FLUTE) 패킷들은 MIME 경계에 의하여 상기 HTTP 패킷 헤더로부터 및 상호간에 분리되는 것을 특징으로 한다. 그러면, 상기 MIME 경계를 이용한 상기 분리를 통하여 상기 제2-타입 헤더들 내의 인코딩 심벌 크기를 위한 파라미터를 생략할 수 있다.
본 발명의 제2 실시예에 따르면, 상기 압축된 플루트(FLUTE) 패킷들의 상기 제2-타입 헤더는 적어도 계층적 코딩 전송(Layered Coding Transport) 헤더의 일부 및 상기 압축된 플루트(FLUTE) 패킷 내의 상기 플루트(FLUTE) 인코딩 심벌의 식별자를 포함하는 것을 특징으로 한다.
본 발명의 제3 실시예에 따르면, 상기 HTTP 패킷들 중 적어도 하나는, HTTP 패킷 헤더, 적어도 두 개의 플루트(FLUTE) 인코딩 심벌 및 관련된 개별 식별자들을 포함하는 하나 또는 그 이상의 블록들, 및 상기 블록들 각각에 대한 하나의 개별 제2-타입 헤더를 포함하며, 각각의 개별 제2-타입 헤더는 개별 블록의 모든 플루트(FLUTE) 인코딩 심벌에 대하여 유효한 것을 특징으로 한다. 플루트(FLUTE) 인코딩 심벌을 블록 내로 조합시킴으로써, 플루트(FLUTE) 인코딩 심벌 각각에 대해 하나의 제2-타입 헤더를 제공할 필요가 없이, 각 블록에 대해 오직 하나의 제2-타입 헤더를 이용할 수 있도록 허용한다. 하나의 블록으로 조합된 상기 플루트(FLUTE) 인코딩 심벌은 바람직하게는 동일한 특징, 예를 들어 동일한 크기, 동일한 TOI 및 동일한 TSI를 가지는 것이 바람직하며, 그러면 각 플루트(FLUTE) 인코딩 심벌에 대해 상이한 특징들은 플루트(FLUTE) 인코딩 심벌들의 상기 블록 내로 통합될 수 있다.
본 발명의 제3 실시예에 따르면, 상기 적어도 하나의 HTTP 패킷은 MIME 구조를 가지고, 상기 HTTP 패킷 헤더, 상기 블록들, 및 상기 제2-타입 헤더들은 MIME 경계에 의하여 상호 분리되는 것을 특징으로 한다. 그러면, 플루트(FLUTE) 인코딩 심벌들의 블록의 크기를 명확하게 송신할 필요성이 없다.
본 발명의 제3 실시예에 따르면, 상기 개별 제2-타입 헤더는 계층적 코딩 전송(Layered Coding Transport) 헤더의 일부 및 상기 개별 블록 내의 상기 플루트(FLUTE) 인코딩 심벌의 크기를 포함하는 것을 특징으로 한다.
본 발명의 제3 실시예에 따르면, 상기 블록들 중 적어도 하나는 플루트(FLUTE) 인코딩 심벌, 관련된 개별 식별자, 개별 계층적 코딩 전송(Layered Coding Transport) 헤더 길이, 및 적어도 하나의 계층적 코딩 전송 헤더 확장자(extension)를 포함하는 것을 특징으로 한다. 상기 LCT 헤더 확장자는 예를 들면 EXT_FTI 또는 EXT_FDT일 수 있다. 상기 개별 LCT 헤더 길이는 상기 LCT 헤더 확장자들 중 하나 또는 그 이상이 존재하는지 여부를 지시할 수 있다.
본 발명의 제4 실시예에 따르면, 상기 HTTP 패킷들 중 적어도 하나는 HTTP 패킷 헤더, 하나의 제2-타입 헤더, 및 적어도 두 개의 플루트(FLUTE) 인코딩 심벌들을 포함하는 하나 또는 그 이상의 블록들을 포함하는 것을 특징으로 한다. 그러면, 상기 HTTP 패킷 내에 포함되는 모든 플루트(FLUTE) 인코딩 심벌에 대하여 오직 하나의 제2-타입 헤더가 이용되고, 이것은 모든 상기 플루트(FLUTE) 인코딩 심벌들에 대한 모든 헤더 정보를 제공하는 인덱스 객체(index object)로서 동작한다. 그러면, 상기 제2-타입 헤더는 예를 들면 플루트(FLUTE) 인코딩 심벌들의 상기 블록들의 각각에 관련되는 서브-헤더들로 세그먼트화될 수 있다.
본 발명의 제4 실시예에 따르면, 상기 적어도 하나의 HTTP 패킷은 MIME 구조를 가지고, 상기 HTTP 패킷 헤더, 상기 하나의 제2-타입 헤더, 및 상기 하나 또는 그 이상의 블록들은 MIME 경계에 의하여 상호 분리되는 것을 특징으로 한다. 이를 통하여, 플루트(FLUTE) 인코딩 심벌의 블록의 크기를 명확하게 송신하는 동작을 생략할 수 있다.
본 발명의 제4 실시예에 따르면, 상기 제2-타입 헤더는 상기 HTTP 패킷 내의 개별 블록 각각에 대한 하나의 개별 서브-헤더를 포함하고, 상기 개별 서브-헤더들 각각은, 계층적 코딩 전송 헤더의 일부, 상기 개별 블록 내의 상기 플루트(FLUTE) 인코딩 심벌들의 크기, 상기 개별 블록 내의 플루트(FLUTE) 인코딩 심벌들의 개수, 및 상기 개별 블록 내의 개별 플루트(FLUTE) 인코딩 심벌에 대한 하나의 식별자를 포함하는 것을 특징으로 한다.
본 발명의 제4 실시예에 따르면, 상기 서브-헤더들 중 적어도 하나는, 상기 개별 블록 내의 각 플루트(FLUTE) 인코딩 심벌에 대한 하나의 계층적 코딩 전송 헤더 길이 및 상기 개별 블록 내의 상기 플루트(FLUTE) 인코딩 심벌들 중 적어도 하나에 대한 적어도 하나의 계층적 코딩 전송(LCT) 헤더 확장자를 포함하는 것을 특징으로 한다. 상기 LCT 헤더 확장자는 예를 들면 EXT_FDT 또는 EXT_FTI일 수 있다. 상기 개별 LCT 헤더 길이는 상기 LCT 헤더 확장자들 중 하나 또는 그 이상이 존재하는지 여부를 지시할 수 있다.
본 발명에 따르면, 상기 제2-타입 헤더는 상기 점-대-다중점 송신 세션의 식별자를 더욱 포함하는 것을 특징으로 한다. 상기 식별자는 예를 들면 전송 세션 식별자(TSI)일 수 있다. 그러나, 오직 하나의 송신 세션이 존재하거나 콘텍스트로부터 상기 플루트(FLUTE) 인코딩 심벌들이 어떤 송신 세션을 참조하는지가 암묵적으로 명확하다면, 상기 송신 세션의 상기 식별자는 필요하지 않을 수 있다.
본 발명에 따르면, 상기 제2-타입 헤더는 상기 플루트(FLUTE) 인코딩 심벌들이 관련된 전송 객체(transport object)의 식별자를 더욱 포함하는 것을 특징으로 한다. 이러한 식별자는 예를 들면 전송 객체 식별자(TOI)일 수 있다. 그러나, 오직 하나의 전송 객체 만이 한 전송 세션에서 송신된다면, 상기 식별자는 필요하지 않을 수 있다.
본 발명에 따르면, 상기 제2-타입 헤더는 계층적 코딩 전송 헤더 확장자를 더 포함하는 것을 특징으로 한다. 이러한 LCT 헤더 확장자는 예를 들면 EXT_FTI 또는 EXT_FDT일 수 있다.
본 발명에 따르면, 상기 계층적 코딩 전송 헤더의 상기 일부는, 계층적 코딩 전송 버전 번호, 혼잡도 제어(Congestion Control) 플래그, 예약 공간, 전송 세션 식별자(Transport Session Identifier) 플래그, 전송 객체 식별자(TOI, Transport Object Identifier) 플래그, 하프-워드(half-word) 플래그, 전송자 현재 시간(Sender Current Time) 플래그, 기대 잔여 시간(Expected Residual Time) 플래그, 세션 종료(Close Session) 플래그, 객체 종료(Close Object) 플래그, 계층적 코딩 전송 헤더 길이, 및 코드 포인트(Code Point)를 포함하는 것을 특징으로 한다. 상기 계층적 코딩 전송(LCT) 헤더의 상기 일부는 예를 들면 4바이트의 길이를 가질 수 있다.
또한, 본 발명에 따르면, 데이터 심벌을 송신하기 위한 시스템으로서, 송신기, 하나 또는 그 이상의 수신기, 및 보수 서버를 포함하고, 하나 또는 그 이상의 데이터 심벌들은 상기 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 상기 수신기로 송신되고, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되며, 하나 또는 그 이상의 보수 데이터 심벌(repair data symbol)이 상기 보수 서버로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신되고, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 시스템이 더욱 제안된다.
본 발명의 시스템에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고, 상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 한다.
또한, 데이터 심벌을 송신하기 위한 시스템 내의 송신기가 더욱 제안되는데, 본 발명에 따른 송신기는 하나 또는 그 이상의 데이터 심벌들을 상기 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신하도록 구현된 수단을 포함하고, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되며, 하나 또는 그 이상의 보수 데이터 심벌들이 보수 서버로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신되고, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 한다.
본 발명의 송신기에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고, 상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 한다.
또한, 데이터 심벌을 송신하기 위한 시스템 내의 네트워크 요소로서, 하나 또는 그 이상의 데이터 심벌들이 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신되고, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 상기 시스템 내의 네트워크 요소에 있어서, 하나 또는 그 이상의 보수 데이터 심벌들을 상기 네트워크 요소로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신하도록 구현된 수단을 포함하고, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 네트워크 요소가 더욱 제안된다. 상기 송신기 및 상기 네트워크 요소는 서로 관련되거나(co-located) 또는 심지어 동일할 수 있다. 상기 네트워크 요소는 예를 들면 보수 서버일 수 있다.
본 발명의 네트워크 요소에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고, 상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 한다.
또한, 데이터 심벌을 송신하기 위한 시스템 내의 네트워크 요소에서 실행될 수 있는 소프트웨어 어플리케이션으로서, 하나 또는 그 이상의 데이터 심벌들이 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신되고, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 상기 시스템 내의 네트워크 요소에서 실행될 수 있는 소프트웨어 어플리케이션에 있어서, 상기 네트워크 요소로 하여금 하나 또는 그 이상의 보수 데이터 심벌들을 상기 네트워크 요소로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신하도록 야기하기 위한 프로그램 코드를 포함하고, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 소프트웨어 어플리케이션이 더욱 제안된다.
상기 소프트웨어 어플리케이션은 컴퓨터 프로그램 생성물로서, 상기 네트워크 요소의 메모리와 같은 매체 상에 저장되는 프로그램 코드를 포함하는 컴퓨터 프로그램 생성물일 수도 있다.
본 발명의 소프트웨어 어플리케이션에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고, 상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 한다.
또한, 데이터 심벌을 송신하기 위한 시스템 내의 수신기에 있어서, 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신된 하나 또는 그 이상의 데이터 심벌들을 수신하도록 구현된 수단으로서, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 수단; 및 하나 또는 그 이상의 보수 데이터 심벌들을 점-대-점 보수 세션 내의 보수 서버로부터 수신하도록 구현된 수단으로서, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 수단을 포함하는 것을 특징으로 하는 수신기가 더욱 제안된다.
본 발명의 수신기에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고, 상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 한다.
또한, 데이터 심벌을 송신하기 위한 시스템 내의 수신기에서 실행될 수 있는 소프트웨어 어플리케이션에 있어서, 상기 수신기로 하여금 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신된 하나 또는 그 이상의 데이터 심벌들을 수신하도록 야기하기 위한 프로그램 코드로서, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 프로그램 코드; 및 상기 수신기로 하여금 하나 또는 그 이상의 보수 데이터 심벌들을 점-대-점 보수 세션 내의 보수 서버로부터 수신하도록 야기하기 위한 프로그램 코드로서, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 프로그램 코드를 포함하는 것을 특징으로 하는 소프트웨어 어플리케이션이 더욱 제안된다.
상기 소프트웨어 어플리케이션은 컴퓨터 프로그램 생성물로서, 상기 네트워크 요소의 메모리와 같은 매체 상에 저장되는 프로그램 코드를 포함하는 컴퓨터 프로그램 생성물일 수도 있다.
본 발명의 소프트웨어 어플리케이션에 따르면, 상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고, 상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 한다.
본 발명의 이러한 측면들 및 다른 측면들은 후술되는 실시예들을 참조하여 더욱 명확히 설명되고 명백하게 이해될 것이다.
첨부된 도면들은 다음과 같다.
도 1a는 본 발명에 따르는 점-대-다중점(PtM) 송신 세션 내의 데이터 심벌의 송신을 개념적으로 예시하는 도면이다.
도 1b는 본 발명에 따르는 점-대-점(PtP) 보수 세션 내의 보수 데이터 심벌에 대한 요청의 시그널링을 개념적으로 예시하는 도면이다.
도 1c는 본 발명에 따르는 점-대-점(PtP) 보수 세션 내의 보수 데이터 심벌들의 송신을 개념적으로 예시하는 도면이다.
도 2a는 본 발명에 따르는 점-대-다중점(PtM) 송신 세션에서 데이터 심벌의 송신에 사용되는 프로토콜 스택을 개념적으로 예시하는 도면이다.
도 2b는 본 발명에 따르는 점-대-점(PtP) 보수 세션에서 보수 데이터 심벌의 송신에 사용되는 프로토콜 스택을 개념적으로 예시하는 도면이다.
도 3a는 본 발명의 제1 실시예에 따르는 압축된 플루트(FLUTE) 패킷을 개념 적으로 예시하는 도면이다.
도 3b는 본 발명의 제1 실시예에 따라 압축된 플루트(FLUTE) 패킷들을 HTTP 패킷 내로 내장시키는 과정을 개념적으로 예시하는 도면이다.
도 4a는 본 발명의 제2 실시예에 따르는 압축된 플루트(FLUTE) 패킷을 개념적으로 예시하는 도면이다.
도 4b는 본 발명의 제2 실시예에 따라 압축된 플루트(FLUTE) 패킷들을 HTTP 패킷 내로 내장시키는 과정을 개념적으로 예시하는 도면이다.
도 5a는 본 발명의 제3 실시예에 따르는 HTTP 패킷을 개념적으로 예시하는 도면이다.
도 5b는 본 발명의 제3 실시예에 따르는 공통 플루트(FLUTE) 헤더를 개념적으로 예시하는 도면이다.
도 5c는 본 발명의 제3 실시예에 따르는 인코딩 심벌들의 블록을 개념적으로 예시하는 도면이다.
도 5d는 본 발명의 제3 실시예에 따라 계층적 코딩 전송(LCT) 헤더 확장자가 이용되는 경우의 인코딩 심벌들의 대안적인 블록을 개념적으로 예시하는 도면이다.
도 6a는 본 발명의 제4 실시예에 따르는 HTTP 패킷을 개념적으로 예시하는 도면이다.
도 6b는 본 발명의 제4 실시예에 따르는 인덱스 객체 헤더(index object header)를 개념적으로 예시하는 도면이다.
도 6c는 본 발명의 제4 실시예에 따르는 인코딩 심벌의 블록을 개념적으로 예시하는 도면이다.
도 7은 본 발명에 따르는 방법을 예시적으로 나타내는 흐름도이다.
우선, 본 특허 명세서의 개요 부분의 주요 내용(subject-matter)들이 상세한 설명을 지원하기 위하여 이용될 수 있다는 점에 주의하여야 한다.
본 발명은 그 일 면에 있어서 한 송신기로부터 복수 개의 수신기로 데이터 심벌들을 송신하는 PtM 송신을 위하여, 또한 다른 면에 있어서 하나의 보수 서버로부터 상기 수신기들 중 하나로 보수 데이터 심벌의 PtP 송신을 위하여 두 개의 상이한 헤더 타입을 이용하기를 제안한다. 이것은, 데이터 심벌들의 송신은 비신뢰 프로토콜(예를 들어 UDP와 같은 프로토콜)에 기반하여 수행되기 때문에 보수 데이터 심벌들의 송신에 비하여 더 많은 도 정보를 요청한다는 사실을 설명하는데, 보수 데이터 심벌들은 TCP와 같은 더 신뢰할 수 있는 프로토콜들에 기반하여 송신된다.
본 발명에 대한 이러한 상세한 설명에서, 점-대-다중점(PtM) 송신의 경우에 플루트(FLUTE)/UDP 가 이용되고 점-대-점(PtP) 송신의 경우에 HTTP/TCP가 이용되는 경우를 빈번하게 참조하게 된다. 이러한 선택은 오직 예시적인 목적으로 이루어진 것이며 본 발명은, 우선 특정 프로토콜에 따르고 점-대-다중점(PtM) 송신 시나리오로 데이터 심벌들이 송신되고, 그 이후에 데이터 심벌들이 점-대-점(PtP) 송신 시나리오로 재송신 되어야 하고 적어도 일부에서 상기 프로토콜에 따라야 하는 유사한 시나리오에도 동일하게 적용될 수 있다는 점이 이해되어야 한다.
도 1a는 데이터 심벌이 송신기(1)로부터 복수의 수신기(3-1,...,3-3)로 전송되는 점-대-다중점(PtM) 세션을 예시한다. 송신기는 예를 들어 인터넷과 같은 네트워크(2)에 접속되고, 따라서 브로드캐스트 또는 멀티캐스트 세션에서 상기 복수 개의 수신기들로 분산되어야 하는 콘텐츠에 접근할 수 있는데, 예를 들어, 이러한 과정은 3GPP MBMS 시스템의 범위 내에서 이루어진다. 이러한 목적을 달성하기 위하여, 송신기는 프로세서(10), 메모리(11), 및 송신/수신(Tx/Rx) 인스턴스(instance)를 포함한다. 콘텐츠는 네트워크(2)로부터 프로세서(10)의 제어 하여 수집되고, 메모리(11) 내에 잠시 저장될 수 있으며, 그리고 수신기(3-1,...,3-3)들의 송신/수신 인스턴스(32)로 송신/수신 인스턴스(12)를 통하여 송신되기 위하여 코딩 및 변조된다. 상기 프로세서(10)는 ISO/OSI 프로토콜 스택의 모든 계층들의 기능성을 구현하는 것으로 이해되며, 특히 콘텐츠를 플루트(FLUTE) 헤더와 함께 플루트(FLUTE) 패킷을 구성하는 플루트(FLUTE) 인코딩 심벌로 인코딩하는 기능 및 상기 프로세서(10)에 의하여 수행되는 이러한 플루트(FLUTE) 헤더들의 생성 기능을 구현하는 것으로 이해된다.
상기 수신기(3-1,...,3-3)들에서, 하나의 특정 수신기(3-1)가 더 자세하게 도시되는데, 여기서 플루트(FLUTE) 패킷들은 송신/수신 인스턴스(32)를 통하여 수신되고, 프로세서(30)에 의하여 복조 및 디코딩되고, 상기 수신기 또는 부착된 장치에서 동작하는 모든 타입의 어플리케이션을 위한 입력으로서 메모리(31) 내에 저장된다.
도 1b는 플루트(FLUTE) 패킷들이 상기 특정 수신기(3-1)에 정확하게 수신되 지 않거나, 충분히 많은 플루트(FLUTE) 패들이 상기 수신기(3-1)에 수신되지 않음으로써, 상기 특정 수신기(3-1)로 하여금 상기 송신기(1)에 의하여 배포된 완전한 콘텐츠를 재구성하도록 허용하는 보수 데이터 심벌들의 송신이 필요한 상황을 예시한다. 이러한 목적을 달성하기 위하여, 보수 요청 메시지(repair request message)가 수신기(3-1)로부터 보수 서버(4)로 전송되고, 보수 서버(4)는 송신기(1)와 유사하게 셋업되거나 심지어 송신기(1)와 동일할 수 있다. 상기 보수 요청 메시지의 송신 동작은 예를 들면 HTTP 세션에서 발생될 수 있다. 그러면, 상기 보수 서버(4)는 상기 보수 요청 메시지를 처리하고, 이것은 상기 특정 수신기(3-1)에 의하여 요청된 플루트(FLUTE) 패킷들에 관련된 정보를 포함한다.
도 1c는 보수 서버(4)의 이러한 처리 동작의 결과를 예시한다. 보수 서버(4)가 특정 수신기(3-1)로 전송되어야 하는 플루트(FLUTE) 인코딩 심벌을 보수 응답(repair) 내의 보수 데이터 심벌로서 결정하면, 보수 서버(4)는 이러한 보수 데이터 심벌들을 생성하기 위하여 필요한 정보를 네트워크(2)로부터 페치하는데, 예를 들어 전송 객체 또는 요청된 플루트(FLUTE) 인코딩 심벌들이 관련된 전송 객체의 일부를 페치한다. 이러한 전송 객체에 기반하여, 보수 데이터 심벌들(플루트(FLUTE) 인코딩 심벌들)은 프로세서(40)에 의하여 생성되고, 보수 데이터 심벌들에는 압축된 플루트(FLUTE) 패킷을 획득하기 위한 압축된 플루트(FLUTE) 헤더가 제공되며, 이것은 보수 응답 메시지 내에서 특정 수신기(3-1)로 송신된다.
본 발명에 따르면, 보수 서버(4)는 따라서 플루트(FLUTE) 패킷 내의 데이터 심벌들에 대하여 이용되는 플루트(FLUTE) 헤더에 비견되는 보수 데이터 심벌들을 위한 압축된 플루트(FLUTE) 헤더를 이용하는데, 다시 말하면 압축된 플루트(FLUTE) 헤더는 상기 플루트(FLUTE) 헤더에 비하여 더 적은 파라미터들 또는 정보를 포함한다. 예를 들어, 점-대-다중점(PtM) 송신에 특이하고 점-대-점(PtP) 송신에는 필요 없는 모든 파라미터들은 상기 압축된 플루트(FLUTE) 헤더 내에는 생략될 수 있다. 또한, 수 개의 플루트(FLUTE) 인코딩 심벌들이 동일한 압축 플루트(FLUTE) 헤더를 공유하는 것도 가능하다.
도 2a는 플루트(FLUTE) 인코딩 심벌들(플루트(FLUTE) 패킷에 포함된 상태의 심벌들)을 송신기(1)의 플루트(FLUTE) 프로토콜 엔티티로부터 수신기(3-1,...,3-3)의 짝을 이루는(peer) 플루트(FLUTE) 프로토콜 엔티티들로 점-대-다중점(PtM) 송신하는데 이용되는 프로토콜 스택을 개념적으로 예시한다. 플루트(FLUTE) 패킷을 전달하기 위하여, 플루트(FLUTE) 계층(51)은 UDP 계층(53)의 서비스들을 이용하며, UDP 계층(53)은 다시 인터넷 프로토콜(IP) 계층(53)의 서비스들을 이용한다. 그러면, IP 패킷의 실제 전달 동작은 프로토콜 스택의 하위 계층들(54)을 이용하여 달성된다. 여기서, 플루트(FLUTE) 프로토콜에 상응하는 플루트(FLUTE) 헤더가 이용된다.
도 2b는 플루트(FLUTE) 인코딩 심벌들(압축된 플루트(FLUTE) 패킷에 포함된 상태의 심벌들)을 보수 서버(4)의 플루트(FLUTE) 프로토콜 엔티티로부터 특정 수신기(3-1)의 짝을 이루는(peer) 플루트(FLUTE) 프로토콜 엔티티들로 점-대-점(PtP) 송신하는데 이용되는 프로토콜 스택을 개념적으로 예시한다. 도 2b에 도시된 경우에, 압축된 플루트(FLUTE) 헤더가 이용된다. 도 2a의 프로토콜 스택과 반대로, 플 루트(FLUTE) 프로토콜 계층(51)은 이제 하위의 HTTP 계층(55)의 점-대-점(PtP) 송신 서비스를 이용하고, HTTP 계층(55)은 TCP 계층(56)의 상부에 위치한다. 이러한 목적을 달성하기 위하여, 압축된 플루트(FLUTE) 패킷들은 HTTP 패킷들 내로 내장되고, HTTP 패킷들은 그러면 보수 서버(4) 및 특정 수신기(3-1)의 짝을 이루는 HTTP 엔티티들 간에 전달된다. 이러한 전달을 수행하기 위하여, HTTP/TCP는 하위의 IP 계층(53)의 서비스들을 이용한다. 도 2a와 유사하게, 그러면 IP 패킷들이 하위 계층들(54)에 의하여 전달된다.
발명의 제1 실시예
도 3은 본 발명의 제1 실시예에 따르는 압축된 플루트(FLUTE) 패킷(8)을 예시하는 도면이다. 이러한 압축된 플루트(FLUTE) 패킷(8)은 압축된 플루트(FLUTE) 헤더(6) 및 하나의 인코딩 심벌(7)을 페이로드로서 포함한다.
이러한 점-대-점(PtP) 보수 세션에는 점-대-다중점(PtM) 송신에서 이용되는 플루트(FLUTE) 패킷들 내의 특정 필드들이 더 이상 필요하지 않은데, 그 이유는 보수 응답이 비신뢰 UDP 링크 상에서 전달되는 점-대-다중점(PtM) 세션 내의 플루트(FLUTE) 패킷들과 달리 신뢰성 TCP 링크를 통하여 전달되기 때문이다. 그러므로, 본 발명은 플루트(FLUTE) 패킷을 조각내어(tear down) 보수 세션에 이용되는 점-대-점(PtP) 응답 페이로드 포맷 내에는 오직 필수적인 필드들만이 포함되도록 하는 최소치(bare minimum)를 만든다.
도 3a에 도시된 압축된 플루트(FLUTE) 헤는 디폴트 계층적 코딩 전송(LCT) 헤더(61)의 최초 4 개의 바이트들을 포함한다. 상응하는 필드들 6100-6111 및 이 들의 의미는 동일하게 유지된다. TSI 플래그(6103), TOI 플래그(6104), 및 하프-워드 플래그(6105) 필드들은 TSI 필드(62) 및 TOI 필드(63)의 크기에 대한 정보를 제공한다. 코드 포인트(Code Point 필드(6111)는 플루트(FLUTE) 프로토콜에 의하여 특정된 바와 같은 FEC 인코딩 ID를 시그널링하는데 이용된다. 혼잡도 제어(Congestion Control) 플래그(6101), 전송자 현재 시간(Sender Current Time) 플래그(6106), 기대 잔여 시간(Expected Residual Time) 플래그(6107), 세션 종료(Close Session) 플래그(6108), 및 객체 종료(Close Object) 플래그(6109)와 같은 플래그들은 점-대-점(PtP) 응답 내에 전송되지 않을 수 있는데, 그 이유는 이들은 신뢰성 점-대-점(PtP) 연결을 통하여 전송될 때에는 유용하지 않기 때문이다. 콘텐츠 및 계층적 코딩 전송(LCT) 헤더 섹션(61)의 필드들의 비트 단위의 크기는 다음과 같이 요약될 수 있다.
V = 계층적 코딩 전송(LCT) 버전 번호 (4비트)
C = 혼잡도 제어(Congestion Control) 플래그 (2비트)
R = 예약 공간 (2비트)
S = 전송 세션 식별자(Transport Session Identifier) 플래그 (1비트)
O = 전송 객체 식별자(TOI, Transport Object Identifier) 플래그 (2비트)
H = 하프-워드(half-word) 플래그 (1비트)
T = 전송자 현재 시간(Sender Current Time) 플래그 (1비트)
R = 기대 잔여 시간(Expected Residual Time) 플래그 (1비트)
A = 세션 종료(Close Session) 플래그 (1비트)
B = 객체 종료(Close Object) 플래그 (1비트)
HDR_LEN = 계층적 코딩 전송 헤더 길이 (8비트)
CP = 코드 포인트(Code Point) (8비트)
압축된 플루트(FLUTE) 헤더(6)의 TSI 필드(62)는 0, 16, 32, 또는 48 비트의 크기를 가질 수 있다. TSI는 세션을 식별하는데 필요하다. 특정 수신기는 점-대-점(PtP) 보수 세션 이전에 동일한 송신기로부터의 하나 이상의 플루트(FLUTE) 다운로드 세션에 참가하였을 수 있다. 그러므로, 특정 수신기는 자신이 점-대-점(PtP) 보수 요청 메시지에서 해당 점-대-점(PtP) 보수를 요청하는 세션을 특정하여야 한다. 보수 서버는 TSI를 점-대-점(PtP) 보수 응답 내에 전송함으로써, 특정 수신기가 해당 보수 데이터 심벌이 속하는 세션을 식별할 수 있도록 한다. 송신기의 주소 및 TSI가 해당 세션을 고유하게 식별한다.
압축된 플루트(FLUTE) 헤더(6)의 TOI 필드(63)는 0, 16, 32, 48, 64, 80, 96, 또는 112 비트의 크기를 가질 수 있다. TOI는 해당 세션 내의 전송 객체를 식별하는데 필요하다. 플루트(FLUTE) 다운로드는 단일 세션 내에 하나 또는 그 이상의 전송 객체(파일)를 포함할 수 있다. 예를 들어, 동일한 플루트(FLUTE) 세션 내에서 오디오 파일 및 비디오 파일이 다운로드 되었을 수 있다. 특정 수신기는 자신이 점-대-점(PtP) 보수를 요청한 전송 객체를 특정하여야 한다. (TOI, TSI) 쌍이 해당 전송 객체를 고유하게 식별한다.
압축된 플루트(FLUTE) 헤더(6)의 FEC 페이로드 ID(64)는 FEC 인코딩 ID에 의존한다. FEC 인코딩 ID 및 FEC 페이로드 ID 간의 매핑은 공개 문헌 RFC 3452 "Forward Error Correction Building Block" 및 공개 문헌 RFC 3695 "Compact Forward Error Correction (FEC) Schemes" 으로서, IETF에 의한 문헌들 및 가장 최근의 IETF 인터넷 드래프트 문서인 "Simple Forward Error Correction Schemes", M. Luby 저, Digital Fountain, 2004년 6월 7일(http://www.ietf.org/mail- archive/web/rmt/current/msg00312.html 에서 구할 수 있다)에 정의된 바와 동일하다. 예를 들면, RFC 3695 (MBMS 플루트(FLUTE)에 의하여 채택됨)에 따르면, FEC Encoding ID = 0에 대하여(No-Code FEC), FEC 페이로드 ID는 다음을 포함한다.
SBN = 소스 블록 개수 (2바이트)
ESI = 인코딩 심벌 ID (2바이트).
압축된 플루트(FLUTE) 헤더(6)의 인코딩 심벌 크기 필드(65)는 2바이트의 크기를 가지며 페이로드로서 압축된 플루트(FLUTE) 패킷(8) 내에 포함된 인코딩 심벌(7)의 크기를 포함한다.
명백하게, 본 발명의 제1 실시예에 따른 압축된 플루트(FLUTE) 헤더(6)는 더 이상 혼잡도 제어 정보(Congestion Control Information, CCI), 전송자 현재 시간(Sender Current Time, SCT), 및 기대 잔여 시간(Expected Residual Time, ERT)을 포함하지 않는데, 이러한 사실은 이러한 파라미터들이 플루트(FLUTE)/UDP 점-대-다중점(PtM) 송신을 위하여 이용되는 플루트(FLUTE) 헤더 내에 존재하여도 그러하다. 이러한 파라미터들은 비신뢰 전송 및 방대한 스케일 가능성(scalability)을 지원하며, 따라서 플루트(FLUTE)/HTTP 점-대-점(PtP) 송신을 위하여 이용되는 압축된 플루트(FLUTE) 헤더(6) 내에 포함될 필요가 없다.
도 3a에 제공된 압축된 플루트(FLUTE) 헤더(6)의 정보는 특정 수신기(3-1)에서의 재구성을 위하여 필요한 기본 정보라고 간주될 수 있다. 본 발명의 다른 실시예들은 이러한 최소 정보에 여러 가지 다른 필드들을 추가할 수 있다. 그러나, 본 발명의 다른 실시예들은 도 3a에 도시된 압축된 플루트(FLUTE) 패킷(8)과 몇 가지 측면에서 상이할 수 있는 압축된 플루트(FLUTE) 패킷을 이용할 수도 있다. 예를 들면, 필드들이 콘텍스트로부터 유도될 수 있는 경우에는 모든 필드들이 존재할 필요가 없다. 예를 들어, TOI 필드(63)는, 오직 하나의 단일 객체(파일)가 플루트(FLUTE) 세션에서 유도되었다고 가정된다면 삭제될 수 있다. 본 발명의 가장 일반적인 실시예들에서, 특정 수신기는 하나 이상의 송신 세션을 참조하는 보수 데이터를 요청하지 않을 것이다. 이러한 경우에, TSI는 콘텍스트로부터 내재되고(implicit) 점-대-점(PtP) 보수 응답에서 전송되는 모든 패킷들에 대하여 동일하게 유지된다. 그러므로, TSI 필드는 압축된 플루트(FLUTE) 헤더들로부터 생략될 수 있다. 도 3에 제공된 압축된 플루트(FLUTE) 헤더(6)는 또한 다른 섹션들도 포함할 수 있는데, 예를 들면 EXT_FTI 및 EXT_FDT와 같은 계층적 코딩 전송(LCT) 헤더 확장자를 포함할 수 있다.
뿐만 아니라, 보수 서버(4)도 점-대-다중점(PtM) 세션의 송신기(1)의 IP 주소를 전송함으로써 세션이 콘텍스트로부터 파악될 수 없는 경우에 송신기의 IP 주소 및 TSI로부터 이러한 세션을 완전하게 식별할 수 있다.
도 3b는 도 3a의 복수 개의 압축된 플루트(FLUTE) 패킷들(8-1, ..., 8-M)을 HTTP 패킷(9) 내에 내장시키고, 그러면 그 결과가 보수 서버(4) 및 특정 수신기(3- 1)의 짝을 이루는 프로토콜 엔티티들 간에 HTTP /TCP에 의하여 전송되도록 하는 것을 도시한다. 여기서, HTTP 패킷(9)은 실험적인(experimental) 콘텐츠-타입인 ""x-flutePtP/compressedFlutePkt"을 더욱 포함하며, 이것은 HTTP 패킷(9)의 메시지 보디(message body)가 압축된 플루트(FLUTE) 패킷들(8-1, ..., 8-M)을 포함한다는 것을 나타낸다.
그러면, 보수 서버(4)로부터 특정 수신기(3-1)로 송신된 점-대-점(PtP) HTTP 응답은 다음과 같은 형식을 가진다.
HTTP/1.1 200 OK
Content-Type: x-flutePtP/compressedFlutePkt
Content-Length: TOTAL_LENGTH
Content-Transfer-Encoding: binary
Compressed FLUTE Packet - 1
Compressed FLUTE Packet - 2
...
...
Compressed FLUTE Packet - M
여기서, TOTAL_LENGTH는 모든 압축된 플루트(FLUTE) 패킷들의 크기이다.
본 발명의 제2 실시예
본 발명의 제1 실시예에 따르는 HTTP 패킷(9) 내에 포함되는 정보(도 3a 및 도 3b 참조)는 상이한 방식으로 압축 또는 재정렬될 수 있다.
예를 들어, 본 발명의 제2 실시예에 따르면, 다중부분(multipart)-MIME 구조가 압축된 플루트(FLUTE) 패킷들을 분리 및 전송하기 위하여 이용될 수 있다. 다중부분-MIME 구조에서, "경계 문자열(boundary strings)"이 구성 성분들을 분리한다. 그래서, 도 3a의 압축된 플루트(FLUTE) 헤더(6)의 인코딩 심벌 크기 필드(65)는 생략될 수 있으며, 그 결과로 도 4a에 따르는 압축된 플루트(FLUTE) 패킷(8') 내에 포함되는 압축된 플루트(FLUTE) 헤더(6')를 제공한다.
도 4b는 상응하는 HTTP 패킷(9')을 도시한다.
여기에서, HTTP 헤더 필드인 "콘텐츠-타입(Content-Type)"은 "multipart/mixed"로 설정된다. 다중부분의 1차 서브-타입인 "mixed"는 HTML 보디 부분이 독립적이고 특정 순서로 번들링(bundle)되어야 할 경우에 사용되기 위한 것으로 의도된다. 다른 관련 콘텐츠-타입들, 예를 들어 "multipart/parallel" 또는 "multipart/related"와 같은 콘텐츠-타입들 역시 이용될 수 있다. 특히, "multipart/parallel" 엔티티에서, 보디 부분들의 순서는 중요하지 않다. "multipart/related" 콘텐츠-타입은 관련된 MIME 보디 부분들의 집합체(aggregates)들인 객체들을 표시하기 위한 공통 메커니즘을 제공한다. 실시예가 인식하지 못하는 모든 다중부분 서브-타입들은 "multipart/mixed" 서브타입으로서 처리되어야 한다.
따라서, 본 발명의 제2 실시예에 따르면, 커스텀 경계 문자열인 (BOUNDARY_P2P_REPAIR_RESPONSE)(92)이 정의되어 도 4b의 HTTP 패킷(9') 내의 다중부분-MIME 구조의 각 부분의 개시를 표시한다. 경계 문자열(92)은 70 개의 문자들 에 해당하는 길이를 가질 수 있다. 이것은 어떤 보디 부분에도 나타나지 않는 방식으로(또는 거의 희박한 확률로 나타나는 방식으로) 선택되는 것이 바람직하다. 최종 부분 이후의 경계 문자열 이후에는 "--"이 후속된다.
다중부분-MIME의 각 부분의 콘텐츠-전달-인코딩(Content-Transfer-Encoding)은 "binary"로 설정되는데, 그 이유는 압축된 플루트(FLUTE) 패킷(8')이 원래 한번에 한 바이트씩 독출될 수 있는 이진 객체이기 때문이다. "binary" 인코딩 기법은 어떤 오버헤드도 포함하지 않는다. "base64"와 같은 다른 관련된 인코딩 기법들이 이용될 수도 있다. "base64" 인코딩은 33%의 오버헤드를 가져올 수도 있다.
그러면, HTTP 헤더(91), 경계 문자열(92), 및 압축된 플루트(FLUTE) 패킷(8'-1, .., 8'-M)들을 포함하는 도 4b의 HTTP 패킷(9')은 다음과 같은 의사-코드(pseudo-code)를 이용하여 표시될 수 있다.
HTTP/1.1 200 OK
Content-Type : multipart/mixed;
boundary = BOUNDARY_P2P_REPAIR_RESPONSE
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/compressedFlutePkt
Content-Transfer-Encoding : binary
Compressed FLUTE Packet - 1
--BOUNDARY__P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/compressedFlutePkt
Content-Transfer-Encoding: binary
Compressed FLUTE Packet - 2
...
...
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type: x-flutePtP/compressedFlutePkt
Content-Transfer-Encoding: binary
Compressed FLUTE Packet - M
--BOUNDARY_P2P_REPAIR_RESPONSE--
본 발명의 제3 실시예
본 발명의 제3 실시예에 따르면, 다중부분-MIME 점-대-점(PtP) HTTP 응답의 정보는 제2 실시예와 비교할 때 더욱 효율적인 방식으로도 송신될 수 있다. 이러한 제3 실시예는 도 5a 내지 도 5c를 참조하여 설명될 것이다.
보수 서버(4)는 동일한 TSI 및 TOI를 포함하는 모든 플루트(FLUTE) 패킷들을 처리하고 그들의 플루트(FLUTE) 인코딩 심벌(7)들을 개별 공통 플루트(FLUTE) 헤더들(6''-m)을 공유하는 플루트(FLUTE) 패킷들의 M 개의 블록들(7''-m)로 통합할 수 있으며, 여기서 m은 1 내지 M 사이의 범위를 가지는 정수이다. 이러한 방식으로, 압축된 플루트(FLUTE) 헤더의 동일 부분들이 반복되는 것이 방지된다.
이러한 동작은 예를 들어 이미 HTTP에 의하여 지원되는 다중부분-MIME 구조를 이용하여 구현될 수 있다. 이러한 목적을 달성하기 위하여, 후속하는 실험적 콘텐츠-타입들이 도입되어 다중부분-MIME 구조 내의 각 부분의 콘텐츠를 식별할 수 있다.
"x-flutePtP/encSymbolHdr"는 메시지 보디가 다중부분-MIME 구조의 후속 부분(플루트(FLUTE) 인코딩 심벌의 블록(7''-m)) 내의 모든 인코딩 심벌들에 대하여 공통되는 공통 플루트(FLUTE) 헤더(6''-m)를 포함한다는 것을 나타낸다.
"x-flutePtP/encSymbolVideo"는 메시지 보디가 비디오 객체에 상응하는 플루트(FLUTE) 인코딩 심벌들(7-1-m, ..., 7-Mm-m)을 그들의 상응하는 FEC 페이로드 ID들(64-1-m, .., 64-Mm-m)과 함께 포함한다는 것을 나타내며, 여기서 Mm은 한 블록(7''-m) 당 플루트(FLUTE) 인코딩 심벌들의 개수를 나타낸다.
"x-flutePtP/encSymbolAudio"는 메시지 보디가 오디오 객체에 상응하는 플루트(FLUTE) 인코딩 심벌들(7-1-m, .., 7-Mm-m)을 그들의 상응하는 FEC 페이로드 ID들(64-1-m, .., 64-Mm-m)과 함께 포함한다는 것을 나타낸다.
"x-flutePtP/encSymbolOther"는 메시지 보디가 "다른(other)" 객체에 상응하는 플루트(FLUTE) 인코딩 심벌들(7-1-m, .., 7-Mm-m)을 그들의 상응하는 FEC 페이로드 ID들(64-1-m, .., 64-Mm-m)과 함께 포함한다는 것을 나타낸다.
또한, 몇 가지 실시예들은 상이한 매체 타입들을 구변하지 않도록 선택할 수 있으며 예를 들어 "x-flutePtP/encSymbolData"와 같은 통칭적 콘텐츠 타입을 사용하는 것도 가능하다.
결과적인 점-대-점(PtP) HTTP 응답(9'')의 구조는 도 5a에 도시되며, 공통 플루트(FLUTE) 헤더(6''-m)는 도 5b에 도시되고, 플루트(FLUTE) 인코딩 심벌들의 블록(7''-m)의 형식은 도 5c에 도시된다. 도 5c로부터 알 수 있는 바와 같이, 플루트(FLUTE) 인코딩 심벌들(7-1-m, .., 7-Mm-m) 각각에 대한 FEC 페이로드 ID(64-1-m, .., 64-Mm-m)은 플루트(FLUTE) 인코딩 심벌의 블록(7''-m) 내로 이동되는 것이 바람직한데, 그 이유는 이것은 플루트(FLUTE) 인코딩 심벌에 특이적이기 때문이다(FLUTE-encoding-symbol-specific). 여기서, m은 1 내지 M의 범위를 가지는 정수이다. 더 나아가, 플루트(FLUTE) 인코딩 심벌들이 MIME 경계에 의하여 상호 분리되기 때문에, 플루트(FLUTE) 인코딩 심벌들(7-1-m, .., 7-Mm-m)의 크기(65-m)는 공통 플루트(FLUTE) 헤더(6''-m) 내에 정의되어야 하며, 이에 대해서는 도 5b를 참조한다.
도 5a에 도시된 HTTP 응답(9'')은 다음과 같은 의사-코드에 의하여 표시될 수 있다(다음 의사 코드에서 코멘트들은 쌍 빗금으로 시작하는 것으로 구분된다).
HTTP/1.1 200 OK
MIME Version : 1.0
Content-Type : multipart/mixed;
boundary = --BOUNDARY_P2P_REPAIR_RESPONSE
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/encSymbolHdr
Content-Transfer-Encoding : binary
// TSI, TOI, 및
// 후속 부분의 모든 플루트(FLUTE) 인코딩 심벌
// 에 대하여 공통되는 인코딩 심벌 크기를
// 포함한다.
// (이 예에서는, 후속하는 부분이 비디오 객체에
// 속하는 모든 인코딩 심벌들을 포함한다)
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type: x-flutePtP/encSymbolVideo
Content-Transfer-Encoding : binary
// 해당 비디오 객체에 속하는 모든
// 플루트(FLUTE) 인코딩 심벌들을 그들의
// FEC 페이로드 ID들과 함께 포함한다
FEC Payload ID - 1, Encoding Symbol - 1
FEC Payload ID - 2, Encoding Symbol - 2
...
...
FEC Payload ID - Ml , Encoding Symbol Ml.
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/encSymbolHdr
Content-Transfer-Encoding: binary
// TSI, TOI, 및
// 후속 부분의 모든 플루트(FLUTE) 인코딩 심벌
// 에 대하여 공통되는 인코딩 심벌 크기를
// 포함한다.
// (이 예에서는, 후속하는 부분이 오디오 객체에
// 속하는 모든 인코딩 심벌들을 포함한다)
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/encSymbolAudio
Content-Transfer-Encoding: binary
// 해당 오디오 객체에 속하는 모든
// 플루트(FLUTE) 인코딩 심벌들을 그들의
// FEC 페이로드 ID들과 함께 포함한다
FEC Payload ID - 1, Encoding Symbol - 1
FEC Payload ID - 2, Encoding Symbol - 2
...
...
FEC Payload ID - M2, Encoding Symbol - M2.
...
...
...
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : X-flutePtP/encSymbolHdr
Content-Transfer-Encoding: binary
// TSI, TOI, 및
// 후속 부분의 모든 플루트(FLUTE) 인코딩 심벌
// 에 대하여 공통되는 인코딩 심벌 크기를
// 포함한다.
// (이 예에서는, 후속하는 부분이 오디오 객체에
// 속하는 모든 인코딩 심벌들을 포함한다)
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type: x-flutePtP/encSymbolOther
Content-Transfer-Encoding : binary
// 해당 오디오 객체에 속하는 모든
// 플루트(FLUTE) 인코딩 심벌들을 그들의
// FEC 페이로드 ID들과 함께 포함한다
FEC Payload ID - 1, Encoding Symbol - 1
FEC Payload ID - 2, Encoding Symbol - 2
...
...
FEC Payload ID - MM, Encoding Symbol - MM.
-- BOUNDARY _ P2P _ REPAIR _ RESPONSE -
이제까지는, 본 발명의 제3 실시예는 EXT_FTI 및 EXT_FDT와 같은 계층적 코딩 전송(LCT) 헤더 확장자들이 플루트(FLUTE) 헤더에 포함되지 않는 것으로 가정하였다. 도 5c에 도시된 바와 같은 플루트(FLUTE) 인코딩 심벌의 블록(7''-m)은 따라서 어떠한 계층적 코딩 전송(LCT) 헤더 확장자도 포함하지 않는다.
그러나, 만일 플루트(FLUTE) 인코딩 심벌들 중 적어도 면 개에 의하여 계층적 코딩 전송(LCT) 헤더 확장자들이 이용된다면, 도 5a 내지 도 5c를 참조하여 현재까지 제공된 본 발명의 제3 실시예는 플루트(FLUTE) 인코딩 심벌의 블록(7''-m)의 셋업에 대하여 변경되어야만 한다. 이것은 도 5d에 예시적으로 도시되는데, 이것은 도 4c의 블록에 대한 대안으로서 동작하며 그러므로 동일한 부재 번호를 유지한다.
도 5c에 따르면, 플루트(FLUTE) 인코딩 심벌들의 블록(7''-m)은 여전히 인코딩 심벌들(7-1-m, ..., 7-Mm-m)을 포함하는데, 여기서 m은 1 내지 M의 범위를 가지는 정수이며, Mm은 블록 m 당 인코딩 심벌들의 개수이고, M은 블록들의 전체 개수이다. 도 5c에서와 유사하게, 각 인코딩 심벌의 FEC 페이로드 ID들(64-1-m, ..., 64-Mm-m)은 개별 인코딩 심벌들 이전에 상기 블록 내에 포함된다. 그러나, 인코딩 심벌들 중 적어도 몇 개에 의하여 계층적 코딩 전송(LCT) 헤더 확장자들을 이용하는 것을 설명하기 위하여, 개별 인코딩 심벌(7-1-m, ..., 7-Mm-m)을 위한 계층적 코딩 전송(LCT) 헤더 길이 필드(HDR_LEN)(6110-1-m, ..., 6110-Mm-m)들이 블록(7''-m) 내에 도입된다. 이러한 계층적 코딩 전송(LCT) 헤더 길이 필드들은, 계층적 코딩 전송(LCT) 헤더 확장자가 이용되는지를 나타내고, 이들 중 몇 개가 각 인코딩 심벌에 관련되는지를 나타낸다. 그러면, 이러한 계층적 코딩 전송(LCT) 헤더 확장자(68-1-m, ..., 68-Mm-m)들은 각각 계층적 코딩 전송(LCT) 헤더 길이 필드들 이후에 포함된다.
도 5d에 도시된 실시예에서, 블록의 최초 인코딩 심벌에는 두 개의 EXT_FTI 가 존재하고, 두 번째 인코딩 심벌에는 EXT_FTI가 존재하지 않으며, 최후의 인코딩 심벌에는 EXT_FTI가 하나 존재한다. 이러한 경우에, 공통 인코딩 심벌 헤더(도 5b에 도시된 6''-m) 내에 포함된 HDR_LEN 필드(6110)는 아무런 의미를 가지지 않는다.
계층적 코딩 전송(LCT) 헤더 확장자의 이용을 지원하기 위한 전술된 바와 같은 방법이, 인코딩 심벌들이 파일 분배 테이블(FDT, File Distribution Table) 인스턴스에 속할 때 이용되는 EXT_FTI 계층적 코딩 전송(LCT) 헤더 인스턴스에도 역시 동작할 수 있음은 용이하게 이해될 것이다.
본 발명의 제4 실시예
본 발명의 또 다른 실시예는 이하 도 6a 내지 도 6c를 참조하여 설명되는 바와 같이 점-대-점(PtP) HTTP 응답 내에 포함되는 정보를 재정렬함으로써 달성된다.
본 발명의 이러한 실시예에 따르면, 동일한 TSI 및 TOI에 관련된 플루트(FLUTE) 인코딩 심벌들이 다시 한번 플루트(FLUTE) 인코딩 심벌들의 블록(7'''-m) 내에 저장되며(m은 1 내지 M의 범위를 가지는 정수이다), 각 블록의 플루트(FLUTE) 인코딩 심벌들을 위하여 공통 플루트(FLUTE) 헤더들이 이용된다. 그러 나, 제3 실시예와는 반대로, 모든 공통 플루트(FLUTE) 헤더들의 필드들은 하나의 인덱스 객체(6''') 내에 통합되며, 플루트(FLUTE) 인코딩 심벌들의 한 블록(7'''-m) 내에 포함되는 모든 플루트(FLUTE) 인코딩 심벌들의 FEC 페이로드 ID들은 더 이상 제3 실시예에서와 같이 플루트(FLUTE) 인코딩 심벌들의 상기 블록 내에 저장되지 않고, 역시 상기 인덱스 객체(6''') 내로 통합되는 블록-특이적인 FEC 페이로드 ID들의 어레이(64-1-m, ..., 64-Mm-m) 내에 저장된다. 이를 통하여, 점-대-점(PtP) HTTP 응답(9''') 내의 원하는 각 플루트(FLUTE) 인코딩 심벌로의 무작위적 액세스가 허용된다.
이러한 HTTP 응답(패킷)(9''')이 도 6a에 예시된다. 역시, 인덱스 객체(6''') 및 상이한 타입의 플루트(FLUTE) 인코딩 심벌의 블록들(7'''-m)을 분리하기 위하여 MIME 경계(92)를 포함하는 다중부분-MIME 구조가 이용될 수 있다. 여기서, 신규한 콘텐츠-타입인 "x-flutePtP/IndexObject" 가 정의되는데, 이것은 인덱스 객체(6''')를 포함하는 메시지 보디를 나타낸다.
도 6b는 HTTP 응답(9''') 내에서 전송된 모든 인코딩 심벌들의 정보(TSI, TOI, 인덱스 심벌 길이, FEC 페이로드 ID)를 포함하는 인덱스 객체(6''')의 포맷을 도시한다. 인덱스 객체(6''')는 M 개의 서브-헤더들(제3 실시예의 수정된 공통 플루트(FLUTE) 헤더들)로서, 1 내지 M의 값을 가지는 m에 의하여 인덱싱 되는 서브-헤더들로 구성될 수 있다는 점이 이해되며, 이 경우 상기 서브-헤더들 각각은 특정 TSI, TOI, 플루트(FLUTE) 인코딩 심벌 크기, 및 자연적으로 플루트(FLUTE) 인코딩 심벌의 각 블록(7'''-m)에 대한 플루트(FLUTE) 인코딩 심벌들의 개수 Mm에 관련되 며, 이러한 값들은 각각 필드 62-m, 63-m, 65-m 및 67-m 내에 저장된다는 것이 용이하게 이해될 것이다. 상기 서브-헤더들 각각은 계층적 코딩 전송(LCT) 헤더(61-m)의 일부 및 FEC 페이로드 ID의 블록 특이적인 어레이(64-1-m, ..., 64-Mm-m)를 더 포함한다.
이러한 정보에 대하여, 특정 수신기(3-1)는 각 FEC 페이로드 ID를 수신 바이트 스트림 내에서 고유한 바이트-범위로 매핑할 수 있다. 그러므로, 특정 수신기(3-1)는 원하는 모든 인코딩 심벌에 대한 무작위 액세스를 할 수 있다. 플루트(FLUTE) 인코딩 심벌들의 블록(7'''-m)의 포맷이 도 6c 내에 도시된다. 명백하게, 본 발명의 제3 실시예와 반대로, 어떤 FEC 페이로드 ID도 플루트(FLUTE) 인코딩 심벌들의 블록 내에 포함되지 않는데, 그 이유는 이들은 이제 인덱스 객체(6''') 내에 포함되기 때문이다.
도 6a의 HTTP 응답(9''')은 다음과 같은 의사-코드에 의하여 표시될 수 있다(다음 의사 코드에서 코멘트들은 쌍 빗금으로 시작하는 것으로 구분된다).
HTTP/1.1 200 OK
MIME Version : 1.0
Content-Type : multipart/mixed;
boundary = --BOUNDARY_P2P_REPAIR_RESPONSE
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/IndexObject
Content-Transfer-Encoding : binary
// (TSI, TOI, FEC Payload ID)에 의하여 고유하게 식별되는
// 모든 플루트(FLUTE) 인코딩 심벌에 대하여 액세스하는데
// 필요한 모든 정보를 포함하는
// 인덱스 객체를 포함한다.
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type : x-flutePtP/encSymbolVideo
Content-Transfer-Encoding : binary
// 비디오 객체에 속하는 모든
// 플루트(FLUTE) 인코딩 심벌들을 포함한다.
Encoding Symbol - 1
Encoding Symbol - 2
...
...
Encoding Symbol - Ml.
--BOUNDARY_P2P_REPAIR_RESPONSE
Content-Type: x-flutePtP/encSymbolAudio
Content-Transfer-Encoding: binary
// 오디오 객체에 속하는 모든
// 플루트(FLUTE) 인코딩 심벌들을 포함한다.
Encoding Symbol - 1
Encoding Symbol - 2
...
Encoding Symbol - M2.
...
...
...
--BOUNDARY_P2P_REPAIR__RESPONSE
Content-Type: x-flutePtP/encSymbolOther
Content-Transfer-Encoding: binary
// "다른(Other)" 객체에 속하는 모든
// 인코딩 심벌들을 포함한다.
Encoding Symbol - 1
Encoding Symbol - 2
...
...
Encoding Symbol - MM.
-- BOUNDARY _ P2P _ REPAIR _ RESPONSE
본 발명의 제4 실시예에 대한 상세한 설명은, EXT_FTI 및 EXT_FDT와 같은 어떠한 계층적 코딩 전송(LCT) 헤더 확장자들도 인코딩 심벌에 관련되지 않는다고 가정한다. 그러나, 본 발명의 제3 실시예에 적용된 바와 같은(도 5d 참조) 유사한 기술도 본 발명의 제4 실시예에 채택될 수 있다는 점에 주의하여야 한다. 이러한 목적을 달성하기 위하여, 계층적 코딩 전송(LCT) 헤더 길이의 어레이가 단지 각 서브-헤더 내에 포함되고, 이것은 각 인코딩 심벌에 대하여 얼마나 많은 계층적 코딩 전송(LCT) 헤더 확장자들이 이용되는지를 나타낸다. 그러므로, 이러한 어레이의 요소들은 각 서브-헤더 내의 인코딩-심벌에 특이적인 데이터 내에 저장된 계층적 코딩 전송(LCT) 헤더 확장자의 개수를 나타낸다.
도 7은 본 발명에 따라서 데이터 심벌들을 송신하기 위한 방법의 예시적인 흐름도를 나타낸다. 설명의 간소화를 위하여, 송신기(1) 및 보수 서버(4)가 동일한 장치에 의하여 구현된 것으로 가정된다.
제1 단계(701)에서, 송신기(1)는 플루트(FLUTE) 인코딩 심벌을 예를 들어 점-대-다중점(PtM) 세션에서 복수 개의 수신기들(3-1, .., 3-3)로 전송되어야 하는 전송 객체의 일부를 FEC 인코딩 함으로써 생성한다. 그러면, 이러한 플루트(FLUTE) 인코딩 심벌들에는 단계 702에서 플루트(FLUTE) 프로토콜에 따르는 플루트(FLUTE) 헤더(제1-타입 헤더)가 제공되고, 이들은 단계 703에서 복수 개의 수신기들로 송신된다. 예를 들면, 이러한 동작은 UDP 및 하위에 존재하는 IP 프로토콜의 서비스를 이용함으로써 달성될 수 있다. 그러면, 송신된 플루트(FLUTE) 패킷들은 수신기들(3-1, .., 3-3) 및 상기 수신기들 중 적어도 하나인 특정 수신기(3-1)에 수신되고, 패킷들의 부정확한 수신 또는 분실에 기인하거나 다른 이유에 기안하여서 추가적인 보수 데이터 패킷들의 수신이 요구된다는 것이 발견된다. 그러면, 특정 수신기(3-1)는 보수 요청을 보수 서버로 시그널링하는데, 도 7에 도시된 예시 적인 실시예에서, 보수 서버는 송신기와 동일하다.
상기 보수 서버(4)에서, 상기 보수 요청은 단계 704에서 수신되고, 여기에 포함된 보수 정보(예를 들어 분실된 플루트(FLUTE) 인코딩 심벌의 TSI, TOI, SBN, 및 ESI의 4중 쌍)가 어떠한 플루트(FLUTE) 인코딩 심벌이 보수 데이터 심벌로서 생성되어야 하는지를 결정하는데 이용된다. 이러한 동작은 보수 서버(4)에 의하여 단계 705에서 수행된다. 그러면, 생성된 플루트(FLUTE) 인코딩 심벌들에는 단계 706에서 플루트(FLUTE) 프로토콜에 따르는 압축된 플루트(FLUTE) 헤더(제2-타입 헤더)가 제공되는데, 이러한 플루트(FLUTE) 헤더는 예를 들면 도 3a에 따르는 본 발명의 제1 실시예의 압축된 플루트(FLUTE) 헤더(6)이다. 그러면, 플루트(FLUTE) 인코딩 심벌 및 압축된 플루트(FLUTE) 헤더는 도 3a의 압축된 플루트(FLUTE) 패킷(8)을 형성한다. 그러면, 이러한 압축된 플루트(FLUTE) 패킷(8)은 보수 서버에 의하여 점-대-점(PtP) 보수 세션에서 특정 수신기로 송신되는데, 이러한 과정은 단계 707에 나타나며, 이러한 동작은 예를 들어 복수 개의 압축된 플루트(FLUTE) 패킷(8-1, ..., 8-M)들을 보수 요청에 대한 응답으로서 동작하는 하나의 HTTP 패킷(9) 내에 내장시키고(도 3b 참조), HTTP/TCP의 서비스를 이용하여 이러한 HTTP 패킷들을 보수 서버(4) 및 특정 수신기(3-1)의 엔티티들 간에 전달함으로써 수행된다.
본 발명은 바람직한 실시예들을 이용하여 설명되었다. 하지만, 본 발명의 기술적 사상 및 첨부된 청구 범위의 기술적 사상에서부터 벗어나지 않는 범위에서 당업자에게 명백한 다른 방식들 및 변경예들이 구현될 수 있다는 점에 주의하여야 한다. 특히, 본 발명의 기술적 사상은 플루트(FLUTE) 프로토콜 또는 3GPP MBMS 시스템의 콘텍스트 내의 어플리케이션에 한정되는 것으로 해석되어서는 절대 안 된다. 그 이유는, 일면으로 점-대-다중점(PtM) 송신을 위하여 이용되는 것과 상이한 다른 면의 점-대-점(PtP) 송신을 위한 동일한 프로토콜의 상이한 타입의 헤더를 이용하는 진보적인 특징이 본 발명의 기술적 사상이기 때문이다.
본 발명은, 하나 또는 그 이상의 데이터 심벌들을 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신하고, 하나 또는 그 이상의 보수 데이터 심벌들을 보수 서버로부터 점-대-점 보수 세션 내의 수신기들 중 하나의 특정 수신기로 송신하기 위한 방법, 시스템, 송신기, 망 요소, 수신기 및 데이터 심벌의 송신을 위한 시스템 내의 소프트웨어 어플리케이션에 적용될 수 있다.

Claims (47)

  1. 데이터 심벌을 송신하기 위한 방법에 있어서,
    - 하나 또는 그 이상의 데이터 심벌을 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신하는 단계로서, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 단계;
    - 하나 또는 그 이상의 보수 데이터 심벌(repair data symbol)을 보수 서버로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신하는 단계로서, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않는 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 점-대-다중점 송신 세션에서,
    상기 파일 전달 프로토콜은 사용자 데이터그램 프로토콜(User Datagram Protocol)의 서비스들을 이용하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 점-대-점 보수 세션에서,
    상기 파일 전달 프로토콜은 전송 제어 프로토콜(Transport Control Protocol)의 서비스들을 이용하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 점-대-점 보수 세션에서,
    상기 파일 전달 프로토콜은 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol)의 서비스들을 이용하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 파일 전달 프로토콜은 단방향 송신 상의 파일 전달(FLUTE, File Delivery over Unidirectional Transport) 프로토콜이며,
    상기 데이터 심벌 및 상기 보수 데이터 심벌은 플루트(FLUTE) 인코딩 심벌들을 나타내는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 플루트(FLUTE) 프로토콜은 하이퍼텍스트 전송 프로토콜(HTTP)의 서비스들을 이용하며,
    상기 HTTP는 상기 보수 서버 및 상기 특정 수신기 간에 HTTP 패킷들을 전달하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    하나의 플루트(FLUTE) 인코딩 심벌 및 하나의 관련된 제2-타입 헤더의 조합은 압축된 플루트(FLUTE) 패킷을 형성하고,
    상기 HTTP 패킷들 중 적어도 하나가 HTTP 패킷 헤더 및 하나 또는 그 이상의 상기 압축된 플루트(FLUTE) 패킷들을 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 압축된 플루트(FLUTE) 패킷들의 상기 제2-타입 헤더는 적어도 계층적 코딩 전송(Layered Coding Transport) 헤더의 일부, 상기 압축된 플루트(FLUTE) 패킷 내의 상기 플루트(FLUTE) 인코딩 심벌의 식별자, 및 상기 플루트(FLUTE) 인코딩 심벌의 크기를 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 적어도 하나의 HTTP 패킷은 다중부분(multipart) 다중목적 인터넷 메일 확장(MIME, Multipurpose Internet Mail Extensions) 구조를 가지며,
    상기 압축된 플루트(FLUTE) 패킷들은 MIME 경계에 의하여 상기 HTTP 패킷 헤더로부터 및 상호간에 분리되는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 압축된 플루트(FLUTE) 패킷들의 상기 제2-타입 헤더는 적어도 계층적 코딩 전송(Layered Coding Transport) 헤더의 일부 및 상기 압축된 플루트(FLUTE) 패킷 내의 상기 플루트(FLUTE) 인코딩 심벌의 식별자를 포함하는 것을 특징으로 하는 방법.
  12. 제7항에 있어서, 상기 HTTP 패킷들 중 적어도 하나는,
    HTTP 패킷 헤더, 적어도 두 개의 플루트(FLUTE) 인코딩 심벌 및 관련된 개별 식별자들을 포함하는 하나 또는 그 이상의 블록들, 및 상기 블록들 각각에 대한 하나의 개별 제2-타입 헤더를 포함하며,
    각각의 개별 제2-타입 헤더는 개별 블록의 모든 플루트(FLUTE) 인코딩 심벌에 대하여 유효한 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 적어도 하나의 HTTP 패킷은 MIME 구조를 가지고,
    상기 HTTP 패킷 헤더, 상기 블록들, 및 상기 제2-타입 헤더들은 MIME 경계에 의하여 상호 분리되는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 개별 제2-타입 헤더는 계층적 코딩 전송(Layered Coding Transport) 헤더의 일부 및 상기 개별 블록 내의 상기 플루트(FLUTE) 인코딩 심벌의 크기를 포함 하는 것을 특징으로 하는 방법.
  15. 제12항에 있어서,
    상기 블록들 중 적어도 하나는 플루트(FLUTE) 인코딩 심벌, 관련된 개별 식별자, 개별 계층적 코딩 전송(Layered Coding Transport) 헤더 길이, 및 적어도 하나의 계층적 코딩 전송 헤더 확장자(extension)를 포함하는 것을 특징으로 하는 방법.
  16. 제7항에 있어서,
    상기 HTTP 패킷들 중 적어도 하나는 HTTP 패킷 헤더, 하나의 제2-타입 헤더, 및 적어도 두 개의 플루트(FLUTE) 인코딩 심벌들을 포함하는 하나 또는 그 이상의 블록들을 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 적어도 하나의 HTTP 패킷은 MIME 구조를 가지고,
    상기 HTTP 패킷 헤더, 상기 하나의 제2-타입 헤더, 및 상기 하나 또는 그 이상의 블록들은 MIME 경계에 의하여 상호 분리되는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    상기 제2-타입 헤더는 상기 HTTP 패킷 내의 개별 블록 각각에 대한 하나의 개별 서브-헤더를 포함하고,
    상기 개별 서브-헤더들 각각은,
    계층적 코딩 전송 헤더의 일부, 상기 개별 블록 내의 상기 플루트(FLUTE) 인코딩 심벌들의 크기, 상기 개별 블록 내의 플루트(FLUTE) 인코딩 심벌들의 개수, 및 상기 개별 블록 내의 개별 플루트(FLUTE) 인코딩 심벌에 대한 하나의 식별자를 포함하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    상기 서브-헤더들 중 적어도 하나는, 상기 개별 블록 내의 각 플루트(FLUTE) 인코딩 심벌에 대한 하나의 계층적 코딩 전송 헤더 길이 및 상기 개별 블록 내의 상기 플루트(FLUTE) 인코딩 심벌들 중 적어도 하나에 대한 적어도 하나의 계층적 코딩 전송 헤더 확장자를 포함하는 것을 특징으로 하는 방법.
  20. 제9항에 있어서,
    상기 제2-타입 헤더는 상기 점-대-다중점 송신 세션의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  21. 제9항에 있어서,
    상기 제2-타입 헤더는 상기 플루트(FLUTE) 인코딩 심벌들이 관련된 전송 객체(transport object)의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  22. 제9항에 있어서,
    상기 제2-타입 헤더는 계층적 코딩 전송 헤더 확장자를 더 포함하는 것을 특징으로 하는 방법.
  23. 제9항에 있어서,
    상기 계층적 코딩 전송 헤더의 상기 일부는,
    계층적 코딩 전송 버전 번호, 혼잡도 제어(Congestion Control) 플래그, 예약 공간, 전송 세션 식별자(Transport Session Identifier) 플래그, 전송 객체 식별자(TOI, Transport Object Identifier) 플래그, 하프-워드(half-word) 플래그, 전송자 현재 시간(Sender Current Time) 플래그, 기대 잔여 시간(Expected Residual Time) 플래그, 세션 종료(Close Session) 플래그, 객체 종료(Close Object) 플래그, 계층적 코딩 전송 헤더 길이, 및 코드 포인트(Code Point)를 포함하는 것을 특징으로 하는 방법.
  24. 데이터 심벌을 송신하기 위한 시스템에 있어서,
    - 송신기,
    - 하나 또는 그 이상의 수신기, 및
    - 보수 서버를 포함하고,
    하나 또는 그 이상의 데이터 심벌들은 상기 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 상기 수신기로 송신되고,
    상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되며,
    하나 또는 그 이상의 보수 데이터 심벌(repair data symbol)이 상기 보수 서버로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신되고,
    상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 시스템.
  25. 제24항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 시스템.
  26. 데이터 심벌을 송신하기 위한 시스템 내의 송신기에 있어서,
    - 하나 또는 그 이상의 데이터 심벌들을 상기 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신하도록 구현된 수단을 포함하고,
    상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되며,
    하나 또는 그 이상의 보수 데이터 심벌들이 보수 서버로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신되고,
    상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 송신기.
  27. 제26항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 송신기.
  28. 데이터 심벌을 송신하기 위한 시스템 내의 네트워크 요소로서, 하나 또는 그 이상의 데이터 심벌들이 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신되고, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 상기 시스템 내의 네트워크 요소에 있어서,
    - 하나 또는 그 이상의 보수 데이터 심벌들을 상기 네트워크 요소로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신하도록 구현된 수단을 포함하고,
    상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 네트워크 요소.
  29. 제28항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 네트워크 요소.
  30. 데이터 심벌을 송신하기 위한 시스템 내의 네트워크 요소에서 실행될 수 있는 소프트웨어 어플리케이션으로서, 하나 또는 그 이상의 데이터 심벌들이 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신되고, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 상기 시스템 내의 네트워크 요소에서 실행될 수 있는 소프트웨어 어플리케이션에 있어서,
    - 상기 네트워크 요소로 하여금 하나 또는 그 이상의 보수 데이터 심벌들을 상기 네트워크 요소로부터 점-대-점 보수 세션 내의 상기 수신기들 중 하나의 특정 수신기로 송신하도록 야기하기 위한 프로그램 코드를 포함하고,
    상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 것을 특징으로 하는 소프트웨어 어플리케이션.
  31. 제30항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 소프트웨어 어플리케이션.
  32. 데이터 심벌을 송신하기 위한 시스템 내의 수신기에 있어서,
    - 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신된 하나 또는 그 이상의 데이터 심벌들을 수신하도록 구현된 수단으로서, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 수단; 및
    - 하나 또는 그 이상의 보수 데이터 심벌들을 점-대-점 보수 세션 내의 보수 서버로부터 수신하도록 구현된 수단으로서, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 수단을 포함하는 것을 특징으로 하는 수신기.
  33. 제32항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 수신기.
  34. 데이터 심벌을 송신하기 위한 시스템 내의 수신기에서 실행될 수 있는 소프트웨어 어플리케이션에 있어서,
    - 상기 수신기로 하여금 송신기로부터 점-대-다중점 송신 세션 내의 하나 또는 그 이상의 수신기로 송신된 하나 또는 그 이상의 데이터 심벌들을 수신하도록 야기하기 위한 프로그램 코드로서, 상기 데이터 심벌에는 파일 전달 프로토콜을 따르는 제1-타입 헤더들이 제공되는 프로그램 코드; 및
    - 상기 수신기로 하여금 하나 또는 그 이상의 보수 데이터 심벌들을 점-대-점 보수 세션 내의 보수 서버로부터 수신하도록 야기하기 위한 프로그램 코드로서, 상기 보수 데이터 심벌에는 상기 동일한 파일 전달 프로토콜을 적어도 부분적으로 따르는 하나 또는 그 이상의 제2-타입 헤더가 제공되는 프로그램 코드를 포함하는 것을 특징으로 하는 소프트웨어 어플리케이션.
  35. 제34항에 있어서,
    상기 제1-타입 헤더는 상기 제2-타입 헤더 내에 포함되지 않은 적어도 하나의 파라미터를 포함하고,
    상기 파라미터는 점-대-다중점 송신에 관련되는 것을 특징으로 하는 소프트웨어 어플리케이션.
  36. 제11항에 있어서,
    상기 제2-타입 헤더는 상기 점-대-다중점 송신 세션의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  37. 제11항에 있어서,
    상기 제2-타입 헤더는 상기 플루트(FLUTE) 인코딩 심벌들이 관련된 전송 객체의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  38. 제11항에 있어서,
    상기 제2-타입 헤더는 계층적 코딩 전송 헤더 확장자를 더 포함하는 것을 특징으로 하는 방법.
  39. 제11항에 있어서,
    상기 계층적 코딩 전송 헤더의 상기 일부는,
    계층적 코딩 전송 버전 번호, 혼잡도 제어 플래그, 예약 공간, 전송 세션 식별자 플래그, 전송 객체 식별자(TOI) 플래그, 하프-워드 플래그, 전송자 현재 시간 플래그, 기대 잔여 시간 플래그, 세션 종료 플래그, 객체 종료 플래그, 계층적 코딩 전송 헤더 길이, 및 코드 포인트를 포함하는 것을 특징으로 하는 방법.
  40. 제14항에 있어서,
    상기 제2-타입 헤더는 상기 점-대-다중점 송신 세션의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  41. 제14항에 있어서,
    상기 제2-타입 헤더는 상기 플루트(FLUTE) 인코딩 심벌들이 관련된 전송 객체의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  42. 제14항에 있어서,
    상기 제2-타입 헤더는 계층적 코딩 전송 헤더 확장자를 더 포함하는 것을 특징으로 하는 방법.
  43. 제14항에 있어서,
    상기 계층적 코딩 전송 헤더의 상기 일부는,
    계층적 코딩 전송 버전 번호, 혼잡도 제어 플래그, 예약 공간, 전송 세션 식별자 플래그, 전송 객체 식별자(TOI) 플래그, 하프-워드 플래그, 전송자 현재 시간 플래그, 기대 잔여 시간 플래그, 세션 종료 플래그, 객체 종료 플래그, 계층적 코딩 전송 헤더 길이, 및 코드 포인트를 포함하는 것을 특징으로 하는 방법.
  44. 제18항에 있어서,
    상기 제2-타입 헤더는 상기 점-대-다중점 송신 세션의 식별자를 더욱 포함하 는 것을 특징으로 하는 방법.
  45. 제18항에 있어서,
    상기 제2-타입 헤더는 상기 플루트(FLUTE) 인코딩 심벌들이 관련된 전송 객체의 식별자를 더욱 포함하는 것을 특징으로 하는 방법.
  46. 제18항에 있어서,
    상기 제2-타입 헤더는 계층적 코딩 전송 헤더 확장자를 더 포함하는 것을 특징으로 하는 방법.
  47. 제18항에 있어서,
    상기 계층적 코딩 전송 헤더의 상기 일부는,
    계층적 코딩 전송 버전 번호, 혼잡도 제어 플래그, 예약 공간, 전송 세션 식별자 플래그, 전송 객체 식별자(TOI) 플래그, 하프-워드 플래그, 전송자 현재 시간 플래그, 기대 잔여 시간 플래그, 세션 종료 플래그, 객체 종료 플래그, 계층적 코딩 전송 헤더 길이, 및 코드 포인트를 포함하는 것을 특징으로 하는 방법.
KR1020077002253A 2004-07-30 2005-07-27 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘 KR100870236B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020077002253A KR100870236B1 (ko) 2004-07-30 2005-07-27 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/903,260 2004-07-30
KR1020077002253A KR100870236B1 (ko) 2004-07-30 2005-07-27 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘

Publications (2)

Publication Number Publication Date
KR20070031419A true KR20070031419A (ko) 2007-03-19
KR100870236B1 KR100870236B1 (ko) 2008-11-24

Family

ID=41647820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077002253A KR100870236B1 (ko) 2004-07-30 2005-07-27 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘

Country Status (1)

Country Link
KR (1) KR100870236B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003105353A2 (en) 2002-06-11 2003-12-18 Meshnetworks, Inc. System and method for multicast media access using broadcast transmissions with multiple acknowledgments in an ad-hoc communications network

Also Published As

Publication number Publication date
KR100870236B1 (ko) 2008-11-24

Similar Documents

Publication Publication Date Title
CA2574083C (en) Point-to-point repair response mechanism for point-to-multipoint transmission systems
CA2574010C (en) Point-to-point repair request mechanism for point-to-multipoint transmission systems
KR100855386B1 (ko) 손실 부분들의 식별 및 재전송
US20050216472A1 (en) Efficient multicast/broadcast distribution of formatted data
JP2007531458A (ja) マルチキャスト/ブロードキャストデータ配信のためのデータ修復強化法
KR100870236B1 (ko) 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘
KR20070030932A (ko) 점―대―다지점 전송 시스템용 점―대―점 수리 요구메커니즘
MXPA06008486A (es) Identificacion y retransmision de partes perdidas

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
FPAY Annual fee payment

Payment date: 20121019

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131017

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 11