KR20060120248A - 손실 부분들의 식별 및 재전송 - Google Patents

손실 부분들의 식별 및 재전송 Download PDF

Info

Publication number
KR20060120248A
KR20060120248A KR1020067016301A KR20067016301A KR20060120248A KR 20060120248 A KR20060120248 A KR 20060120248A KR 1020067016301 A KR1020067016301 A KR 1020067016301A KR 20067016301 A KR20067016301 A KR 20067016301A KR 20060120248 A KR20060120248 A KR 20060120248A
Authority
KR
South Korea
Prior art keywords
session
receiver
block
transmitter
received
Prior art date
Application number
KR1020067016301A
Other languages
English (en)
Other versions
KR100855386B1 (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 노키아 코포레이션
Publication of KR20060120248A publication Critical patent/KR20060120248A/ko
Application granted granted Critical
Publication of KR100855386B1 publication Critical patent/KR100855386B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/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/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • 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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위한 방법에 관한 것이며, 이 방법은 하나 이상의 데이터블록을 송신기부터 적어도 하나의 수신기에 전송하는 단계, 수신기에서 수신되기로 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터블록을 식별하는 단계, 및 상기 데이터블록을 재전송하는 동작을 행하는 단계를 포함한다. 이 방법에서, 상기 식별은 블록번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 수행된다.

Description

손실 부분들의 식별 및 재전송{Identification and re-transmission of missing parts}
본 발명은 일반적으로 멀티캐스트 및 브로드캐스트 전송 기술 및 서비스들, 즉 하나의 데이터소스(또는 송신기) 및 적어도 하나의 수신기를 이용한 서비스들에 관한 것이다.
IP멀티캐스트, IP데이터캐스팅(IPDC) 및 멀티미디어 브로드캐스트/멀티캐스트 서비스들(MBMS)과 같은 시스템들 상의 일-대-다(즉, 점-대-다점) 서비스들의 경우, 파일 배달(또는 이산 미디어 배달 또는 파일 다운로드)이 중요한 서비스이다. 파일 전송 프로토콜(FTP) 및 하이퍼텍스트 전송 프로토콜(HTTP)과 같이 점-대-점 프로토콜로 파일들을 배달하기 위한 많은 특징은 일-대-다 시나리오들에 대해 문제가 있다. 특히, 전송 제어 프로토콜(TCP)과 같은 유사한 일-대-일(즉 점-대-점) 수신확인(ACK) 프로토콜을 이용한 파일들의 신뢰성있는 배달-즉 보장된 파일 배달은 실현 가능하지 않다.
인터넷 엔지니어링 태스크 포스(IETF)의 신뢰성있는 멀티캐스트 전송(RMT) 작업그룹이 에러 내성 멀티캐스트 트랜스포트 프로토콜들의 2가지 카테고리들을 표준화하고 있는 중이다. 첫번째 범주에서, 신뢰성은 (예지적인) 순방향 오류정 정(FEC)의 사용을 통하여, 즉, 오류있는 데이터를 재구성할 때에 수신기를 도울 수 있는 어떤 양의 용장성 데이터를 보냄으로써 이행된다. 두 번째 범주에서, 수신기 피드백이 신뢰성있는 멀티캐스트 전송을 이행하기 위해 이용된다. 비동기식 계층 부호화(ALC, RFC 3450)는 첫 번째 범주에 속하는 프로토콜 인스턴스화인 반면, NACK향 신뢰성있는 멀티캐스트(NORM) 프로토콜은 두 번째 범주의 예를 제시한다. ALC 및 NORM 프로토콜들의 세부사항들은 IETF의 작업그룹에 의해 준비된 "Asynchronous Layered Coding (ALC) Protocol Instantiation"(RFC 3450) 및 "NACK-oriented Reliable Multicast Protocol"(인터넷 초안)이란 제목의 간행물들에서 상세히 논의된다. 이 간행물들의 내용들은 참고문헌으로 여기에 완전히 통합된다.
이 프로토콜들이 사용될 수 있는 접근망들은 무선 다중-접근망들, 이를테면 범용 이통통신 서비스(UMTS)시스템의 무선접근망, 무선 근거리통신망(WLAN), DVB-T(Digital Video Broadcasting-Terrestrial)네트워크 및 DVB-S(Digital Video Broadcasting-Satellite)네트워크를 포함할 수 있으나 이것들에 한정되지는 않는다.
간략하게는, ALC 프로토콜은 수신기가 망가진 패킷들 또는 수신되지 않은 패킷들을 재구성하는 것을 허용하는 예지적인 FEC기반 스키마이다. ALC 프로토콜은, 송신기가 다수 속도들(채널들)로 데이터를 아마도 이종의 수신기들에 송신하는 것을 허용하는, 다중 채널들에 대한 FEC 부호화를 이용한다. 부가적으로, ALC 프로토콜은 정체현상 제어 메커니즘을 이용하여 다른 채널들에 대해 다른 속도들을 유지 한다.
ALC 프로토콜은 업링크 신호통지가 요구되지 않기 때문에 사용자들의 수의 관점에서 대량으로 확장가능하다. 그러므로, 어떤 수의 부가적인 수신기들도 시스템에 대한 요구를 반드시 증가시키지는 않는다. 그러나, ALC 프로토콜은 수신이 보장되지 않기 때문에 100%신뢰할 수 없고, 그래서 그것은 일반적으로 강인한(robust) 것으로 기술되지 않는다.
NORM은 수신기에 도착할 것이 기대되는 데이터의 어떤 패킷들(또는 다르게는 "데이터 블록들"로 정의됨)이 수신기에 수신되지 않았음(또는 올바르지 않게 수신되었음)을 신호하기 위해 부정적인 수신확인(NACK) 메시지들의 이용을 명기한다. 바꾸어 말하면, 수신기는 NACK 메시지를 사용하여 전송된 패킷의 손실 또는 손상을 송신기에 표시한다. 따라서, 데이터 전송으로부터 일부 데이터 블록들을 "손실했던" 수신기는 손실된 데이터 블록 또는 블록들을 재전송할 것을 송신기에 요구하는 NACK 메시지를 송신기에 송신할 수 있다. NORM 프로토콜은 또한 옵션으로 예지적인 강력한 전송을 위해 패킷-레벨 FEC 부호화의 사용을 허용한다.
FLUTE(File Delivery over Unidirectional Transport)는 FEC 및 ALC 빌딩 블록들에 구축되는 일-대-다 전송 프로토콜이다. 그것은 단방향 시스템들 상에서 송신기(들)부터 수신기(들)까지 파일 전달을 위해 의도된다. 그것은 그것을 무선 점-대-다점(멀티캐스트) 시스템들에 적합하게 하는 전문화를 가진다. FLUTE 프로토콜의 세부사항들은 전술한 IETF의 작업그룹에 의해 준비된 "FLUTE-File Delivery over Unidirectional Transport"(인터넷 초안)이란 명칭의 간행물에서 더 상세히 논의된다. 이 간행물의 내용은 참조로써 여기에 완전히 통합된다.
NACK 메시지들은 일반적으로 NORM에 특화되어 있지 않지만, 그것들은 또한 다른 프로토콜들 또는 시스템들과 관련하여 사용될 수도 있다. FLUTE 세션들에 관련하여(또는 특히 일-대-다 전송을 지원하도록 지시된 전송층 프로토콜을 이용하는 다른 세션들에서) NACK 메시지들을 사용할 때 손실된 패킷들(또는 블록들)의 식별은 중요한 이슈다. TCP와 같은 일-대-일(또는 점-대-점) 전송을 위해 의도된 프로토콜들의 사용과 그것들의 수신확인 방법들은 여기서 반드시 타당하지는 않다. 예를 들면, 일-대-다 시스템에서의 TCP 수신확인 방법들의 사용은 상당한 양의 과부하를 발생시킬 것이다. 따라서, 일-대-다 시나리오로 수신된 패킷들을 신뢰성 있게 식별하여 정확한 재전송이 수행될 수 있게 하는 것이 필요하다.
멀티캐스트/브로드캐스트 채널로 데이터를 신뢰성 있게 전송하기 위해 NACK 메시지들을 이용할 때, 손실 패킷들의 식별은 중요한 문제이다는 것이 관찰되었다. 이것은 전송의 상태뿐 아니라 재전송하는 것이 필요한 블록들의 식별에 관한 정보의 유지보수에 관계가 있다. 응답시간의 관점에서, NACK 요구들(수신기에 의해 송신되고 송신기에 의해 수신됨)은 다음 2개의 범주들로 나누어질 수 있다:
a) 초기 전송 후 즉시 또는 머지않아 수신되고 동일한 세션(예컨대, FLUTE 세션 또는 유사물) 내에서 충족될 수 있는 NACK 요구들.
b) 세션이 만료되고 난 후에 수신되며 데이터가 다른 세션을 통해 재전송되는 것이 요구되는 NACK 요구들. 이 경우, 다른 세션은 동일한 점-대-다점 프로토콜로 될 수 있거나(예컨대, 예전의 FLUTE 세션 후 수립된 새로운 FLUTE 세션이 만료됨) 또는 점-대-점 또는 점-대-다점 프로토콜(예컨대, FTP, HTTP 등)일 수 있는 다른 프로토콜을 사용하는 세션일 수 있다.
양쪽 경우들에서, 재전송된 블록(들)을 정확하게 식별하는 것은 중요하다.
발명의 제1양태에 따르면 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위한 방법에 있어서,
적어도 하나의 데이터블록을 송신기부터 적어도 하나의 수신기에 전송하는 단계;
수신기에서 수신되기로 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터블록을 식별하는 단계;
상기 데이터블록을 재전송하는 동작을 행하는 단계를 포함하며, 상기 방법은,
블록번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 식별을 수행하는 단계를 포함하는 방법이 제공된다.
실시예에 따라 다른 정보는 한 세트의 세션 매개변수들 및/또는 전송객체 식별자를 포함한다.
또 다른 실시예에 따라 다른 정보는 파일의 정보 및/또는 블록화 정보를 포함한다.
발명의 제2양태에 따르면, 일-대-다 전송을 할 수 있는 시스템에서 파일 전달을 위한 수신기기에 있어서,
적어도 하나의 데이터 블록을 송신기로부터 수신하기 위한 수단;
수신기에서 수신하리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 식별하기 위한 수단;
상기 데이터 블록의 재전송을 위하여 동작을 행하는 수단을 포함하며,
식별하기 위한 상기 수단은, 블록번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 데이터 블록의 식별을 위해 구성되는 수신기기가 제공된다.
발명의 제3양태에 따르면, 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위한 송신기기에 있어서,
적어도 하나의 데이터 블록을 적어도 하나의 수신기에 전송하기 위한 수단; 및
수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 재전송하기 위한 수단으로서, 상기 데이터 블록은 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 식별된 것인 송신기기가 제공된다.
발명의 제4양태에 따르면, 일-대-다 전송할 수 있는 시스템에 있어서,
적어도 하나의 데이터 블록을 송신기에서 적어도 하나의 수신기에 전송하기 위한 수단;
수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 식별하기 위한 수단;
상기 데이터 블록을 재전송하는 동작을 행하기 위한 수단을 포함하며,
식별하기 위한 상기 수단은 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 데이터 블록의 식별을 위해 구성되는 시스템이 제공된다.
발명의 제5양태에 따르면, 일-대-다 전송을 할 수 있는 시스템에서 파일 전달을 위한 수신기기에서 실행 가능한 소프트웨어 애플리케이션에 있어서,
수신기기가 적어도 하나의 데이터 블록을 송신기로부터 수신하도록 하는 프로그램코드;
수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 식별하기 위한 프로그램코드;
상기 데이터 블록의 재전송을 유발하기 위한 동작을 수신기기가 행하도록 하는 프로그램코드를 포함하며,
식별하기 위한 상기 프로그램코드는 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 데이터 블록의 식별을 위해 구성되는 소프트웨어 애플리케이션이 제공된다.
발명의 제6양태에 따르면, 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위해 송신기기에서 실행 가능한 소프트웨어 애플리케이션에 있어서,
송신기기가 적어도 하나의 데이터 블록을 적어도 하나의 수신기에 전송하도록 하는 프로그램코드; 및
수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 송신기기가 재전송하도록 하는 프로그램코드로서, 상기 데이터 블록은 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 식별된 것인 소프트웨어 애플리케이션이 제공된다.
소프트웨어 애플리케이션들은 메모리와 같은 매체에 저장되는 프로그램코드를 포함하는 컴퓨터프로그램 생성물들일 수 있다.
발명의 또 다른 양태에 따르면 일-대-다 전송 시스템에서 파일 전달을 위한 방법에 있어서, 적어도 하나의 데이터 블록을 송신기에서 적어도 하나의 수신기에 전송하는 단계;
재전송하려는 손실 데이터 블록을 블록번호 및/또는 부호화 식별자 범위들을 이용하여 식별하는 단계를 포함하는 방법이 제공된다.
발명의 이 양태는 별개의 양태로서 또는 발명의 임의의 다른 양태(들)에 관하여 이행되는 양태로서 이해될 수 있다.
블록번호 범위들 및 부호화 식별자 범위들은 연속적이거나 불연속적일 수 있다.
수신기기, 송신기기, 시스템 및 소프트웨어 애플리케이션들은 각각 이행될 수 있다.
종속항들은 발명의 실시예들에 관련된다. 발명의 특정 양태에 관련한 종속항들에 들어 있는 주제 역시 발명의 다른 양태들에 적용가능하다.
이제 발명의 실시예들이 예로써 다음의 첨부 도면들에 관하여 설명될 것이다:
도 1은 발명의 실시예에 따라 통신하는 송신기기 및 수신기기를 보이며;
도 2a는 발명의 실시예에 따라 간략화된 프로토콜 아키텍처를 도시하며;
도 2b는 발명의 다른 실시예에 따라 간략화된 프로토콜 아키텍처를 도시하며;
도 3은 발명의 실시예에 따르는 시스템과 수신기기의 세부를 보이며; 그리고
도 4는 발명의 실시예에 따르는 송신기기를 보인다.
이 특허 출원의 도입 부분에 포함된 주제는 상세한 설명을 지지하기 위해 이용될 수 있다. 다음에서 FLUTE(File Delivery over Unidirectional Transport) 프로토콜은 본 발명을 FLUTE에만 관련되는 것으로 한정하지 않는 예로서 사용된다. 일-대-다 멀티캐스트 파일 전달을 할 수 있는 임의의 다른 적당한 프로토콜도 또한 본 발명에 관련하여 적용가능하다.
도 1은 발명의 실시예에 따라 통신하는 송신기기 및 수신기기를 보인다. 송신기기(10)는 서버, IP기반 기기, DVB기기, GPRS(또는 UMTS)기기 또는 멀티캐스트 데이터 블록들(또는 패킷들)을 수신기기(20)에 송신하기 위해 옵션으로 ALC 메커니즘과 같은 예지적인 순방향 오류정정을 이용할 수 있다. 수신기기(20)는 손실 블록들(수신되지 않았거나 올바르지 않게 수신된 블록들)에 관련한 부정적 수신확인(NACK) 메시지들(또는 요구들)을 송신기기(10)에 송신한다. NACK 메시지(들)에 응답하여, 송신기기(10)는 손실 블록들을 수신기기(20)에 FLUTE 세션(원래의 FLUTE 세션과 동일한 세션이 원래의 전송 또는 후속하는 FLUTE 세션을 위해 수립됨)에 재전송한다. 다르게는 FLUTE외의 다른 프로토콜을 사용하는 세션이 사용될 수 있다. 어떤 정황에서는, 재전송 세션은 수리(repair) 세션이라고 불린다.
데이터는 객체들로서 전송된다. 예를 들어, 파일, JPEG영상, 파일 슬라이스는 모두 객체이다. 세션은 파일(또는 데이터) 전달을 위해 송신기기(10) 및 수신기기(20) 사이에 수립된다. 단일 세션은 단일 객체 또는 다수 객체의 전송을 포함할 수 있다. 다른 식별자들이 객체들 및 세션들을 식별하기 위해 사용된다. 각 세션은 송신기(소스)의 주소(예컨대, IP 주소), 수신기(행선지)의 주소, 및 전송 세션 식별자(TSI) 또는 유사물에 의해 식별된다. 송신기 또는 수신기의 주소 및 TSI만을 사용하는 것 또한 가능하다. 게다가, 전송객체 식별자(TOI) 또는 유사품이 특정 세션에 전송되는 패킷이 속하는 객체를 표시하기 위해 사용된다. 예를 들어, 송신기기(10)는 제1파일에 대해 0, 제2파일에 대해 1 등의 TOI를 이용하여 동일한 세션에서 다수의 파일을 전송할지도 모른다.
각 데이터 블록은 각 블록을 식별하는 소스 블록 번호(SBN) 또는 유사물이라 불리는 번호를 가진다. 블록들은 한 세트의 부호화 심벌들에 의해 표현된다. 부호화 심벌 식별자(ESI) 또는 유사물은 데이터 패킷(또는 블록)의 페이로드로 운반되는 부호화 심벌들이 전술한 객체들(예컨대, 파일)로부터 생성되는 방법을 나타낸다.
도 2a는 발명의 실시예에 따라 간략화된 프로토콜 아키텍처를 도시한다. 이 실시예에 따르면, 송신기기(10) 및 수신기기(20)를 위해 구현되는 프로토콜 스택은 응용층, FLUTE 프로토콜 층, UDP 및 IP 층들 그리고 하위 층들을 포함한다. FLUTE 프로토콜 층은 블록(미도시)를 형성하고 있는 계층화된 부호화 전송(LCT) 빌딩 블록(미도시)의 ALC 프로토콜 인스턴스화의 상단 위에 구축된다. 또한 FEC 빌딩 블록 들은 옵션으로 사용될 수 있다. NACK 메시지들과 함께 FLUTE 프로토콜 층은 송신기기(10)부터 수신기기(20)에 신뢰성 있는 데이터 블록 전송을 제공하도록 의도된다. 이 프로토콜 아키텍처는 일-대-다 전송을 위해(일-대-다 "제1전송들"뿐 아니라 일-대-다 재전송 양쪽을 위해) 사용될 수 있다.
다르게는, 실시예에서 TCP 층은 UDP 층 대신 사용될 수 있다(도 2b 참조). 이것은 별도의 점-대-점 수리 세션(여기서 TCP세션)이 일-대-일(즉, 점-대-점) 재전송을 위해 이용되는 경우에 적용된다. 다른 재전송 방법들의 설명은 이 기술의 뒤에서 제시된다.
다음에서, 수신기에 대해 한 세트의 손실 패킷들(또는 블록들)을 식별하는 다른 경우들이 제시된다. FLUTE 소스 블록 또는 부호화 블록(및 결과로서, 하나 또는 일련의 패킷들)을 식별하는 두 가지 방법들이 있다:
식별 방법 A
식별은 SBN 및 ESI뿐 아니라, FLUTE 세션 매개변수들(소스 주소, 행선지 주소 및 TSI)과 TOI(Transmission Object Identifier)를 기초로 하여 수행된다. 전형적으로, 그것은 FLUTE 패킷들을 전송하는 동안 이 정보를 생성하는 송신기기이다. 이 정보는 ALC/FLUTE 패킷들에 들어 있다.
식별 방법 B
식별은 SBN 및 ESI를 기초로 할 뿐 아니라, 파일(즉, 전달되는 파일의 URI), 파일 매개변수들(파일 길이와 암호화 코드(이를테면 MD5 코드)), 사용되는 블록화 알고리즘 및 블록화 매개변수들(최대 소스 블록 길이, 부호화 심벌 길이 및 파일의 길이)을 기초로 하여 수행된다. 정보는 이 매개변수들/정보를 담고 있는 FDT(File Description Table) 또는 유사물에서 취해진다. 이 정보는 보통은 FLUTE 세션에 의해 별도 객체로서 운반된다.
알 수 있는 바와 같이, 식별 방법 A 및 B는 블록 번호와 부호화 식별자를 이용하며, 부가적으로 어떤 다른 식별정보를 이용한다. 식별 방법 A는 세션 자체(여기서 FLUTE 세션)로부터 직접 획득할 수 있는 세부사항을 사용하는 한편, 식별 방법 B는 또한 다른 정보(예컨대, 전달되는 파일 상의 정보)를 사용한다.
식별 방법에 무관하게, 후속하는 재전송을 수행하는 다음의 2가지 가능성이 있다:
재전송 방법 A
FLUTE 세션은 재전송을 위해 이용된다(재전송은 동일한(진행중인) FLUTE 세션 내에서 또는 별도의 FLUTE 세션에서 행해질 수 있다). 이 방법은 점-대-점 또는 점-대-다점 전송에 기초할 수 있다.
재전송 방법 B
FLUTE 이외의 방법, 예컨대 HTTP, SMS, FTP, SAP, GPRS 등과 함께 재전송을 위해 별도의 세션을 이용함. 이 방법은 점-대-점 또는 점-대-다점 전송에 기초할 수 있다.
따라서, 재전송을 위한 2가지 다른 식별방법들 및 FLUTE 또는 다른 프로토콜의 사용은 패킷들을 식별하고 재전송하기 위한 다음 4가지 다른 조합들을 생성한다:
1. 방법 A를 이용한 식별 및 방법 A를 이용한 재전송;
2. 방법 B를 이용한 식별 및 방법 B를 이용한 재전송;
3. 방법 A를 이용한 식별 및 방법 B를 이용한 재전송; 및
4. 방법 B를 이용한 식별 및 방법 A를 이용한 재전송.
이상은 전송 동안, 각 부호화 심벌이 하나의 패킷 내에만 들어 있다고 가정한다. 그러나, 만일 다수의 부호화 심벌들이 동일한 패킷 내에 포함된다면 또는 만일 단일 부호화 심벌이 다수의 패킷에 분산되어 있다면, 부호화 심벌(및 부호화 심벌을 담고 있는 패킷의 부분 또는 단일 부호화 심벌을 담고 있는 일련의 패킷들 각각)은 적절하게 식별될 필요가 있다.
첫 번째 제1조합(A+A)은 패킷들의 재전송이 동일한 채널에 대해 동일한 송신기(또는 서버) 정보를 사용하고 동일한 FLUTE 세션 내에서 짧은 기간 내에 소망되는 상황에서 유용한 것으로 간주된다. FLUTE 송신기는, 예를 들면, 지난 5분 내에 송신된 모든 SBN들 및 ESI들을 버퍼링(또는 일시적으로 저장)할 수 있다. 만일 재전송 요구(NACK)가 이 기간 내에서 도착한다면, 이 방법은 적용 가능하다.
두 번째 조합(B+B)은 현재 세션이 끝나고 난 후에 아마도 그 후 긴 시간 뒤에 재전송신이 필요한 상황에서 유용한 것으로 간주된다. 세션 동안의 전송들에 관한 모든 장기간 정보를 버퍼링하는 것이 송신기기(10)에 대해 가능하지 않으므로, 비 제한적 실시예에서 "제3자 서버" 또는 수리 서버(또는 단순히 별도의 서버(미도시))가 전송 정보를 버퍼링하도록 구성된다. 이 서버는, 예를 들면, 원래의 송신기(예컨대, BM-SC(Broadcast Multicast - Service Centre)라 불리기도 하는 MBMS(multimedia broadcast/multicast service) 서버)와 동일한 장소에 위치될 수 있거나, 또는 예를 들면, UMTS 운영자의 네트워크 내의 별도의 서버일 수 있다. 그 다음에 이 서버는 나중 시간에 손실된 패킷들을 재전송할 수 있다. 이것의 예는 GPRS(UMTS) 액세스가 더 쌀 때인 밤에 손실 패킷들을 GPRS 또는 UMTS로 재전송하는 서버이다. 많은 수신기기(20)로부터의 재전송 요구들(NACK들)로 송신기기(10)가 오버로드되는 것을 피하기 위해, 재전송은 전송 세션이 끝난 직후에, 또는 그 후이고 데이터가 수신기기(20)에 의해 소비되기 전의 어떤 임의의 시간에 시작할 수도 있다. 별도의 수리 서버를 가진다는 아이디어는 다른 실시예들에도 적용된다.
다음의 단계들은 앞서의 예시적인 실시예를 도시한다:
1. 송신기기(10)는 하나 이상의 파일을 FLUTE 세션을 이용하여 전송한다.
2. 세션의 끝에, 수신기기(20)는 그것이 수신하지 않은 모든 패킷들을 위해 하나 이상의 NACK 메시지(들)를 송신한다. 이 NACK 메시지는 새로운 세션의 시작을 나타낸다.
3. 송신기기(10)는 수신기기(20)에 의해 요구된 모든 데이터를 새로운 세션에 재송신한다.
4. 새롭게 만들어진 세션은 그 다음에 송신기기(10)에서 그리고 수신기기(20)에서 완료된다.
위의 단계 2에 관련한 예로서, 다음의 방법은 HTTP 상에서 특정 SBN 및 ESI들을 이용하여 데이터를 위해 NACK를 송신하는데 이용될 수 있다:
http://www.3.com/greatmusic/number1.mp3?mbms-rel6-flute- repair & SBN =123; ESI =234.
여기서 SBN 및 ESI는 부정적으로 수신확인되는(즉, NACK되는) 파일의 부분들의 소스 블록 번호 및 부호화 심벌 ID이다. 여기서 파일명은 number1 . mps이고 NACK되는 SBN 및 ESI는 각각 123 및 234이다. 위의 HTTP 쿼리에서, SBN 및 ESI 필드들은 또한 SBN 및 ESI 범위들을 위해 NACK에 이용될 수 있다. 예를 들어,
http://www.3.com/greatmusic/number1.mp3?mbms-rel6-flute- repair & SBN =123&126&127; ESI =234-238.
위의 것은 파일 number1 . mp3 , SBN 123, 126 및 127과 ESI 234 내지 238에 대해 NACK한다. 다른 그러한 몇 개의 조합이 가능한데, 예를 들면 다음과 같다:
a) SBN;ESI_list(예컨대, ...&SBN=123; ESI=234,236,238)
(동일 SBN 내의 손실 ESI들의 목록)
b) SBN;all_symbols(예컨대, ...&SBN=123)
(SBN 123에 속한 모든 ESI들이 손실)
c) SBN-range;all_symbols(예컨대, ...&SBN=123-129)
(SBN 범위 123-129에 속한 모든 ESI들이 손실)
d) "비 연속적 범위들"
d.1) (예컨대... &SBN=123;ESI=234+SBN=200;ESI=23)
(SBN 123에 속한 ESI 234 및 SBN 200에 속한 ESI 23은 손실), 또는
d.2) (...&SBN=123-129+SBN=200;ESI=23-59+SBN=200;ESI=101)
(SBN 범위 123-129에 속한 모든 ESI들과 SBN 200에 속한 범위 23-59의 모든 ESI들 및 SBN 200에 속한 ESI 101이 손실).
NACK가 하나 이상의 패킷의 재전송을 위한 요구를 포함하는 것이 가능하다. 모든 패킷 요구들을 NACK 요구에 포함시키는 것은 이것이 네트워크 채널 상에서 신뢰성 있게 전송된다면 더 효율적이다. 그렇지 않으면, 모든 패킷들은 수개의 NACK들을 가로질러 요구될 수 있다.
다음은 어떤 FLUTE 세션 동안 손실된 패킷들을 재전송하기 위한 본 발명의 또 다른 실시예를 기술한다. 이 실시예는 이전의 4가지 식별/재전송 조합들에 무관하다.
이 실시예에서 FLUTE 세션 맥락(SBN, ESI, TSI 및 TOI)은 나중의 비-FLUTE 사용을 위해 저장된다. 이 맥락(context)은 그 다음에 비-FLUTE 방법을 사용하여 데이터를 전송하기 위해 사용될 수 있다. 이것을 이행하기 위해, "세션 맥락"을 고유하게 식별하는 식별자, 예컨대, 멀티캐스트 ID를 가지는 것이 유용하다고 간주된다. 여기서 '세션 맥락'은, 예를 들면, 세션을 위한 고유한 식별자를 형성하기 위해 조합되는 세션의 모든 식별자들일 수 있다. 비록 여기에 사용된 재전송 방법이 앞서 기재된 조합 방법 4에서와 동일하지만, 세션 정보의 저장에 관해 차이가 있다는 점에 유의할 필요가 있다. 실시예에서, 세션 정보는 송신기기 및 수신기기 둘 다에 의해 저장되고, 송신기기 및 수신기기 사이에 FLUTE 세션의 밖에서 통신된다.
발명의 또 다른 실시예에 따르면, 수신기기(20)는, 재전송을 필요로 하는 패킷들을 계산하는 외에, 재전송을 필요로 하는 (송신기기(10)에 의해 전송되는 원래 객체의) 바이트 범위들을 계산한다. 또한 이 실시예에서, SBN 및 ESI는 식별에 사 용될 수 있다. 수신기기는 수신되지 않은 바이트 범위들을 위해 NACK 메시지를 송신한다. 동일한 패킷 내에 다수의 바이트 범위들이 있는 것이 가능하다. NACK 메시지에 응답하여, 송신기기(10)는 원래의 객체로부터 바이트 범위들을 재전송한다. 바이트 범위들 대신에, 수신기기(20)는 또한 비트 범위뿐 아니라 워드 범위를 계산할 수도 있고, 그것들이 재전송되도록 요구할 수 있다.
본 발명의 다른 실시예에서, 손실 용장성의, 소스 외의, 소스 블록(들)의 부호화 심벌들은 식별되고 전부 또는 부분집합(서브세트)은 재전송된다. 수신기기들(20)부터 송신기기들(10)에 송신되는 NACK들은 그래서 용장성 심벌들에 기초한다. 이 스키마는 부호화된 "용장성 심벌들"만이 전송되고 부호화되지 않은 "소스 심벌들"은 전송되지 않고 보통은 각 소스 블록의 특정 문턱 수의 용장성 부호화 심벌들이 소스 블록들을 완성하고 그래서 파일을 재구성하는데 필요한 시스템적 FEC 스키마들에 특히 적용가능하다.
예를 들어, 예시적인 FEC 스키마에서는, 각 소스블록을 위해 송신기기에 의해 1000개 심벌이 전송되고 정확히 500이 파일의 전달을 완료(또는 정확히 수행)하기 위해 수신기기에 의해 수신될 것이 요구되는 문턱 수인 경우가 있을 수 있다. 그러나, 이 예시적인 경우에서, 수신기기는 490개 심벌만을 얻을 수 있다(단일 소스 블록으로부터의 부호화 심벌들만이 손실된다고 가정하면, 만일 수 개의 소스 블록으로부터의 부호화 심벌들이 손실된다면, 손실 심벌들을 가지는 각 소스 블록을 위해 다음 계산이 실행될 필요가 있다). 그러한 시나리오에서, 각 파일의 소스 블록마다 적용되는 다음의 가능성들이 있을 수 있다:
1. 수신기기는 손실 심벌들을 식별하며; 수신기기는 블록을 완성하는데 충분한 블록 수를 산출하며; 수신기기는 손실 심벌들의 부분집합(그것을 완성하기에 충분한)에 대해 부정적 수신확인(NACK)하며; 송신기기는 이 심벌들을 재송신하고,
2. 수신기기는 손실 심벌들을 식별하며; 수신기기는 모든 손실 심벌들을 NACK하며, 송신기기는 모든 이 심벌들을 재송신하고,
3. 수신기기는 손실 심벌들을 식별하며; 수신기기는 모든 손실 심벌들을 NACK하며, 송신기기는 얼마나 많아야 블록을 완성하기에 충분한지를 산출하며; 송신기기는 손실 심벌들("충분한" 수)의 부분집합을 선택하고; 송신기기는 이 심벌들을 재송신하고,
4. 수신기기는 수신된 심벌들을 수신확인(ACK)하며; 송신기기는 손실 심벌들을 식별하며; 송신기기는 모든 이 심벌들을 재송신하고,
5. 수신기기는 수신된 심벌들을 ACK하며; 송신기기는 손실 심벌들을 식별하며; 송신기기는 얼마나 많아야 블록을 완성하는데 충분한지를 산출하며; 송신기기는 손실 블록들("충분한" 수)의 부분 집합을 선택하며; 송신기기는 이 심벌들을 재송신한다.
조합식 NACK들(또는 ACK들)의 선택 그래서 하나를 넘는 심벌, 하나를 넘는 소스 블록 및/또는 하나를 넘는 파일이 각 NACK에서 참조되는 것은 애플리케이션마다의 최적화의 문제이다.
"충분한" 심벌들의 정의는 특히 수리가 일부 다른 수단들(TCP 전송과 같은)에 의해 신뢰성 있게 행해질 수 있을 때 문턱 수를 완성하기 위해 요구되는 수(위 예에서 510 중의 10)일 수 있거나, 또는 링크 상의 손실을 고려한 것보다 많을 수 있다(예컨대, 위의 예에서 51%의 심벌들이 손실되었고, 그래서 만일 동일한 통신채널이 다시 사용되었다면 유사한 것을 예상할 수 있어, 아마 10*(100/51) = 20개 심벌을 재송신하는 것이 더 적합할 수 있다. 또한, 부가의 안전 마진이 추가될 수 있고(예컨대, 버스트 에러들을 다루기 위해), 그래서 만일 이것이 3개의 심벌이라면, 10개만이 "완성하는데" 필요한 경우에도 23개 심벌로 수리할 수 있다. 이 승수(여기서 "100/51")와 상수(여기서 3) 둘 다는 균일한 패킷 손실(그 예들에서와 같이)을 가정할 수 있거나, 원래의 전송의 손실 패턴에 의존할 수 있다. 예를 들면, 송신기기는 손실 심벌들의 분포를 분석할 수 있고 만일 불균일(예컨대 3개의 연속하는 심벌이 대략 모든 20개 심벌마다 자주 소실된다)이라면 얼마간의(예컨대, 20개마다 3개의 심벌) 부가적인 심벌들이 추가될 수 있다(이 예에서 다시 23개 심벌이 됨).
하나의 추가적인 예는 파일을 완성하는데 요구된 소스 블록의 10개 심벌의 상기 문턱 수를 식별한 후 수신기기가 이 10개 심벌의 재전송을 요구하는 NACK을 송신기기에 송신하는 것일 수 있다. 송신기기는 이 심벌들을 그것들이 더 일찍 캐시(cache)되었으므로 재송신할 수 있거나, 또는 대체 방법에서, 송신기기는 심벌들에 대응하는 파일(들) 및 소스 블록들에 대한 FEC 부호화의 반복을 수행하고, 이 심벌들을 재전송한다. 이 후자의 방법은 초기 전송 및 수리 서버 기능성이 분리 가능하게 하고, 아마도 별개의 서버 장비 속에 전개 가능하게 한다.
다른 추가의 예는 수신기기가 510개 손실 심벌의 각각에 대해 NACK(또는 대 체 실시예에서 그것이 490개 심벌을 수신하였다는 수신확인)를 송신하는 것일 수 있다. 송신기기는 그 다음에 10개의 손실 심벌만을 재전송하거나, 모든 510개 손실 심벌을 재전송한다. 재전송은 이전에 캐시된 심벌들 또는 새롭게 FEC-부호화된 심벌들로 될 수 있다.
수신기기(들)부터 송신기기(들)에 송신되는 재전송(또는 수리) 요구 외에도, 식별 심벌들에 기초하여, 요구는 하나 이상의 바이트 범위를 파일에서 및/또는 그것들의 소스 블록들에서 지정할 수 있다. 이것은 만일 수신된 심벌들이 블록들로부터 손실 바이트 범위들을 산출하는데 충분하다면 적용가능하다.
점-대-점 또는 점-대-다점 전송이 손실 패킷들을 재전송하기 위해 이용될 수 있다는 것이 설명되었다. 명백한 실시예는 점-대-다점 재전송(또는 수리)을 지향하고 있다. 이 실시예에서, 관계된 각 수신기기는 송신기기에 점-대-점 연결(또는 세션)로 부정적 수신확인(NACK) 메시지를 보낸다. 송신기기에서 수신되는 NACK들의 수 및/또는 내용에 의존하여, 송신기기는 다음의 결정을 한다:
1) 손실 블록(들)을 점-대-점 연결(들)을 이용하여 각 수신기기에 따로따로 송신할지; 또는
2) 점-대-다점 연결(즉 멀티캐스트 또는 브로드캐스트 또는 유사물)을 이용하여 손실 블록(들)을 송신할지.
만일 많은 수의 수신기기가 동일 손실 패킷들에 관계된 NACK 요구들을 송신한다면, 두 번째 옵션이 더 바람직할 수 있다. 이런 식으로, 단일한 하나의 재전송으로, 다수의 수신기들의 수리를 할 수 있고 자원을 절약할 수 있다.
도 3은 발명의 실시예에 따르는 시스템과 수신기기의 세부를 보인다. 이 시스템은 송신기기(10), 전송네트워크(30), 예컨대, IP네트워크 또는 다른 고정식 네트워크, 무선 네트워크 또는 고정식 및 무선(셀룰러) 네트워크 등의 조합, 및 수신기기(20)를 포함한다. 수신기기(20)는 셀룰러 전화기, 위성 전화기, 개인휴대 정보단말 또는 블루투스 기기, WLAN 기기, DVB 기기 또는 다른 유사한 무선 기기일 수 있다. 이 기기(20)는 내부메모리(MEM; 21), 프로세서(22), 운영체제(OS; 23), 응용프로그램들(24), 네트워크 인터페이스(25) 및 식별 및 NACK 메커니즘(26)을 포함한다. 내부메모리(21)는 프로세서(22), 운영체제(23) 및 응용프로그램들(24)을 수용한다. 식별 및 NACK 메커니즘(26)은 데이터 전송 시에 손실 또는 망가진 데이터 블록들에 응답하여 데이터 패킷들의 식별 및 NACK들 또는 데이터의 송신기기(10)에의 전송을 가능하게 한다. 기기(20)는 송신기기(10) 및 다른 기기들과는 네트워크 인터페이스(25) 및 네트워크(30)를 통해 통신할 수 있다.
도 4는 발명의 실시예에 따르는 송신기기(10)를 보인다. 송신기기(10)는, 예를 들면, 파일(또는 미디어) 전달을 위해 의도된 네트워크 서버 또는 어떤 적당한 기기일 수 있다. 이 기기(10)는 내부메모리(MEM; 11), 프로세서(12), 운영체제(OS; 13), 응용프로그램들(14), 네트워크 인터페이스(15) 그리고 전송 및 재전송 메커니즘(16)을 포함한다. 내부메모리(11)는 프로세서(12), 운영체제(13) 및 응용프로그램들(14)을 수용한다. 전송 및 재전송 메커니즘(16)은 데이터 패킷들의 전송과 수신기기(20)로부터 수신된 NACK들에 응답하여 데이터 패킷들의 재전송을 할 수 있다. 기기(10)는 수신기기(20) 및 다른 기기들과는 네트워크 인터페이스(15) 및 네 트워크(30)를 통해 통신할 수 있다.
손실된 데이터 패킷들의 식별과 그것의 재전송에 관한 절차들은 소프트웨어에 의해 구현될 수 있다. 수신기기(20)에 저장되고 프로세서(22)에서 실행되는 프로그램코드를 포함하는 컴퓨터프로그램 생성물은 전송세션의 수신단에서 절차들을 구현하기 위해 이용될 수 있는 반면, 송신기기(10)에 저장되고 프로세서(12)에서 실행되는 프로그램코드를 포함하는 컴퓨터프로그램 생성물은 전송단에서 절차들을 구현하기 위해 이용될 수 있다.
다음에서, 본 발명의 실시예들의 이점이 논의된다. 본 발명의 실시예들은 손실 데이터를 재전송하기 위한 새로운 프레임워크를 제공한다.
앞서의 내용에 기초하여 명백하게 되는 바와 같이, 이 프레임워크는 다음 시나리오들에서 손실된 데이터의 재전송을 허용한다:
● FLUTE의 세션 내에서, 손실 패킷들에 관한 정보가 송신기기에서 여전히 이용가능하고 NACK이 단기(short time) 프레임 내에서 송신기기에 의해 수신될 때.
● 손실 패킷들을 그것들이 처음 전송되는 원래의 FLUTE 세션 외에서 재전송하는 것이 요구될 때. 이 재전송은 FLUTE를 이용하여 또는 다른 전송방법을 이용하여 일어날 수 있다.
발명의 실시예들이 제공하는 얼마간의 이점들은 다음과 같다:
● (연속적 또는 불연속적) 손실 블록들(또는 패킷들)을 고유하게 식별하는 방법
● 하나(또는 다수)의 파일(들)의 손실 블록들(또는 패킷들)을 동일한(또는 다수의) 세션(들)에 걸쳐 식별하는 방법
● 다수의 전송 프로토콜들로 손실 블록들(또는 패킷들)을 식별하고 재전송하는 방법
● 손실 패킷들을 적당한 시간에 재전송하는 능력. 적당한 시간이 다수의 가능한 규준들(이를테면 이용가능한 대역폭, 더 싼 캐리어 등)을 이용하여 선택되는 경우
● 손실 패킷들을 신뢰성 있게(만일 밑에 있는 전송 프로토콜이 신뢰성 있다면) 그리고 단일 수리 전송 세션으로 재전송하는 능력.
따라서, 발명의 실시예들은 일-대-다 멀티캐스트 세션 내에 또는 밖에서 손실된 블록들을 위해 부정적 수신확인(NACK)을 식별하고 송신하는 방법들을 제시한다.
발명의 특정 구현예들 및 실시예들이 기술되었다. 이 기술분야의 당업자에게는 본 발명이 위에 제시된 실시예들의 세부사항에 한정되지 않고 발명의 특징들로부터 벗어나는 일 없이 동등한 수단을 이용하여 다른 실시예들에 구현될 수 있다는 것이 명백할 것이다. 발명의 범위는 첨부된 청구항들에 의해서만 한정된다.

Claims (35)

  1. 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위한 방법에 있어서,
    적어도 하나의 데이터블록을 송신기부터 적어도 하나의 수신기에 전송하는 단계;
    수신기에서 수신되기로 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터블록을 식별하는 단계;
    상기 데이터블록을 재전송하는 동작을 행하는 단계를 포함하며, 상기 방법은,
    블록번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 식별을 수행하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 다른 식별정보는 한 세트의 세션매개변수들을 포함하는 방법.
  3. 제1항에 있어서, 상기 다른 식별정보는 전송객체 식별자를 포함하는 방법.
  4. 제1항에 있어서, 단방향 전송에 의한 파일 전달에 대해 지시되며 일-대-다 전송 시나리오가 가능한 세션기반 프로토콜이 이용되는 방법.
  5. 제4항에 있어서, 상기 프로토콜은 FLUTE(File Delivery over Unidirectional Transport) 또는 유사물이고, 상기 블록번호는 소스 블록 번호(SBN)이며, 상기 부호화 식별자는 부호화 심벌 식별자(ESI)이며, 식별에 이용되는 한 세트의 세션 매개변수들은 소스주소, 행선지주소 및 전송세션식별자(TSI)로 구성된 그룹으로부터 선택되고, FLUTE에 의해 정의된 전송객체식별자(TOI)가 식별에 이용되는 방법.
  6. 제1항에 있어서, 상기 다른 식별정보는 파일의 정보를 포함하는 방법.
  7. 제1항에 있어서, 상기 다른 식별정보는 블록화 정보를 포함하는 방법.
  8. 제1항에 있어서, 단방향 전송에 의한 파일 전달에 대해 지시되며 일-대-다 전송 시나리오가 가능한 세션기반 프로토콜이 이용되는 방법.
  9. 제8항에 있어서, 상기 프로토콜은 FLUTE(File Delivery over Unidirectional Transport) 또는 유사물이고, 상기 블록번호는 소스 블록 번호(SBN)이며, 상기 부호화 식별자는 부호화 심벌 식별자(ESI)이며, 식별에 이용되는 파일의 정보는 파일과 파일 길이와 같은 파일 매개변수들 및 MD5코드와 같은 암호코드의 인터넷 식별자(URI)로 구성된 그룹으로부터 선택되고, 식별에 이용되는 블록화 정보는 이용되는 블록화 알고리즘, 최대소스블록길이와 같은 블록화 매개변수들, 부호화심벌길이 및 파일길이로 구성된 그룹으로부터 선택되는 방법.
  10. 제1항에 있어서, 상기 방법은 송신기 및 수신기 사이에 일-대-다 시나리오의 전송을 지시하는 FLUTE 또는 유사물과 같은 프로토콜을 이용할 때에 데이터블록 전송을 위한 세션을 제공하는 단계를 포함하는 방법.
  11. 제1항에 있어서, 상기 데이터블록을 재전송하는 동작을 행하는 단계는 수신기에서 송신기에 부정적 수신확인(NACK) 메시지를 송신하는 단계를 포함하는 방법.
  12. 제11항에 있어서, 파일 전달은 제1세션에서 이행되고 상기 부정적 수신확인 메시지는 동일한 제1세션 동안에 재전송이 일어나도록 하는 방법.
  13. 제11항에 있어서, 파일 전달은 제1세션에서 이행되고 상기 부정적 수신확인 메시지는 제1세션 외의 세션 동안에 재전송이 일어나도록 하는 방법.
  14. 제13항에 있어서, 상기 다른 세션은 상기 제1세션이 경과한 후에 수립되는 세션인 방법.
  15. 제11항에 있어서, 상기 부정적 수신확인 메시지는 적어도 하나의 데이터 블록 또는 패킷을 재전송하는 요구를 포함하는 방법.
  16. 제15항에 있어서, 상기 부정적 수신확인 메시지는 전송세션의 끝에 전송되고, 상기 부정적 수신확인 메시지는 손실된 블록들의 재전송을 수행하기 위해 새로운 세션의 시작을 나타내는 방법.
  17. 제1항에 있어서, 세션 맥락이 나중의 사용을 위해 저장되는 방법.
  18. 제17항에 있어서, 상기 세션 맥락은 소스 블록 번호(SBN), 부호화 심벌 식별자(ESI), 전송 세션 식별자(TSI) 및 전송 객체 식별자(TOI), 세션 맥락 자체를 고유하게 식별하는 식별자와 같은 세션 내의 식별자들을 포함하는 방법.
  19. 제1항에 있어서, 데이터 블록들의 초기 전송은 FLUTE 세션에 수행되고 재전송은 동일하거나 다른 FLUTE 세션 또는 다른 세션에 수행되는 방법.
  20. 제1항에 있어서, 부정적 수신확인 메시지는 한 세트의 수신기들에서 송신기에 점 대 점 세션으로 송신되고, 재전송은 점-대-다점 세션으로 수행되는 방법.
  21. 제20항에 있어서, 상기 세트의 수신기들은 하나를 넘는 수신기를 포함하는 방법.
  22. 제1항에 있어서, 재전송은 유니캐스트(점-대-점) 전송에 의해 수행되는 방 법.
  23. 일-대-다 전송을 할 수 있는 시스템에서 파일 전달을 위한 수신기기에 있어서,
    적어도 하나의 데이터 블록을 송신기로부터 수신하기 위한 수단;
    수신기에서 수신하리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 식별하기 위한 수단;
    상기 데이터 블록의 재전송을 위하여 동작을 행하는 수단을 포함하며,
    식별하기 위한 상기 수단은, 블록번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 데이터 블록의 식별을 위해 구성되는 수신기기.
  24. 제23항에 있어서, 상기 다른 식별정보는 한 세트의 세션 매개변수들을 포함하는 수신기기.
  25. 제23항에 있어서, 상기 다른 식별정보는 전송객체 식별자를 포함하는 그 수신기기.
  26. 제23항에 있어서, 상기 다른 식별정보는 파일의 정보를 포함하는 그 수신기기.
  27. 제23항에 있어서, 상기 다른 식별정보는 블록화 정보를 포함하는 수신기기.
  28. 일-대-다 전송을 할 수 있는 시스템에서 파일 전달을 위한 수신기기에서 실행 가능한 소프트웨어 애플리케이션에 있어서,
    수신기기가 적어도 하나의 데이터 블록을 송신기로부터 수신하도록 하는 프로그램코드;
    수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 식별하기 위한 프로그램코드;
    상기 데이터 블록의 재전송을 유발하기 위한 동작을 수신기기가 행하도록 하는 프로그램코드를 포함하며,
    식별하기 위한 상기 프로그램코드는 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 데이터 블록의 식별을 위해 구성되는 소프트웨어 애플리케이션.
  29. 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위한 송신기기에 있어서,
    적어도 하나의 데이터 블록을 적어도 하나의 수신기에 전송하기 위한 수단; 및
    수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 재전송하기 위한 수단으로서, 상기 데이터 블록은 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 식별된 것인 송신기기.
  30. 일-대-다 전송할 수 있는 시스템에서 파일 전달을 위해 송신기기에서 실행 가능한 소프트웨어 애플리케이션에 있어서,
    송신기기가 적어도 하나의 데이터 블록을 적어도 하나의 수신기에 전송하도록 하는 프로그램코드; 및
    수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 송신기기가 재전송하도록 하는 프로그램코드로서, 상기 데이터 블록은 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 식별된 것인 소프트웨어 애플리케이션.
  31. 일-대-다 전송할 수 있는 시스템에 있어서,
    적어도 하나의 데이터 블록을 송신기에서 적어도 하나의 수신기에 전송하기 위한 수단;
    수신기에서 수신되리라 예상되었지만 수신되지 않았거나 올바르지 않게 수신된 데이터 블록을 식별하기 위한 수단;
    상기 데이터 블록을 재전송하는 동작을 행하기 위한 수단을 포함하며,
    식별하기 위한 상기 수단은 블록 번호, 부호화 식별자 및 다른 식별정보를 기초로 하여 상기 데이터 블록의 식별을 위해 구성되는 시스템.
  32. 제31항에 있어서, 상기 다른 식별정보는 한 세트의 세션 매개변수들을 포함 하는 시스템.
  33. 제31항에 있어서, 상기 다른 식별정보는 전송객체 식별자를 포함하는 시스템.
  34. 제31항에 있어서, 상기 다른 식별정보는 파일의 정보를 포함하는 시스템.
  35. 제31항에 있어서, 상기 다른 식별정보는 블록화 정보를 포함하는 시스템.
KR1020067016301A 2004-02-13 2005-02-11 손실 부분들의 식별 및 재전송 KR100855386B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/778,926 2004-02-13
US10/778,926 US7599294B2 (en) 2004-02-13 2004-02-13 Identification and re-transmission of missing parts

Publications (2)

Publication Number Publication Date
KR20060120248A true KR20060120248A (ko) 2006-11-24
KR100855386B1 KR100855386B1 (ko) 2008-09-04

Family

ID=34838272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016301A KR100855386B1 (ko) 2004-02-13 2005-02-11 손실 부분들의 식별 및 재전송

Country Status (14)

Country Link
US (1) US7599294B2 (ko)
EP (2) EP2728783A1 (ko)
JP (1) JP4357535B2 (ko)
KR (1) KR100855386B1 (ko)
CN (1) CN1918841B (ko)
AU (1) AU2005212895A1 (ko)
BR (1) BRPI0507557A (ko)
CA (3) CA2553069C (ko)
ES (1) ES2488846T3 (ko)
MY (1) MY143914A (ko)
SG (1) SG149868A1 (ko)
TW (1) TWI312622B (ko)
WO (1) WO2005078982A1 (ko)
ZA (1) ZA200607568B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101412422B1 (ko) * 2009-12-17 2014-06-25 인텔 코오퍼레이션 감소된 네트워크 오버헤드로 일대다 데이터 송신들을 용이하게 하기 위한 방법 및 시스템

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US6909383B2 (en) 2002-10-05 2005-06-21 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
EP2722995B1 (en) 2003-10-06 2023-04-19 QUALCOMM Incorporated Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
DK1716665T3 (da) * 2004-02-18 2009-08-10 Ericsson Telefon Ab L M Fremgangsmåde og anordning til pålidelig udsendelse
US20050223098A1 (en) * 2004-04-06 2005-10-06 Matsushita Electric Industrial Co., Ltd. Delivery mechanism for static media objects
KR101161193B1 (ko) 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
GB2419975A (en) * 2004-11-09 2006-05-10 Nokia Corp Auxiliary content handling
US8806435B2 (en) * 2004-12-31 2014-08-12 Intel Corporation Remote logging mechanism
GB2441059B (en) * 2005-03-07 2009-12-16 Intel Corp Self-adaptive multicast file transfer protocol
WO2007052143A2 (en) * 2005-11-04 2007-05-10 Nokia Corporation Method, wireless local area network (wlan), node and apparatus for multicast and/or broadcast ackowledgements
JP5550834B2 (ja) 2006-02-13 2014-07-16 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7664198B2 (en) * 2006-03-21 2010-02-16 Kyocera Corporation System and method for broadcasting data over a wireless network using rateless codes
JP5277158B2 (ja) * 2006-04-11 2013-08-28 トムソン ライセンシング データ受信方法、修復方法および対応する端末
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
CN100454822C (zh) * 2006-05-13 2009-01-21 华为技术有限公司 一种用于多媒体广播和组播业务中的下载分发方法
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US20080101317A1 (en) * 2006-10-30 2008-05-01 Nokia Corporation System and method for providing advanced session control of a unicast session
CA2577030A1 (en) * 2007-01-31 2008-07-31 Unlimi-Tech Software Inc. Improved data transfer method, system and protocol
MX2010002829A (es) * 2007-09-12 2010-04-01 Digital Fountain Inc Generacion y comunicacion de informacion para identificacion de fuentes para permitir comunicaciones seguras.
JP2009094863A (ja) * 2007-10-10 2009-04-30 Nippon Telegr & Teleph Corp <Ntt> 高信頼マルチキャストデータ配信システム,高信頼マルチキャストデータ配信方法および高信頼マルチキャストデータ配信プログラム
JP2009135772A (ja) * 2007-11-30 2009-06-18 Oki Semiconductor Co Ltd ルータ装置
EP2109293A1 (en) * 2008-04-11 2009-10-14 Thomson Licensing System and method for improving the file transmission reliability
TWI486040B (zh) * 2008-10-10 2015-05-21 Thomson Licensing 在接收器要求失落符號之方法及其接收器
CN101420317B (zh) * 2008-11-21 2011-10-26 华为终端有限公司 媒体文件录制错误的修复方法、录制终端、服务器和系统
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
AU2010232634B2 (en) * 2009-04-01 2015-06-04 Qualcomm Incorporated Managing transmissions among nodes communicating over a shared communication medium
US9015564B2 (en) * 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8397120B2 (en) * 2009-12-15 2013-03-12 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method of error correction for a multicast message
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8619776B2 (en) * 2010-12-20 2013-12-31 Lockheed Martin Corporation Multiprotocol offload engine architecture
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
CN102790664A (zh) * 2011-05-19 2012-11-21 昆盈企业股份有限公司 一对多无线数据传输方法及装置
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
KR101591238B1 (ko) * 2011-11-01 2016-02-18 퀄컴 인코포레이티드 Http 서버들 사이의 소스 데이터 및 리페어 데이터의 할당에 의한 컨텐츠 전달 시스템
CN103138871B (zh) * 2011-11-23 2015-09-30 毕书清 移动通讯系统中应用程序的服务器数据处理系统和方法
CN103209195A (zh) * 2012-01-11 2013-07-17 国家电网公司 数据获取方法、终端以及远端设备
US9213605B2 (en) 2012-01-23 2015-12-15 Intel Corporation IP multimedia subsystem and method for MBMS file repair using HTTP servers
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US8909605B1 (en) * 2013-02-28 2014-12-09 Emc Corporation Method and system for accelerating data movement using change information concerning difference between current and previous data movements
US9900166B2 (en) * 2013-04-12 2018-02-20 Qualcomm Incorporated Methods for delivery of flows of objects over broadcast/multicast enabled networks
WO2022006850A1 (en) * 2020-07-10 2022-01-13 Qualcomm Incorporated Transmitting encoding symbol identifier of raptor codes using control channel coding
CN114499993B (zh) * 2021-12-30 2022-11-29 郑州大学 一种基于单向光闸的高可靠性安全传输与控制系统及方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05219056A (ja) 1992-02-04 1993-08-27 Nec Corp 同報通信方式
JP3614907B2 (ja) * 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
JPH09270790A (ja) 1996-04-01 1997-10-14 N T T Data Tsushin Kk ファイル配信方法及び通信制御装置
US6148005A (en) * 1997-10-09 2000-11-14 Lucent Technologies Inc Layered video multicast transmission system with retransmission-based error recovery
US6505253B1 (en) * 1998-06-30 2003-01-07 Sun Microsystems Multiple ACK windows providing congestion control in reliable multicast protocol
US6678855B1 (en) * 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
JP2002124992A (ja) 2000-08-10 2002-04-26 Kddi Corp マルチキャストによるデータファイル配信方法
DE10129777A1 (de) 2001-06-20 2003-01-02 Siemens Ag Verfahren und Vorrichtung zur Datenübertragung gemäß einem ARQ-Verfahren
CN1225860C (zh) * 2001-11-28 2005-11-02 华为技术有限公司 一种混合自动重传方法
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
US7430617B2 (en) * 2003-12-19 2008-09-30 Nokia Corporation Method and system for header compression
US7296205B2 (en) * 2004-02-18 2007-11-13 Nokia Corporation Data repair
US7423986B2 (en) * 2004-03-26 2008-09-09 Cisco Technology, Inc. Providing a multicast service in a communication network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101412422B1 (ko) * 2009-12-17 2014-06-25 인텔 코오퍼레이션 감소된 네트워크 오버헤드로 일대다 데이터 송신들을 용이하게 하기 위한 방법 및 시스템
US8977772B2 (en) 2009-12-17 2015-03-10 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead
US10503599B2 (en) 2009-12-17 2019-12-10 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead

Also Published As

Publication number Publication date
BRPI0507557A (pt) 2007-07-03
TWI312622B (en) 2009-07-21
JP4357535B2 (ja) 2009-11-04
US7599294B2 (en) 2009-10-06
EP1714415B1 (en) 2014-06-04
MY143914A (en) 2011-07-29
SG149868A1 (en) 2009-02-27
JP2007520961A (ja) 2007-07-26
CA2770432C (en) 2014-07-29
AU2005212895A1 (en) 2005-08-25
ZA200607568B (en) 2009-04-29
EP2728783A1 (en) 2014-05-07
CA2553069C (en) 2012-04-03
US20050182842A1 (en) 2005-08-18
CA2851953A1 (en) 2005-08-25
CA2553069A1 (en) 2005-08-25
CN1918841B (zh) 2010-12-22
CA2770432A1 (en) 2005-08-25
EP1714415A1 (en) 2006-10-25
ES2488846T3 (es) 2014-08-29
TW200534630A (en) 2005-10-16
KR100855386B1 (ko) 2008-09-04
WO2005078982A1 (en) 2005-08-25
CN1918841A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
KR100855386B1 (ko) 손실 부분들의 식별 및 재전송
KR100904072B1 (ko) 데이터 패킷들의 신뢰성 있는 멀티캐스트 전송을 위한 장치, 시스템, 방법 및 컴퓨터로 읽을 수 있는 매체
US7536622B2 (en) Data repair enhancements for multicast/broadcast data distribution
US7376150B2 (en) Point-to-point repair response mechanism for point-to-multipoint transmission systems
EP1771964B1 (en) Point-to-point repair request mechanism for point-to-multipoint transmission systems
US20050216472A1 (en) Efficient multicast/broadcast distribution of formatted data
JP2007522750A (ja) マルチキャストおよびブロードキャスト送信を処理できるシステムにおけるデータ修復方法
KR100883576B1 (ko) 멀티캐스트/브로드캐스트 데이터 배포를 위한 데이터 복구강화
MXPA06008486A (es) Identificacion y retransmision de partes perdidas
KR100870236B1 (ko) 점-대-다중점 송신 시스템을 위한 점-대-점 보수 응답메커니즘
MXPA06011288A (en) Data repair enhancements for multicast/broadcast data distribution

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: 20120802

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee