KR100831654B1 - 멀티캐스트 및 브로드캐스트 전송을 관리할 수 있는시스템에서 데이터 복구 방법 - Google Patents

멀티캐스트 및 브로드캐스트 전송을 관리할 수 있는시스템에서 데이터 복구 방법 Download PDF

Info

Publication number
KR100831654B1
KR100831654B1 KR1020067018895A KR20067018895A KR100831654B1 KR 100831654 B1 KR100831654 B1 KR 100831654B1 KR 1020067018895 A KR1020067018895 A KR 1020067018895A KR 20067018895 A KR20067018895 A KR 20067018895A KR 100831654 B1 KR100831654 B1 KR 100831654B1
Authority
KR
South Korea
Prior art keywords
recovery
receiver
transmitter
data
time
Prior art date
Application number
KR1020067018895A
Other languages
English (en)
Other versions
KR20060129052A (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 KR20060129052A publication Critical patent/KR20060129052A/ko
Application granted granted Critical
Publication of KR100831654B1 publication Critical patent/KR100831654B1/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
    • 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
    • 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/14Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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

Abstract

본 발명은 일대다 전송이 가능한 시스템에서 데이터 복구 방법에 관한 것이다. 상기 방법은 송신기로부터 적어도 하나의 수신기에게 데이터를 전송하는 단계를 포함하고, 다양한 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구 방법을 제공한다.
Figure R1020067018895
데이터, 복구, 리페어

Description

멀티캐스트 및 브로드캐스트 전송을 관리할 수 있는 시스템에서 데이터 복구 방법{A method for data repair in a system capable of handling multicast and broadcast transmissions}
본 발명은 일반적으로 멀티캐스트 및 브로드캐스트 전송 기술과 적어도 하나의 데이터 소스(또는 송신기) 및 적어도 하나의 수신기 사이의 서비스에 관련된 것이다.
IP 멀티캐스트, IP 데이터캐스팅(IPDC) 및 멀티미디어 브로드캐스트/멀티캐스 서비스(MBMS)와 같은 시스템을 통한 일대다(즉, 포인트-투-멀티포인트 : point to multipoint) 서비스에서 파일 전송(또는 이산(discrete) 미디어 전송 또는 파일 다운로드)은 중요한 서비스이다. FTP(file transfer protocol)와 HTTP(hypertext transfer protocol)과 같은 포인트-투-포인트(point-to-point) 프로토콜을 통한 파일 전송의 많은 특징들은 일대다 시나리오에서는 문제가 있다. 특히, 파일들의 신뢰성 있는 전송-즉, 파일들의 전송 보장-을 위해 TCP(transmission control protocol)와 같은 일대일(즉, 포인트-투-포인트) ACK(acknowledgement) 프로토콜과 유사한 프로토콜을 사용하는 것은 적절하지 않다.
IETF(Internet Engineering Task Force)의 신뢰성있는 멀티캐스트 전송 (RMT : Reliable Muticast Tranport) 워킹 그룹은 에러-내성(error-resilient) 멀티캐스트 전송 프로토콜의 두 가지 카테고리에 대하여 표준화를 진행 중이다. 첫 번째 카테고리에서 신뢰성은 프로액티브(proactive) 순방향 에러 정정(FEC : forward error correction)을 사용을 통해 구현된다. 즉, 수신기가 에러가 포함된 데이터를 다시 복원할 수 있도록 일정양의 리던던트(redundant) 데이터를 전송함으로써 신뢰성을 구현한다. 두 번째 카테고리에서는 신뢰성 있는 멀티캐스트 전송을 구현하기 위해 수신기 피드백(feedback)이 이용된다. 비대칭 계층 코딩(ALC : Asynchronous Layered Coding, RFC 3450)이 첫 번째 카테고리에 속하는 프로토콜의 예이고, NACK-기반 신뢰성 멀티캐스팅(NORM : NACK-Oriented Reliable Multicast) 프로토콜이 두 번째 카테고리에 속하는 프로토콜의 예를 나타낸다. ALC와 NORM은 IETF의 워킹 그룹에 의해 준비된 "Asynchronous Layered Coding (ALC) Protocol Instantiation"(IETF RFC 3450)과 "NACK-oriendted Realiable Multicast Protocol" (Internet Draft)에 자세히 설명되어 있다. 이들 출판물의 내용은 참조에 의해 완전히 본 출원에 결합된다.
이러한 프로토콜들이 사용될 수 있는 액세스(access) 네트워크는 UMTS(Universal Mobile Telecommunications Services) 시스템의 라디오 액세스 네트워크, 무선 랜(wireless local area networks), DVB-T(Digital Video Broadcasting_Terrestrial) 네트워크 및 DVB-S(Digital Video Broadcasting_Satellite) 네트워크와 같은 무선 다중-액세스 네트워크를 포함한다. 그러나 이들 네트워크에 한정되지는 않는다.
간단히 말해, ALC 프로토콜은 수신기들이 망가지거나 수신하지 못한 패킷들을 복원하게 하는 방식에 기초한 프로액티브 FEC이다. ALC 프로토콜은 다중 채널에서 FEC 인코딩을 사용하여, 송신기가 이종 수신기에게 다중 전송율(채널)로 데이터를 전송할 수 있게 한다. 또한, ALC 프로토콜은 다른 채널에서 다른 전송율을 유지하기 위한 혼잡(congestion) 제어 메카니즘을 사용한다.
ALC 프로토콜은 상향링크 신호가 필요하지 않기 때문에 사용자 숫자의 측면에서 매우 가변적이다. 따라서, 어떠한 양의 추가적인 수신기도 시스템 상의 요구를 증가시키기 않는다. 그러나, ALC 프로토콜은 수신이 보장되지 않기 때문에 100% 신뢰성있다고 할 수 없고, 따라서 일반적으로 신뢰성있다가 아닌 강인하다로 표현된다.
다음으로, NORM은 수신기에게 도착할 것으로 예상된 데이터 패킷("데이터 블록"이라고도 함)이 수신기에게 도달하지 않았음(또는 부정확하게 도달하였음)을 알리기 위한 네가티브 확인(NACK : negative acknowledge) 메시지의 사용에 대해 상술한다. 다시 말해, 수신기는 송신기에게 전송된 패킷의 손실이나 손상을 알리기 위해 NACK 메시지를 사용한다. 따라서, 데이터 전송에서 소정의 데이터 블록을 "손실한" 수신기는 송신기가 수신하지 못한 데이터 블록 또는 블록들을 다시 전송할 수 있도록 NACK 메시지를 송신기에게 보낼 수 있다. 또한, NORM 프로토콜은 프로액티브 강인(proactive robust) 전송을 위해 선택적으로 패킷 수준(packet-leve) FEC 인코딩의 사용을 허용한다.
FLUTE(File Delivery over Unidirectional Transport)는 FEC(RFC 3452) 및 ALC 빌딩 블록에 의한 일대다 전송 프로토콜이다. 단방향 시스템에서 송신기로부터수신기에게 파일을 전송하기 위한 프로토콜이다. 포인트-투-멀티포인트(멀티캐스트/브로드캐스트) 무선 시스템에 적합한 특징을 가지고 있다. FLUTE 프로토콜의 상세한 사항은 전술한 IETF 워킹 그룹에 의해 준비된 "FLUTE - File Delivery over Unidirectional Transport" (Internet Draft)에 자세히 설명되어 있다. 이들 출판물의 내용은 참조에 의해 완전히 본 출원에 결합된다.
NACK 메시지는 일반적으로 NORM 스펙에 의한 것이 아니고, FLUTE와 같은 다른 프로토콜들이나 시스템과 함께 사용될 수 있다. ACK는 정확하게 하나 또는 그 이상의 데이터 패킷들을 수신한 후에 정확하게 수신하였음을 알리기 위해 수신기가 전송하는 확인 메시지이다. NACK는 도착하거나/도착할 것으로 예상되었으나, 도착하지 못한 패킷에 대하여 수신기가 송신기에게 전송하는 응답이다.
멀티캐스트나 브로드캐스트 환경에서 데이터 전송은 일대다 방식으로 수행된다. 에러없는 전송이 아니고, 다른 수신기가 다른 에러율을 가지기 쉬운 전송(예를 들어, 다른 셀에 속한 MBMS의 사용자는 다른 신호 품질을 경험하고, 결과적으로 다른 에러율을 경험한다)이면, 증가된 데이터 신뢰성을 제공하는 문제가 발생한다. 이러한 문제는 FEC 및/또는 리페어 세션(session)을 사용을 통해 해결될 수 있다.
FEC는 일정 수준의 에러 복구를 위해 수신기가 전송되는 데이터를 복구할 수 있도록 일정량의 리던던시(redundancy)를 전송되는 데이터에 제공한다. 그런, FEC의 한 가지 문제점은 일반적으로 에러없는 에러복구를 제공하지 못하고, 완전히 에러를 복구하려면 많은 양의 데이터 리던던시를 요구해 채널 대역폭 요구를 증가시 킨다는 점이다.
수신기와 송신기 사이의 복구 세션이 FEC를 보완하여 도입되거나(잔류 채널 에러율을 줄이거나 없애기 위해), 에러 복구를 위한 유일한 방법으로 독립적으로 사용될 수 있다. 복구 세션은 별도의 세션을 사용하는 포인트-투-포인트 채널에서 발생할 수 있다. 이 경우에, 멀티캐스트/브로드캐스트 전송 동안 데이터를 손실한 모든 수신기들은 손실 패킷의 재전송을 요청하기 위해 NACK 요청을 송신기에게 전송한다. 그러나, 만약 모든 수신기들이 최소한 하나의 데이터 패킷을 손실하였다면, 모든 수신기가 동시에 송신기와 포인트-투-포인트 연결을 성립시켜 피드백 폭주(implosion) 즉, 네트워크의 혼잡(상향링크 방향으로 매우 많은 수의 NACK와 하향링크 방향으로 많은 수의 동시 발생하는 재전송 및 네트워크 연결 요청) 및 송신기의 과부하를 야기한다. 이러한 상황은 MBMS 네트워크와 같이 수천명의 사용자가 관련되었을 때 심각하다.
본 발명의 실시예는 가변적(scalable)이고 효과적인 브로드캐스트/멀티캐스트(일대다) 세션의 복구 방법을 제공한다.
본 발명의 일 실시예에 따른 일대다 전송이 가능한 시스템의 데이터 복구 방법은 송신기로부터 적어도 한명의 수신기에게 데이터를 전송하는 단계; 상기 수신기에서의 데이터 손실과 관련하여 송신기 구동형 또는 수신기 구동형의 손실 데이터의 복구를 제공하는 단계를 포함한다.
상기 "일대다 전송"은 본 출원의 문맥에서 적어도 하나의 송신기로부터 하나 이상의 수신기로의 모든 전송으로 고려된다. 따라서, 상기 "일대다"는 "일 대 하나 이상"을 의미하는 것으로 고려될 수 있다. 상기 "손실 데이터"는 부정확하게 수신한 데이터뿐 만 아니라, 수신기가 전혀 수신하지 못한 데이터를 의미하는 것으로 고려될 수 있다.
본 발명의 또 다른 실시예에 따른 일대다 전송이 가능한 시스템의 데이터 복구를 위한 수신 디바이스는 송신기로부터 데이터를 수신하는 수단; 및 상기 수신기 디바이스에서의 데이터 손실과 관련하여 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구 수단을 포함한다.
본 발명의 또 다른 실시예에 따른 일대다 전송이 가능한 시스템의 데이터 복구를 위한 송신 디바이스는 적어도 하나의 수신기에게 데이터를 전송하는 수단; 및 상기 수신기에서의 데이터 손실과 관련하여 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구 수단을 포함한다.
본 발명의 또 다른 실시예에 따른 송신기 디바이스, 네트워크 및 적어도 하나의 수신기 디바이스를 포함하는 일대다 전송이 가능한 시스템은 상기 네트워크를 통해 상기 송신기 디바이스로부터 상기 적어도 하나의 수신기 디바이스에게 데이터를 전송하는 수단; 및 상기 수신기 디바이스에서의 데이터 손실과 관련하여 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 제공하는 수단을 포함한다.
본 발명의 또 다른 실시예에 따른 일대다 전송이 가능한 시스템의 데이터 복구를 위한 수신기 디바이스에서 수행 가능한 소프트웨어 어플리케이션은 상기 수신기 디바이스가 송신기로부터 전송된 데이터를 수신하도록 하는 프로그램 코드; 및 상기 수신기 디바이스에서의 데이터 손실과 관련하여 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 위한 프로그램 코드를 포함한다.
본 발명의 또 다른 실시예에 따른 일대다 전송이 가능한 시스템의 데이터 복구를 위한 송신기 디바이스에서 수행 가능한 소프트웨어 어플리케이션은 상기 송신기 디바이스가 적어도 하나의 수신기에게 데이터를 전송하도록 하는 프로그램 코드; 및 상기 수신기에서의 데이터 손실과 관련하여 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 위함 프로그램 코드를 포함한다.
상기 소프트웨어 어플리케이션은 메모리와 같은 기록 매체에 저장된 프로그램 코드를 포함하는 컴퓨터 프로그램일 수 있다.
종속항들은 본 발명의 실시예와 관련된다. 본 발명의 특정 실시예와 관련된 종속항에 포함된 내용은 본 발명의 다른 양상에 또한 적용 가능하다.
본 발명의 실시예들은 첨부된 도면들을 참조한 예시에 의해 설명될 것이다,:
도 1a는 본 발명의 일 실시예에 따른 일대다 데이터 전송 시나리오를 도시한다.
도 1b는 본 발명의 일 실시예에 따른 다른 손실 데이터 복구 방법을 도시한다.
도 2a는 본 발명의 일 실시예에 따른 단순화된 프로토콜 구조를 도시한다.
도 2b는 본 발명의 또 다른 실시예에 따른 단순화된 프로토콜 구조를 도시한다.
도 3은 본 발명의 일 실시예에 따른 시스템 및 수신기 디바이스의 상세를 도시한다.
도 4는 본 발명의 일 실시예에 따른 송신기 디바이스를 도시한다.
도 5 내지 12는 본 발명의 다양한 실시예를 도시한다.
본원의 서두에 포함된 내용은 상세한 설명을 뒷받침하기 위해 사용될 수 있다. 아래에서 FLUTE(File Delivery over Unidirectional Transport) 프로토콜은 본 발명을 FLUTE만을 포함하도록 한정할 의도없이 예시로써 사용된다. 일대다 멀티캐스트 또는 브로드캐스트 파일 전송이 가능한 모든 적절한 프로토콜이 여기에 사용될 수 있다.
본원과 양수인이 동일한 데이터 패킷의 신뢰성 있는 멀티캐스트 전송 방법에 대한 2003년 12월 24일 출원된 미국 특허 출원 "AN APPARATUS, SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR RELIABLE MULTICAST TRANSPORT OF DATA PACKETS"(serial number XX/XXX,XXX)의 내용은 참조에 의해 완전히 본 출원에 결합된다.
본원과 양수인이 동일한 일대다 전송이 가능한 시스템에서 손실 데이터를 식별하고 재전송하는 방법에 대한 2004년 2월 13일 출원된 미국 특허 출원 "IDENTIFICATION AND RE-TRANSMISSION OF MISSING PARTS"(serial number XX/XXX,XXX)의 내용 또한 참조에 의해 완전히 본 출원에 결합된다.
도 1a는 본 발명의 일 실시예에 따른 일대다 데이터 전송 시나리오를 도시한 다. 송신기 디바이스(10)는 멀티캐스트 데이터 블록들(또는 패킷들)을 수신기 디바이스(20)에 일대다 방식에 의해 전송하기 위해 ALC 및/또는 FEC 매카니즘과 같은 프로액티브 순방향 에러 정정을 사용하는 서버, IP-기반 디바이스, DVB 디바이스, GPRS(또는 UMTS) 디바이스 또는 유사한 디바이스이다. 각각의 수신기 디바이스(20)은 송신기 디바이스(10)에게 손실 블록들(수신하지 못했거나 부정확하게 수신한 블록들)과 관련된 네가티브 확인 NACK 메시지(또는 요청)을 전송한다. NACK 메시지에 대한 응답으로 일반적으로 송신기 디바이스(10)는 FLUTE 세션(원본 전송을 위해 성립한 원본 FLUTE 세션과 동일한 세션 또는 서브시퀀스 세션)에서 손실 블록들을 수신기 디바이스(20)에 재전송한다. FLUTE 대신에 다른 프로토콜을 사용하는 대체적인 세션이 사용될 수도 있다. 본원의 내용에서 재전송 세션을 복구(repair) 세션이라 한다.
데이터는 송신기(10)로부터 수신기들(20)에게 오브젝트(object)들로써 전송된다. 예를들어 하나의 파일, 하나의 JPEG 이미지, 하나의 파일 슬라이스(file slice)는 모두 오브젝트들이다. 송신기 디바이스(10)와 수신기 디바이스(20)사이에 파일(또는 데이터)의 전송을 위한 세션이 성립된다. 단일 세션은 단일 오브젝트 또는 복수 오브젝트들의 전송을 포함할 수 있다. 오브젝트들과 세션들을 구분하기 위해 다른 식별자가 사용된다.
각각의 데이터 블록은 SBN(source block number) 또는 이와 유사한 각각의 블록을 식별하기 위한 숫자를 가지고 있다. 블록들은 인코딩 심볼(encoding symbol)들의 집합으로 표현된다. ESI(enconding symbol identifier) 또는 이와 유 사한 식별자는 차례로 데이터 패킷(또는 블록)의 페이로드에 포함된 인코딩 심볼들이 어떻게 전술한 오브젝트(예를들어, 파일)로부터 생성되었는지를 표시한다.
도 1b는 본 발명의 일 실시예에 따른 다른 손실 데이터 복구 방법을 도시한다. 손실 데이터의 복구는 송신기(10)와 수신기(20) 사이에 성립된 포인트-투-포인트 복구 세션 또는 송신기(10)와 하나 이상의 수신기(20) 사이의 포인트-투-멀티포인트 세션을 사용함으로써 수행될 수 있다. 복구 세션에서 손실 데이터의 전부 또는 일부(경우에 따라 다름)가 송신기(10)로부터 수신기(들)(20)에 전송되거나, 전체 전송이 반복될 수 있다. 복구는 원본 송신기(10)로부터 또는 원본 서버와 연결되고 전송 데이터/정보를 버퍼링(buffering)하도록 구성된 "제 3 서버" 또는 복구 서버(또는 단순히 분리된 서버(미도시))로부터 영향을 받는다. 예를 들어 이러한 서버는 BM-SC(Broadcast Multicast-Service Centre)라 불리는 원본 송신기(예를 들어 MBMS(Multimedia Broadcast/Multicast Service) 서버와 같이 위치할 수도 있고, 예를 들어 UMTS 오퍼레이터의 네트워크에서 분리된 서버로 있을 수도 있다.
일반적으로 본 발명의 실시예에서 FLUTE 또는 별도의 복구 세션은 FLUTE 이외의 다른 프로토콜 예를 들어 HTTP, SMS, FRP, SAP, GRPS 등 적절한 기저(underlying) 프로토콜들에 따라 손실 데이터를 복구하는데 사용될 수 있다.
도 2a는 본 발명의 일 실시예에 따른 단순화된 프로토콜 구조를 도시한다. 이 실시예에 따르면, 송신기 디바이스(10)와 수신기 디바이스(20)를 위해 구현된 프로토콜 스택은 어플리케이션 계층, FLUTE 계층, UDP 및 IP 계층 및 하위 계층들을 포함한다. FLUTE 프로토콜 계층은 계층 코딩 전송(the layered coding transport : LCT) 빌딩 블록(미도시)의 ALC 프로토콜 예의 상위에 위치한다. FEC 빌딩 블록(미도시)이 사용될 수 있다. NACK 메시지와 함께 FLUTE 프로토콜 계층은 송신기 디바이스(10)로부터 수신기(20) 디바이스에 신뢰성있는 데이터 블록 전송을 제공하기 위해 사용된다. 이 프로토콜 구조는 일대다 전송(일대다 "최초 전송" 뿐만 아니라 복구 세션의 일대다 재전송)을 위해 사용될 수 있다.
대체적으로, 일 실시예에서 UDP 계층 대신에 TCP 계층이 사용될 수 있다(도 2b에 도시). 이는 별도의 포인트-투-포인트 복구세션(여기서 : TCP 세션)이 일대일 재전송(즉, 포인트-투-포인트)을 위해 사용되는 경우 적용될 수 있다.
일반적으로 신뢰성있는 멀티캐스트 시스템은 멀티캐스트의 다자간(multiparty) 특성으로 인한 가변성(scalability) 문제를 나타내는 수신기-송신기 제어 및 데이터 메시징(messaging)을 요구하는 문제를 가지고 있는 것으로 알려져 있다. 특히 다음과 같은 세 영역이 있다.
a) 많은 무선 채널들을 활성화 시키는 시간 및 차지하는 무선 대역폭에 있어서, 제한된 무선 대역폭과 활성화 자원은 많은 복구들이 동시에 수행될 수 없게 한다.
b) "복구 콘텐트"를 제공하는 서버 시스템에 있어서 제한된 서버 용량은 제한된 수의 요청들(메시징) 및 특성 시간 윈도우 안에서만 관련된 세션 컨텍스트 데이터 및 제한된 수의 동시 데이터 전송 세션을 다룰 수 있게 한다.
c) 전체 시스템의 하나 또는 그 이상의 병복으로 인한 단대단(end-to-end) 대역폭이 제한된다. 여기서 동시에 복구하기를 원하는 모든 사용자에게 가능할 수 있는 데이터 전송율은 많은 경우에 있어서 이 서비스를 제공하기에 충분하지 않다.
따라서, 일부 또는 전부의 이러한 제한들 하에서 가변성(scalability)을 증가하는 결정적인 요인은 적절한 시간으로 메시징을 분산하거나 가능하다면 그것을 피하는 것이다.
다음에서 효율적으로 멀티캐스트/브로드캐스트 세션을 복구하는 방법들이 제공된다. 방법들은 송신기 결정 또는 수신기 결정에 기초한다.
다음의 논의에서 주어진 멀티케스트/브로드캐스트 네트워크 구조(예를 들어, 3GPP TS 23.246 Rel. 6, V.6.1.0, sec. 7.1에 정의된 어플리케이션 부속 엔티티(application adjunct entity))에서 "송신기"는 데이터 소스 또는 다른 부가 또는 동반 데이터 소스 유닛을 표시한다. 일반적으로, 두개 모두 동기가 일반적으로 동일하기 때문에 "NACK"(Negative Acknowledgement)는 "복구 요청"을 대신하여 사용된다. 그러나 각각의 이러한 방법들은 신뢰성있는 전송보다 데이터 수집이 최우선되는 실시예들에 있어서는 NACK이 복구를 위한 요청을 포함하지 않도록 사용될 수 있다. 에러/손실 데이터를 네가티브 확인(NACKing)하는 것이 일반적으로 포지티브 확인 방식들보다 더 효율적인 확인 방식임을 또한 인지하여야한다. 그러나, 이는 포지티브 ACK 방식과 함께 설명된 방법들을 사용하는 것을 배제하지는 않는다.
A) 송신기 구동형 복구 방법들
방법 A1:
이 방법에서, 송신기는 세션 어나운스먼트(SDP와 같은 세션 기 술(description) 프로토콜 또는 다른 방법을 사용하여) 동안에 수신기들에게 에러율 파라미터(예를 들어, SDU 에러율)를 전송한다. (몇몇 실시예에서는 비트, 패킷 및 다른 데이터 유닛의 증가에 따른 다른 에러율이 더욱 선호될 수도 있다.)
수신기들은 수신한 파라미터를 포인트-투-포인트 세션들을 사용하는 복구 세션들을 요청하지 말아야 하는 에러율 임계치로 해석한다. 만약 송신기가 평균 수신기 에러율 및/또는 에러있는 데이터를 수신하는 수신기들의 평균 퍼센트를 안다면, 수신기 피드백 폭주를 피하고, 데이터 복구를 수행하는 많은 수의 포인트-투-포인트 연결들을 피하여 멀티캐스트/브로드캐스트에 의해 모든 사용자들에게 완전한 데이터 스트림을 재전송해야 하는지 임계치에 기초하여 판단할 수 있다. 송신기가 평균 에러율 및 에러있는 데이터를 수신하는 수신기들의 평균 퍼센트를 아는 방법은 예를 들어 송신기에게 셀, 지형적인 지역 또는 수신기 당 품질(quality) 또는 에러율 (및/또는 수신기들의 숫자)을 알리는 네트워크 메시지에 의해 제공된다.
전술한 예는 다음과 같다:
송신기는 SDP를 사용하여 에러율 임계치가 10%인 브로드캐스트/멀티캐스트 세션을 어나운스한다. 브로드캐스트/멀티캐스트 세션이 시작하고 수신기는 에러율이 10%보다 큰 데이터를 수신하고 있음을 알게 된다. 그러면 수신기는 포인트-투-포인트 세션을 통해 손실 패킷의 재전송 요구를 억제하게 된다. 만약 송신기가 평균 수신기 에러율이 10%보다 크다는 사실 및/또는 에러있는 데이터를 수신하는 수신기들의 평균 퍼센트가 50%보다 크다는 사실을 알면 송신기는 완전한 데이터 세션을 멀티캐스트/브로드캐스트를 통해 재전송할 것을 결정한다(여기서 10% 및 50%는 예시적인 값들이다).
대체적으로 송신기가 평균 수신기 에러율 및/또는 에러있는 데이터를 수신하는 수신기들의 평균 퍼센트를 알고, 송신기가 전체 데이터 세션을 재전송할 경우(즉, 높은 평균 수신기 에러율 때문에)라고 결정하였다면, 송신기는 세션의 끝에서 멀티캐스트/브로드캐스트 방식에 의해 세션이 재전송될-또는 대체적으로 재전송되지 않을-것임을 알리기 위해 일대다 복구 토큰(token)을 전송하기로 결정할 수 있다(선택적으로 복구될 파일(들)(및/또는 파일(들)에 포함된 데이터의 블록(들)을 목록화(listing)한다). 이는 수신기들이 데이터 복구를 수행하기 위해 포인트-투-포인트 연결들을 시작하는 것을 방지한다. 멀티캐스트/브로드캐스트 전송 후에 SDP를 통한 별도의 "어나운스먼트"를 포함하여, ISO OSI 프로토콜 스택의 1-7 계층 중 임의의 계층에서 임의의 통신 프로토콜을 이용하여 복구 토큰이 전송된다. 또한, 멀티캐스트 /브로드캐스트 전송 안의 FLUTE 파일의 마지막 부분(즉, 최후의 패킷)에 포함될 수도 있다.
방법 A2:
MBMS를 위한 3GPP TS 23.246 Rel. 6, V.6.1.0의 section 7.1에 표현되어 있듯이 네트워크 과부하를 피하기 위해 송신기는 (많은 숫자중 하나의) 어플리케이션 부속 엔티티(AAE : Application Adjunct Entities)의 주소 및 작동 시간에서 송신지들에게로의 상향링크 트래픽의 무작위 시간 분산을 생성하기 위한 파라미터들을 분배할 수 있다. 표준(specification)에는 "많은 숫자 중 하나의"라고 하고 있으나, "하나 이상의 복수중 하나 또는 복수"를 의미하는 것으로 이해될 수 있다.
방법 A2는 송신기가 이 정보를 작동 시간(연결)이 아니라, 세션 어나운스먼트 시간(SDP 또는 다른 적절한 방법들을 통해)에 전송한다는 사실에 의지하고 있다. 따라서 이 방법은 세션 어나운스먼트 동안 수신기에게 전달되어야 하는 두개의 파라미터를 정의한다.
-AAE 주소 또는 이와 유사한 것(대표적으로 파라미터의 이름); 및
-무작위 시간.
무작위 시간은, 예를 들어,수신기들의 위치에 대하여 송신기가 알고 있는 정보에 기초하여 계산될 수 있다. 예를 들면, 송신기가 셀룰러 네트워크(GPRS 또는 UMTS와 같은)의 다른 네트워크 셀들에 수신기가 분산되어 있는 것을 송신기가 안다면, 송신기는 동일한 셀에 있는 모든 수신기들 동시에 포인트-투-포인트 복구를 요청하는 것을 피하기 위해 무작위 시간을 계산할 것이다(따라서, 물리적인 위치도 계산에 넣는다). 대신에, 그것은 포인트-투-포인트 연결들을 요청이 다른 시간에 다른 셀들에 따라 분산되는 것이 확실하게 할 것이다. 만약 송신기가 수신기들의 위치에 대한 정보를 가지고 있지 않다면, 단지 시간에 기초하여 무작위 시간 파라미터를 수신기들에게 전달할 것이다(물리적인 위치를 계산에 넣지 않는다). 무작위 시간 파라미터는 포인트-투-포인트 복구 세션의 시작 시간을 가리킨다.
선행 기술(3GPP TS 23.246 v.6.1.0)및 상기한 방법의 확장은 단순히 "무작위 시간"보다는 "NACK-억제 파라미터 집합"을 제공하는 것이다. 이 경우에 있어서, NACK 억제를 위한 두개의 시간 윈도우들-그리고, 각각에 대한 시간 및 통계적인 분산 파라미터들-및 이 둘의 사용의 선택을 위한 입력 파라미터의 사용을 정의하는 "NACK-alg-3, Fast-window= 500seconds;uniform, slow-window-=5000seconds:normal, error_threshold_for_slow_window" 알고리즘이 구현될 것이다(이러한 NACK-억제 방식에 대한 추가적인 설명은 하기의 방법 A4 및 A5와 관련하여 주어진다).
방법 A3:
본 발명의 또다른 실시예에서 송신기는 수신기들로부터 특정 수의 NACK 요청들을 수신한 후에 자신의 임계치들에 기초하여 포인트-투-포인트 연결들을 종료하고 멀티캐스트/브로트캐스트로 전체(또는 일부) 세션을 전송하기로 결정할 것이다. 이는 만약 송신기가 수신기들이 너무 많은 재전송 요청들을 생성하였고(즉, 높은 에러율이 있고), 포인트-투-포인트 연결들을 사용하여 네트워크 자원들을 낭비하는 것을 피하는게 좋다는 것을 알게 되면 발생한다. 임계치는 예를 들어, 하나의 세션에 대하여 4개의 다른 수신기 NACK와 같이 정적으로 또는 예를 들어, 풋볼 비디오 서비스에 대해 다른 수신기들로부터 3초 이내에 2 NACK들은 10분 이내에 5000 NACK가 예상되는 것으로 추정되는 것과 같이 과거 데이터로부터 동적으로 계산될 수 있다. 송신기가 포인트-투-포인트 복구 데이터 전송을 마치고, 데이터를 포인트-투-멀티포인트를 사용하여 즉시는 아니지만 재전송하기로 선택한 경우에 있어서, 실시예는 송신기가 수신기들에게 복구 세션이 장래에 발생할 것임을 신호하여 아직 NACK하지 않은 송신기들에게 그럴 필요가 없음을 알릴 수 있다. 또한, 이러한 수신기들에 대한 신호는 재전송될 데이터의 조각을 정확히 지적하여, 완성되고, 후에 복구할 필요가 있는 그들의 콘텐트의 크기를 수신기들이 정할 수 있게 한 다. 이는 포인트-투-멀티포인트 및 포인트-투-포인트가 혼합된 복구를 가능하게 한다.
도 5는 더 늦은 시간에서 P-t-M(포인트-투-멀티포인트) 복구를 가리키기 위해 복구 토큰을 사용하고, 이어서 P-to-M 복구 데이터에서 손실된 토큰들을 위해 P-t-P(포인트-투-포인트)를 사용하는 실시예를 도시한다. 복구 토큰은 그것이 송신기(Y) 및 복구 송신기(Z) 각각 어느 것로부터 비롯되었느냐에 따라 P-t-M 또는 P-t-P가 될 수 있다. P-t-P 또는 P-t-M 결정자(X)는 별도의 엔티티일 수도 있고, 송신기(Y) 또는 복구 송신기(Z)와 결합되어 있을 수도 있다. P-t-P 또는 P-t-M 결정자(X)는 독립 또는 별도의 논리적 그리고/또는 물리적 디바이스인 제3의 엔티티일 수 있다. 도 5(다른 도면에 도시된)의 복구 송신기는 복구 서버 또는 이와 유사한 것으로 이해될 수 있다. P-t-P 또는 P-t-M 결정자(또는 결정유닛)는 복구 결정 유닛으로 불릴 수도 있다.
방법 A4:
방법 A1에 도시된 바와 같이, 임계치(들)에 도달했을 때, 수신기는 재전송을 요구할 수 없다(NACK 전송). 또 다른 실시예는 수신기의 내용을 다음과 같이 바꾼다:
a) NACK-억제 알고리즘 또는 이들의 파라미터를 바꾼다; 및/또는
b) 동작 모드를 바꾼다;
위에 언급한 "NACK하지 않음"(또는 NACK하면 안됨)은 NACK-억제 알고리즘을 변경한 극단적인 경우이다. 또 다른 대체는 그 행동을 다음과 같이 바꾸는 것이다
만약 에러율이 임계치보다 작으면
"초기 전송 세션의 종료로부터 시작하여 일정하게 시간의 기간 X 동안 NACK(들)을 무작위화한다."
아니면,
"초기 전송 세션의 종료 후 소정의 시간 Y 까지 기다려야 하고, 그런 다음 시간의 기간 Z 동안 NACK(들)을 무작위화한다."
X, Y, Z는 상이하거나 동일한 값들로 선택될 수 있다. 이는 인지된 사용자 QoS를 최대화하기 위한 "빠른 복구 더하기 느린 복구"를 가능하게 하는데 특히 유용하다. 초기 전송에서 많은 에러를 가진 수신기들의 사용자들은 어떤 경우에는 열악한 QoS-만약, 그들이 전송 후에 즉시 콘텐트를 소비하기를 원한다면 그들은 잠재적으로 긴 복구 세션를 가지게 된다-경험하기 쉽다. 그러나, 매우 적은 에러들을 진 사용자들은 "복구 자원들"에 우선권이 이 주어지고, 따라서 초기 세션 후에 콘텐트를 빨리 이용할 수 있다. 따라서, 이러한 방법은 양호한 초기 전송들이 양호한 사용자 인식 QoS에 따라 완성되도록 보장하면서, 열악한 초기 전송들을 완성할 수 있게 해준다.
상기의 방법의 일반화는 k=1, ... , n, n은 N+안의 숫자일 때, 에러율 행렬인 [ER1, ER2, ... , ERn], NACK(들) 무작위화 행렬인[X1, X2, ... , Xn], 대기 시간들의 행렬인 [Y1, Y2, ... , Yn] 및 NACK(들) 무작위화 행렬인 [Z1, Z2, ... , Zn]을 사용하는 방법이다. 4개의 요소로된 (ERk, Xk, Yk, Zk)는 에러율이 ERk보다 작을 때, 수신기는 시간 간격 Xk 동안 NACK(들)을 일정하게 무작위화하고, 에러율 이 ERk보다 크거나 같을 때에는 수신기는 초기 세션이 종료된 후, 소정의 시간 Yk까지 대기하여야 하고, 그런 다음 시간 기간 Zk 동안 NACK(들)을 무작위화한다. 대기 시간들의 행렬은 영행렬일 수 있다.
몇몇 NACK 억제 방식은 수신기들/호스트들에게 한가지 이상의 역할을 할당한다. 예를 들어, 플래그-홀더(flag-holder) 방식은 플래그-홀더(들)가 에러들에 대하여 즉각적으로 응답하고 만약 플래그-홀더(들)이 이미 NACK하지 않았다면 다른 수신기들이 NACK(무작위로)하기(그룹 회원자격을 보고하는 IMGP와 유사하게)를 기대한다. 본 발명의 일실시예는 수신기의 동작 모드를 바꾸는 것이다. 예를 들어, 임계치가 초과되었다면(또는, 반대로 도달하지 못했다면) 수신기는 다른 역할을 취할 것이다. 플래크-홀더 예에서, 임계치보다 매우 낮은 수신기(즉 단 하나의 에러)는 즉시 또는 매우 짧은 시간 윈도우안에 NACK하고, 다른 수신기들은 NACK을 나중에 할 것이다.
조합된 실시예는 특정 역할이 NACK(들)의 동작을 정의하고, 사용되어야 하는 모드를 계산하는데 임계치가 사용될 수 있도록 "수신기 역할들"을 NACK-억제 알고리즘/파라미터와 연관시킬 것이다. 이러한 종류의 결정 과정들에 모드가 연속된 측정들 후에 변경되도록-즉, 만약 100번의 측정에서 한번만 임계치를 초과하면 모드를 바꾸지는 않는다-히스테리시스(hysteresis)를 포함시키는 것 또한 유용할 것이다.
도 6은 백-오프 시간들의 분배를 도시한다. 도 7은 임계치 1보다 낮은 에러율을 경험한 모든 수신기들(즉, 수신기 1 및 2)에 대해 세션의 시작 후 60초 동안 요청들이 분배되어짐을 도시한다. 임계치 1 보다 크지만 임계치 2보다 낮은 에러율을 경험한 수신기들(즉, 수신기 3, 5 및 8)에 대해서, 요청은 60초 후에 전송되고 120초 동안 분배된다.
방법 A5:
방법 A1에 설명된 바와 마찬가지로, 에러율 임계치가 사용될 수 있다. 또 다른 실시예는 이것과 임계치를 계산하기 위한 시간 및/또는 데이터 윈도우를 또한 제공한다. 예를 들어, "10% 패킷 에러율; 이동하는 30초 윈도우"은 임계치가 마지막 30초 안의 패킷(손실된 또는 에러들을 포함하고 있는)의 10%이고, 시간윈도우가 이동함에 따라 마지막 30초로부터 연속적으로(또는 수도(Pseudo)-연속적으로) 샘플링하여야 함을 가리킨다. 또 다른 예로 "5% 비트 에러율; 블록화된 2Kbyte 윈도우"은 0-2KB, 2-4KB, 4-6KB 등의 블록들이 샘플링되었을 때 하나 또는 그 이상의 2 Kbyte 블록에 대하여 5%의 비트들이 임계치임을 의미한다. 기준에 만족하는 어떤 데이터도 실시예일 수 있다; 그러나 많은 데이터가 전송되는 때에는 "하나의 세션에서 3번 이 기준을 만족할 때 임계치에 도달한 것으로 고려한다"와 같이 두 번째 단계 임계치를 제공하는 것이 유리할 수 있다.
도 8은 임계치 값들의 계산을 위한 시간 윈도우의 효과를 도시한다.
방법 A6:
어떤 실시예들은 예비-설정(pre-configuring)을 통해 서버와 수신기 사이에서 논의된 파라미터들을 공유/전달한다. 예를 들어, SIM을 발행하고 멀티캐스트 시스템을 동작시키는 동작자에 의해 SIM 카드에 저장하는 것과 마찬가지이다. 또 다른 예는 미리 설정된(pre-configured) 잘 알려진 파라미터들을 가지는 것이고, 보통 잘 알려진 특징은 표준에서 특정되거나, 등록 기관(IANA와 같은)들에 의해 유지될 것이다. 일 실시예에서, 이러한 파라미터들의 디폴트(default) 값들은 미리 설정되고, 파라미터를 전송하기 위한 다른 방법이 제공되면, 소정의 세션 동안에 대체된다.
방법 A7:
본 발명의 또 다른 실시예는 수신기로부터 매우 많은 양의 콘텐트 데이터에 대한 복구 요청을 수신한 후에는 송신기가 그 수신기에게 "나중에 복구할 것임"을 가리킨다. 그 후의 복구 세션은 포인트-투-포인트 또는 포인트-투-멀티 포인트 세션일 것이다. 그러므로, 시스템 대역폭이 주된 가변성 제한 요소일 때에는, 송신기가 빨리 만족될 수 있는 수신기들을 우선 신경쓰게 해준다. 그리고, 그와 같이 함으로써 수신기들의 목표 숫자(예를 들어 99%)를 보장하는 평균시간이 단축된다. 예를 들어 복구는 (최대 숫자의 수신기들을 복구하기 위해)포인트-투-멀티 포인트 복구부터 우선 수행하고, 그 다음에 (소수의 수신기들을 복구하기 위해)포인트-투-포인트 복구들을 수행한다.
방법 A8:
전술한 방법은 일반적으로 복구 세션 및 시그널링을 위한 시작점으로 세션의 끝을 사용한다. 그러나, 몇몇 실시예에서는 오브젝트(예를 들어, 파일 또는 화면)의 끝, 임계치(예를 들어, 1Mbyte의 데이터 또는 1000 패킷들마다 또는 5분마다) 또는 세션 그룹(예를 들어, 관련된 4개의 세션들의 끝)이 유리할 것이다.
도 9는 오브젝트의 끝이 검출된 후에 복구 세션의 시작을 도시한다.
B) 수신기 구동 복구 방법들
일반적으로 수신기는 데이터 복구를 위한 포인트-투-포인트 연결의 성립 요청을 멀티캐스트/브로드캐스트 세션이 끝난 후에 바로 요청하는 것을 피하기 위해 소정의 시간만큼 지연할 수 있다. 이는 많은 수의 수신기들이 동시에 포인트-투-포인트 연결들의 요청들을 전송하고, 그에 따라 네트워크와 송신기의 혼잡한 상황을 피한다. 다음에서 포인트-투-포인트 복구 요청을 지연하는 몇몇 방법들이 주어진다.
방법 B1:
복구는 느린 복구일 수 있다: 이러한 경우, 수신기는 사용자가 데이터를 소비하기를 원하면 (예를 들어, 사용자가 멀티캐스트/브로드캐스트 세션을 통해 다운로드한 비디오 클립을 재생하기를 원할 때) 포인트-투-포인트 복구 요청을 수행한다. 이는 완벽한 포인트-투-포인트 복구를 수행할 때까지 걸리는 시간동안 사용자가 기다릴 것을 요구한다(즉, 그것은 데이터의 결실을 위한 사용자 대기시간을 증가시킨다). 이 방법은 선택적으로 송신기가 세션 어나운스먼트(SDP 또는 또 다른 적절한 수단을 사용하여)에서 송신기가 성공적으로 포인트-투-포인트 복구를 수행할 수 있을 때까지의 시간 제한인 최대 복구 가능 시간을 전송할 것을 요구한다. 이 시간의 형식은 정해지지 않았고, 여러 가지 다양한 방법으로 표현될 수 있다(예를 들어, 절대 시간, 또는 상대 시간 그러나 이에 한정되지는 않는다). 최대 복구 가능시간 후에 포인트-투-포인트 복구 동작은 성공이 보장되지 않는다. 이는 데이 터 복구를 수행하기 위해 데이터를 저장하는 것을 유지하도록 송신기에게 시간 제한을 준다. 만약 포인트-투-포인트 복구가 (사용자가 아직 데이터 재생을 요청하지 않았기 때문에) 최대 복구 가능시간까지 수행이 되지 않았다면, 수신기는 그 때 포인트-투-포인트 복구를 수행하도록 강요된다. 만약 수신기가 꺼지고, 최대 복구 가능 시간이 경과하면, 그 이후의 시간에 포인트-투-포인트 복구는 보장되지 않는다. 몇몇 경우들에 있어서, 끝에서의 "안전 마진(safety margin)"을 허용하기 위해 NACK가 무작위화 되는 주기를 줄이는 것이 유리할 수 있다. 예를 들어, 주기가 432000초라면, NACK들은 일반적으로 400000 초에 분배되고, 최대 32000초를 보장된 복구 시간의 손실이 없이 "비활성화된" 수신기들이 켜질 수 있도록 허용한다.
전술한 예는 다음과 같다:
송신기가 어나운스먼트에 최대 복구 가능 시간이 2004년 3월 15일 17:00라고 송신한다. 이는 수신기들이 정해진 날짜와 시간까지 복구를 수행할 수 있음을 의미한다. 그 날짜/시간 이후에, 복구 동작은 보장되지 않는다. 시간을 멀티캐스트/브로드캐스트 전송으로부터 상대적인 시간으로 표현하는 것이 대체적인 방법일 수 있다. 예를 들어, 송신기는 최대 복구 가능시간이 432000초라고 수신기들에게 신호할 수 있다. 이는 수신기가 포인트-투-포인트 복구를 할 수 있는 마지막 가능성이 멀티캐스트/브로드캐스트 전송으로부터 5 일 후임을 의미한다.
도 10은 늦은 복구의 실시예를 도시한다.
방법 B2:
복구는 늦은 재생 복구일 수 있다.: 이러한 경우에서 수신기는 사용자가 데 이터를 소비하기를 원하는 때 포인트-투-포인트 복구 요청을 수행한다. 또한, 복구는 데이터 스트림의 최초 손실의 위치를 고려한다. 만약 스트림이 스피치 또는 오디오 또는 비디오 스트림이면, 수신기는 최초 데이터 손실이 발생한 미디어 유닛이 무엇인지 정확히 계산할 수 있다. 최상의 경우에서 포인트-투-포인트 복구는 데이터 스트림 시작의 재생 후로 지연될 수 있으나, 수신기 재생이 연속성 방해와 관련되지 않도록 충분히 일찍 수행되고 완성되어야 한다.
포인트-투-포인트 복구 동작이(포인트-투-포인트 동작이 최초 손실 블록까지의 시간보다 더 많은 시간을 필요로 하기 때문에) 재생과 동시에 수행될 수 없으면, 실제 재생은 재생 방해를 피할 수 있도록 필요 시간동안 지연되고, 포인트-투-포인트 복구는 사용자가 재생 요청을 내리면 즉시 시작할 수 있다. 이러한 방식은 전술한 최초 방식(방법 B1)과 매우 유사하다, 그러나 복구 동작과 재생이 일시적으로 부분적으로 겹치기 때문에 사용자 지연이 낮아지게 된다.
또한, 이 방법에서 최초 경우(방법 B1)과 마찬가지로 최대 복구 가능 시간 정보가 수신기에 의해 선택적으로 요구되고 사용될 수 있다.
포인트-투-포인트 복구를 수행하기 위해 요구되는 시간은 측정되거나 허가된 포인트-투-포인트 연결의 대역폭, 측정된 포인트-투-포인트 채널의 왕복시간(Round Trip Time) 및 포인트-투-포인트 세션의 성립 및 종료 지연과 같은 요소들에 기초하여 수신기에 의해 추정될 수 있다.
전술한 예는 다음과 같다:
송신기가 5분의 오디오/비디오 클립을 전송하고 수신기가 최초 손실이 4분에 발생한 30 손실 패킷들을 검출하였다면, 수신기는 모든 30 손실 패킷들이 재생 4분 전에 도착할 수 있도록 충분히 빨리 포인트-투-포인트 복구 동작을 동시에 시작할 것이다. 만약 최초 손실이 1분에 발생한 30 손실 블록들이 있고, 수신기가 포인트-투-포인트 복구 세션이 1분 이상이 소모될 것으로 추정하였다면, 복구 세션은 시작되고 재생은 재생 방해를 피하기 위해 필요한 시간 만큼 지연된다.
도 11은 늦은 재생 복구의 실시예를 도시한다.
방법 B3:
다른 경우(방법 A7의 수신기 구동 어플리케이션과 유사한)는 곱셈기가 복구 시간을 계산하도록 하기 위해 NACK 억제가 에러있는/손실 데이터의 양을 사용한다. 예를 들어, 만약 송신기가 "단위 시간"이 60초, 손실 데이터의 단위가 10 패킷들이라고 가리키면, 수신기는 56 손실 패킷의 수신기는 시간을 INT(56/10)*60=300으로 계산할 것이다. 이러한 결과 시간들은 오프셋(초기 세션의 끝으로부터 이 많은 초들이 경과하기 전에는 NACK을 시작하지 않는) 및/또는 NACK를 분배하는 주기(예를 들어, 이 시간동안 NACK를 일정하게 무작위화하는)으로 사용될 것이다.
방법 B4:
본 발명의 또다른 실시예는 초기 멀티캐스트/브로드캐스트 전송이 끝나기 전에 포인트-투-포인트 복구 세션을 시작하는 가능성이다. 이러한 방식을 통해 복구는 빨라지고 사용자는 짧은 지연과 함께 에러없는 "재생" 세션을 시작할 수 있다. 정확한 복구 시작 시간은 수신기에 의해 정해지거나, 데이터 스트림 및/또는 파일 내 최초 에러의 위치의 함수 일 수 있다.
도 12는 "빠른 검출"에 의해 복구가 시작된 실시예를 도시한다.
전술한 모든 방법들은 모든 가능하고 기능적으로 적절한 조합에 의해 사용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 시스템 및 수신기 디바이스 20의 상세를 도시한다. 시스템은 송신기 디바이스(10), 예를 들어 IP 네트워크 또는 고정된 네트워크, 무선 네트워크 또는 고정된 네트워크와 무선(셀룰러) 네트워크의 조합과 같은 전송 네트워크(30) 및 수신기 디바이스(20)를 포함한다. 수신기 디바이스(20)은 셀룰러 전화, 위성, 전화, PDA(personal digital assistant) 또는 블루투스 디바이스, WLAN 디바이스 , DVB 디바이스, 또는 유사한 무선 디바이스일 수 있다. 수신기 디바이스(20)은 내무 메모리(21), 프로세서(22), 오퍼레이팅 시스템(23), 어플리케이션 프로그램들(24), 네트워크 인터페이스(25) 및 NACK & 복구 메커니즘(26)을 포함한다. 내부 메모리는 프로세서(22), 오퍼레이팅 시스템(23) 및 어플리케이션 프로그램들(24)를 포함한다. NACK & 복구 메커니즘(26)은 데이터 전송에서 손실되거나 망가진 데이터에 응답하는 NACK 와 복구 과정을 가능하게 한다. 수신기 디바이스(20)는 네트워크 인터페이스(25) 및 네트워크(30)을 통해 송신기 디바이스(10) 및 다른 디바이스들과 통신할 수 있다.
도 4는 본 발명의 일 일실시예에 따른 송신기 디바이스(10)를 도시한다. 예를 들어, 송신기 디바이스(10)는 네트워크 서버 또는 파일(또는 미디어) 전송을 위한 다른 적절한 디바이스일 수 있다. 송신기 디바이스(10)는 내부 메모리(10), 프로세서(12), 오퍼레이팅 시스템(13), 어플리케이션 프로그램들(14), 네트워크 인터 페이스(15), 전송 & 복구 메커니즘(16) 및 데이터 저장부(17)를 포함한다. 내부 메모리(11)은 프로세서(12), 오퍼레이팅시스템(13) 및 어플리케이션 프로그램(14)를 포함한다. 전송 & 복구 메커니즘(16)은 수신기 디바이스(들)(20)에게 데이터 패킷들의 전송을 가능하게 한다. 또한, 복구 세션들에서 데이터 패킷들의 재전송을 가능하게 한다. 수신기 디바이스(20)에게 전송될 데이터 및 재전송될 데이터는 데이터 저장부(17)에 저장될 수 있다. 대체적으로, 데이터는 송신기 디바이스(10)의 외부에 같이 위치한 별도의 디바이스에 저장될 수 있다. 송신기 디바이스(10)는 네트워크 인터페이스 15 및 네트워크 30을 통해 수신기 디바이스(20) 및 다른 디바이스들과 통신할 수 있다.
손실 데이터의 복구와 관련된 과정들은 소프트웨어에 의해 구현될 수 있다. 수신기 디바이스(20)에 저장되어 프로세서(22)에서 실행되는 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 전송 세션의 수신단에서의 과정들을 구현하기 위해 사용될 수 있고, 반면에 송신기 디바이스(10)에 저장되어 프로세서(22)에서 실행되는 컴퓨터 프로그램 제품이 송신단에서의 과정들을 구현하기 위해 사용될 수 있다.
본 발명의 실시예들은 논리적인 송신기/서버 엔티티들과 수신기 유닛들에 의해 설명되었다. 복구 요청들과 복구 응답들(적합하다면)을 위해 제 3 의 엔티티가 끼어드는 것도 본 발명의 실시예의 범위 안에 포함된다. 그러한 엔티티는 방화벽, 프록시 및/또는 인증 서비스들을 제공할 수 있다. 예를 들어, 포인트-투-멀티포인트 송신기에 대한 복구 토큰을 전송하도록 요구하는 복구 송신기 메시지를 인증하거나, 수신기들로부터 송신기로의 메시지의 복구 요청 수집(aggregator)/프록시 역 할을 하여 제 3 디바이스에서 투명한 포인트-투-포인트/포인트-투-멀티포인트 결정을 가능하게 한다.
복구 토큰들의 포인트-투 멀티포인트 전송의 사용은 전술하였다. 또한, 포인트-투-포인트 복구 토큰들의 사용이 몇몇 실시예에서는 유리할 수 있고, 본 발명의 실시예들의 범위에 속한다(예를 들어, SDP와 같은 포인트-투-멀티포인트 복구 토큰들과 관련하여 언급된 것에 대응하는 전송 방법/포맷은 사용될 수 있다). 그러한 방식은 포인트-투-포인트 요청이 포인트-투-멀티포인트에 의해 재전송 결정이 된 후에 도착했다면, 수신기에게 포인트-투-멀티포인트 복구/재전송 데이터가 "전송중"임을 알리거나, 대체적으로 전력 절약을 위해 그러나, 장래의 포인트-투-멀티포인트 복구 응답/재전송을 아직 알고 있는 시간동안 수신기가 멀티포인트 수신을 비활성화할 수 있도록 한다.
본 발명에 실시예들에 따르면 NACK 억제는 가변적인 신뢰성있는 멀티캐스트를 제공할 수 있도록 한다. 피드백 폭주 및 네트워크/송신기 과부하를 피할 수 있는 멀티캐스트/브로드캐스트 전송을 위한 효율적이고 가변적인 포인트-투-포인트 복구가 제공된다.
본 발명의 특정 구현예 및 실시예가 설명되었다. 본 발명이 속하는 기술분야에 통상의 지식을 가진 자는 본 발명이 상기 표현된 실시예의 상세에 한정되지 않음을 쉽게 이해할 수 있다. 또한, 본 발명이 속하는 기술분야에 통상의 지식을 가진 자는 한정된 예들의 일부 중 하나로 보여지지 않은 본 발명을 구체화할 수 있는 본 발명의 범위에 속하는 많은 추가적인 방법들이 있음을 이해할 수 있다. 특 히, 본 발명은 프로토콜, 파라미터 또는 메시지의 특정 명칭으로 한정이 되어서는 안된다. 본 발명은 본 발명의 특징으로부터 벗어나지 않는 균등한 방법들을 사용한 다른 실시예들로 구현될 수 있다. 본 발명의 범위는 첨부된 청구항들에 의해서만 제한된다.

Claims (47)

  1. 일대다 전송이 가능한 시스템의 데이터 복구 방법에 있어서,
    송신기로부터 적어도 하나의 수신기에게 일대다 방식으로 데이터를 전송하는 단계;
    상기 수신기에서의 데이터 손실과 관련하여 손실 데이터의 송신기 구동형 또는 수신기 구동형의 복구를 제공하는 단계로서, 상기 송신기 구동형 및 수신기 구동형의 복구는 상기 수신기로부터 상기 송신기로 복구 요청을 전송하는 단계를 포함하는, 손실 데이터의 복구 제공 단계; 및
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 복구는
    전체 손실 데이터를 재전송;
    손실 데이터 부분만 재전송; 및
    원본 전송을 전체적으로 반복 중 어느 하나에 의해 복구 세션에 구현되는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 손실 데이터의 복구를 요청할 때, 임계치로 사용되도록 송신기로부터 수신기에게 에러율 파라미터가 전송되는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서, 상기 에러율 파라미터는
    시간 및/또는 데이터 윈도우의 임계치를 계산하기 위해 사용되는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 수신기들에게 하나의 세션 또는 세션의 일부가 포인트-투 -멀티포인트(point-to-multipoint) 방식에 의해 재전송될 것임을 알리는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서, 상기 알림은
    포인트-투-멀티포인트 복구 토큰(point-to multipoint repair token)에 의해 구현되는 것을 특징으로 하는 방법
  7. 제 1 항에 있어서, 수신기(들)로부터 송신기에게 전송되는 복구 요청의 랜덤 또는 의사 랜덤 시간 분산(random or pseudo-random time dispersion)을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 관련된 시간의 주기에 걸쳐 통계적으로 단일한 분산을 제공하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서, 수신기 역할들을 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서, 하나 또는 그 이상의 역할들은 오프셋(offset) 시간 및 무작위 시간 주기에 의해 주어지는 백-오프(back-off) 시간을 포함하는 것을 특징 으로 하는 방법
  11. 제 9 항에 있어서, 하나 또는 그 이상의 역할들은 플래그 홀더(flag-holder) 행동을 포함하는 것을 특징으로 하는 방법.
  12. 제 1 항에 있어서, 송신기와 수신기 사이에 시간 파라미터(들), 데이터 파라미터(들) 및 에러 파라미터(들) 중 적어도 하나를 공유하도록 미리 설정하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제 1 항에 있어서, 복구 요청을 수신한 후에 서버로부터 수신기에게 복구가 바로 후에 수행될 것임을 알리는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 1 항에 있어서, 다른 복구 방법들 사이에 우선 순위를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서, 우선 포인트-투-멀티포인트 복구를 시작하고, 포인트-투-포인트 복구를 하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제 1 항에 있어서, 복구 세션/시그널링(signaling)의 시작 포인트(point)를 이용하는 단계를 포함하고,
    상기 시작 포인트는 세션의 끝, 오브젝트의 끝, 오브젝트 임계치 및 세션 그룹의 끝을 포함하는 그룹에서 선택되는 것을 특징으로 하는 방법.
  17. 제 1 항에 있어서, 상기 수신기에서 복구 요청의 전송을 지연하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제 1 항에 있어서, 상기 복구 요청은
    소정의 시간만큼 지연되는 것을 특징으로 하는 방법.
  19. 제 1 항에 있어서, 복구 요청은 수신기에서 데이터를 소비하기를 원할 때만 수행되는 것을 특징으로 하는 방법.
  20. 제 1 항에 있어서, 최대 복구 가능 시간이 제공되는 것을 특징으로 하는 방법.
  21. 제 19 항에 있어서, 데이터 스트림의 최초 손실의 위치를 고려하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제 1 항에 있어서, 복구 시간이 계산되고, 손실 데이터의 복구에 사용되는 것을 특징으로 하는 방법.
  23. 제 1 항에 있어서, 초기 멀티캐스트/브로드캐스트 전송이 끝나기 전에 별도의 복구 세션이 요구 및/또는 시작되는 것을 특징으로 하는 방법.
  24. 제 1 항에 있어서, 복구를 요청하기 전에 대기를 위한 복구 요청 억제 시간을 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 송신기에 의해 전송된 데이터를 일대다 방식으로 수신하는 수단; 및
    상기 수신기 디바이스에서의 데이터 손실과 관련하여, 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 위한 수단;
    복구 요청을 상기 송신기에 송신하는 수단; 및
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하는 수단을 포함하는 것을 특징으로 하는 장치.
  26. 적어도 하나의 수신기에게 데이터를 일대다 방식으로 전송하는 수단; 및
    상기 수신기에서의 데이터 손실과 관련하여, 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 위한 수단;
    상기 수신기로부터 복구 요청을 수신하는 수단; 및
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하는 수단을 포함하는 것을 특징으로 하는 장치.
  27. 상기 송신기 디바이스로부터 상기 네트워크를 이용하여 상기 적어도 하나의 수신기 디바이스에 데이터를 일대다 방식으로 전송하는 수단;
    상기 수신기 디바이스에서의 데이터 손실과 관련하여, 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 제공하는 수단;
    상기 수신기로부터 상기 송신기로 복구 요청을 송신하는 수단; 및
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하는 수단을 포함하는 것을 특징으로 하는 시스템.
  28. 수신기 디바이스에서 실행가능한 컴퓨터 프로그램을 저장한 컴퓨터로 독출가능한 매체에 있어서,
    상기 컴퓨터 프로그램은,
    상기 수신기 디바이스가 상기 송신기로부터 전송되는 데이터를 일대다 방식으로 수신하도록 하는 프로그램 코드;
    상기 수신기 디바이스에서의 데이터 손실과 관련하여, 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 위한 프로그램 코드로서, 상기 송신기 구동형 및 수신기 구동형의 복구는 상기 수신기로부터 상기 송신기로 복구 요청을 전송하는 것을 포함하는, 손실 데이터 복구를 위한 프로그램 코드; 및
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하도록 하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터로 독출가능한 매체.
  29. 송신기 디바이스에서 실행가능한 컴퓨터 프로그램을 저장한 컴퓨터로 독출가능한 매체에 있어서,
    상기 컴퓨터 프로그램은,
    상기 송신기 디바이스가 적어도 하나의 수신기에게 데이터를 일대다 방식으로 전송하도록 하는 프로그램 코드;
    상기 수신기에서의 데이터 손실과 관련하여, 송신기 구동형 또는 수신기 구동형의 손실 데이터 복구를 위한 프로그램 코드로서, 상기 송신기 구동형 및 수신기 구동형의 복구는 상기 수신기로부터 상기 송신기로 복구 요청을 전송하는 것을 포함하는, 손실 데이터 복구를 위한 프로그램 코드; 및
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하도록 하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터로 독출가능한 매체.
  30. 수신기 디바이스에서의 데이터 손실과 관련하여 손실 데이터의 송신기 구동형 또는 수신기 구동형의 복구를 위해 구성되고,
    송신기 디바이스에 의해 일대다 방식으로 전송된 데이터를 수신하는 수신기; 및
    상기 송신기 디바이스로 복구 요청을 송신하는 송신기를 포함하되,
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하도록 구성되는 것을 특징으로 하는 장치.
  31. 제30항에 있어서,
    상기 장치는 손실 데이터의 복구 요청시 상기 송신기 디바이스로부터 수신된 에러율 파라미터를 임계치로 사용하도록 구성되는 것을 특징으로 하는 장치.
  32. 제30항에 있어서,
    상기 장치는 수신기 역할 또는 역할들을 사용하도록 구성되는 것을 특징으로 하는 장치.
  33. 제30항에 있어서,
    상기 장치는 소정 시간 동안 복구 요청 송신을 지연하도록 구성되는 것을 특징으로 하는 장치.
  34. 제30항에 있어서,
    상기 장치는, 상기 장치에서 데이터를 소비할 필요가 발생하는 경우에만 상기 복구 요청을 수행하도록 구성되는 것을 특징으로 하는 장치.
  35. 제34항에 있어서,
    상기 장치는 데이터 스트림내의 첫번째 로스(loss)의 위치를 고려하도록 구성되는 것을 특징으로 하는 장치.
  36. 제30항에 있어서,
    상기 장치는 손실 데이터의 상기 복구에 사용될 회복 시간을 계산하도록 구성되는 것을 특징으로 하는 장치.
  37. 제30항에 있어서,
    상기 장치는 별도 복구 세션 및/또는 초기 멀티캐스트/브로드캐스트 전송이 종료하기 전에 시작될 별개 복구 세션을 요청하도록 구성되는 것을 특징으로 하는 장치.
  38. 제30항에 있어서,
    상기 장치는 복구를 요청하기 전에 대기하는 복구 요청 압축 시간을 계산하도록 구성되는 것을 특징으로 하는 장치.
  39. 수신기 디바이스에서의 데이터 손실과 관련하여 손실 데이터의 송신기 구동형 또는 수신기 구동형의 복구를 위해 구성되고,
    적어도 하나의 수신기 디바이스에 일대다 방식으로 데이터를 송신하는 송신기; 및
    상기 수신기 디바이스로부터 복구 요청을 수신하는 수신기를 포함하되,
    혼잡(congestion)을 피하기 위해 소정 기간에 걸쳐 복구에 대한 메시징을 분산하도록 구성되는 것을 특징으로 하는 장치.
  40. 제39항에 있어서,
    손실 데이터의 복구 요청시 임계치로 사용될 에러율 파라미터를 수신기 디바이스에 송신하도록 구성되는 것을 특징으로 하는 장치.
  41. 제39항에 있어서,
    세션 또는 세션의 일부가 일대다 방식으로 재전송될 것임을 상기 수신기 디바이스에 가리키는 것을 특징으로 하는 장치.
  42. 제41항에 있어서,
    일대다 복구 토큰의 도움으로 가리키는 것을 특징으로 하는 장치.
  43. 제39항에 있어서,
    상기 장치는 수신기 역할들을 사용하도록 구성되는 것을 특징으로 하는 장치.
  44. 제39항에 있어서,
    일대다 복구를 먼저 시작하고 일대일 복구를 후속시키는 것을 특징으로 하는 장치.
  45. 제39항에 있어서,
    복구 세션들/시그널링에 대한 시작점을 사용하도록 구성되고, 상기 시작점은 세션의 엔드(end), 오브젝트 엔드, 오브젝트 임계치 및 세션 그룹의 엔드를 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 장치.
  46. 제39항에 있어서,
    상기 장치는 최대 복구 이용가능 시간을 제공하도록 구성되는 것을 특징으로 하는 장치.
  47. 제39항에 있어서,
    최초 멀티캐스트/브로드캐스트 전송이 종료하기 전에 별도 복구 세션을 시작하도록 구성되는 것을 특징으로 하는 장치.
KR1020067018895A 2004-02-18 2005-02-15 멀티캐스트 및 브로드캐스트 전송을 관리할 수 있는시스템에서 데이터 복구 방법 KR100831654B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/782,371 US7296205B2 (en) 2004-02-18 2004-02-18 Data repair
US10/782,371 2004-02-18

Publications (2)

Publication Number Publication Date
KR20060129052A KR20060129052A (ko) 2006-12-14
KR100831654B1 true KR100831654B1 (ko) 2008-05-22

Family

ID=34838807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067018895A KR100831654B1 (ko) 2004-02-18 2005-02-15 멀티캐스트 및 브로드캐스트 전송을 관리할 수 있는시스템에서 데이터 복구 방법

Country Status (11)

Country Link
US (2) US7296205B2 (ko)
EP (1) EP1716658B1 (ko)
JP (1) JP2007522750A (ko)
KR (1) KR100831654B1 (ko)
CN (1) CN1922813B (ko)
AU (1) AU2005212897A1 (ko)
BR (1) BRPI0507781A (ko)
CA (1) CA2555282A1 (ko)
TW (1) TW200537841A (ko)
WO (1) WO2005078983A1 (ko)
ZA (1) ZA200607728B (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898340B2 (en) 2000-04-17 2014-11-25 Circadence Corporation Dynamic network link acceleration for network including wireless communication devices
WO2001080524A2 (en) 2000-04-17 2001-10-25 Circadence Corporation Method and system for overcoming denial of service attacks
US8195823B2 (en) 2000-04-17 2012-06-05 Circadence Corporation Dynamic network link acceleration
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
MXPA05008405A (es) * 2003-02-18 2005-10-05 Nokia Corp Metodo de descodificacion de imagen.
MXPA05008404A (es) * 2003-02-18 2005-10-05 Nokia Corp Metodo de codificacion de imagen.
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US7599294B2 (en) * 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
US8296436B2 (en) * 2004-03-22 2012-10-23 Nokia Corporation Conveying parameters for broadcast/multicast sessions via a communication protocol
US20050216472A1 (en) * 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
CA2564468A1 (en) * 2004-04-30 2005-11-24 Interdigital Technology Corporation Method and system for controlling transmission power of a downlink signaling channel based on enhanced uplink transmission failure statistics
EP1760933B1 (en) * 2004-08-06 2012-03-14 Panasonic Corporation Feedback control for multicast or broadcast services
EP1641302B1 (en) * 2004-09-27 2009-07-01 Panasonic Corporation Anonymous uplink measurement report in a wireless communication system
US9124907B2 (en) * 2004-10-04 2015-09-01 Nokia Technologies Oy Picture buffering method
US8364807B1 (en) 2004-11-18 2013-01-29 Rockstar Consortium Us Lp Identifying and controlling network sessions via an access concentration point
US8806020B1 (en) * 2004-12-20 2014-08-12 Avaya Inc. Peer-to-peer communication session monitoring
US8467333B2 (en) * 2005-02-15 2013-06-18 Telefonaktiebolaget Lm Ericsson (Publ) Receiver and receiver control method
US20060239195A1 (en) * 2005-04-26 2006-10-26 Martin Camins Method and apparatus for dual-mode application update protocol
WO2006117645A2 (en) * 2005-05-03 2006-11-09 Nokia Corporation Scheduling client feedback during streaming sessions
KR100744332B1 (ko) 2005-10-06 2007-07-30 삼성전자주식회사 약전계 구간에서 방송 서비스를 제공하기 위한 방송 시스템및 방법
EP1791362A3 (en) * 2005-11-29 2009-10-14 Samsung Electronics Co., Ltd. Method and apparatus for handling an electronic service guide transmission error in a digital video broadcasting system
US7965771B2 (en) * 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8218654B2 (en) 2006-03-08 2012-07-10 Cisco Technology, Inc. Method for reducing channel change startup delays for multicast digital video streams
WO2007105382A1 (ja) 2006-03-10 2007-09-20 Nec Corporation 携帯電話機および通信モード設定方法
US20090285121A1 (en) * 2006-06-13 2009-11-19 Aware, Inc. Point-to-point and point-to-multipoint communications
GB0612439D0 (en) * 2006-06-23 2006-08-02 Siemens Ag Packet re-transmission
WO2008009030A2 (en) 2006-07-14 2008-01-17 Qualcomm Incorporated A method and apparatus for suppressing a response from a terminal operating in a group communications system
US8031701B2 (en) * 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US7681101B2 (en) * 2007-04-16 2010-03-16 Cisco Technology, Inc. Hybrid corrective scheme for dropped packets
KR100853184B1 (ko) 2006-10-24 2008-08-20 한국전자통신연구원 멀티캐스트 서비스 트래픽의 프레임 손실 측정 장치 및 그방법
KR20100014293A (ko) * 2006-12-30 2010-02-10 톰슨 라이센싱 데이터 송신을 위한 적응적 에러 정정 방법 및 그 디바이스들
US7937531B2 (en) * 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US8769591B2 (en) 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US7940644B2 (en) * 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US20080253369A1 (en) 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
JP5148697B2 (ja) * 2007-06-01 2013-02-20 トムソン ライセンシング 受信機で電力管理を実行する装置及び方法
US20080311939A1 (en) * 2007-06-18 2008-12-18 Nokia Corporation Acknowledgment aided space domain user scheduling for multi-user mimo
WO2009023986A1 (en) 2007-08-20 2009-02-26 Alcatel Shanghai Bell Co., Ltd. The method and the device for triggered repeat in the multicast system
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
FR2927749B1 (fr) * 2008-02-14 2010-12-17 Canon Kk Procede et dispositif de transmission de donnees, notamment video.
JP5115273B2 (ja) * 2008-03-28 2013-01-09 富士通株式会社 無線通信システム、無線基地局装置、マルチサービス管理装置
KR20100020860A (ko) * 2008-08-13 2010-02-23 삼성전자주식회사 휴대방송 시스템에서의 방송서비스 제공방법 및 그 휴대방송 시스템
US9319175B2 (en) * 2008-12-24 2016-04-19 Koninklijke Philips N.V. Techniques for performing efficient link adaptation in wireless personal networks
US8385338B2 (en) * 2009-04-24 2013-02-26 Futurewei Technologies, Inc. Implementation to avoid the acknowledgement-implosion in a multicast group
EP3096496B1 (en) * 2009-12-17 2018-03-14 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead
US8582593B2 (en) * 2009-12-29 2013-11-12 Nokia Corporation Multicast transmission within a hybrid direct and cellular communication system
EP2383952B1 (en) * 2010-04-27 2014-10-08 BlackBerry Limited Apparatus and method for resolving a race condition between two session initiation protocol (SIP) end points
US8472440B2 (en) * 2010-11-19 2013-06-25 Comtech Ef Data Corp. Systems and methods for determining packet error rate (PER) for wireless encapsulated network packet data communications links
CN102571264B (zh) * 2010-12-27 2015-03-11 中国移动通信集团公司 数据文件广播中文件完整性保护的方法和设备
US9015555B2 (en) 2011-11-18 2015-04-21 Cisco Technology, Inc. System and method for multicast error recovery using sampled feedback
US9213605B2 (en) 2012-01-23 2015-12-15 Intel Corporation IP multimedia subsystem and method for MBMS file repair using HTTP servers
CN104106300A (zh) 2012-06-06 2014-10-15 日电(中国)有限公司 用于执行d2d通信的方法和装置
DK2870716T3 (en) 2012-07-09 2017-01-23 ERICSSON TELEFON AB L M (publ) PROCEDURE AND APPARATUS FOR DISTRIBUTING INFORMATION DURING SHIPPING
CN102916837B (zh) * 2012-10-19 2016-06-29 北京迈伦斯科技有限公司 一种分层结构的数据修复方法及实现该方法的节点设备
WO2014065734A1 (en) * 2012-10-26 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) METHODS AND ARRANGEMENT FOR HANDLING FILE REPAIR DURING MBMS OR eMBMS DELIVERY
CN105100886B (zh) * 2014-04-22 2019-03-15 腾讯科技(北京)有限公司 网络媒介信息的发布控制方法、及装置、服务器和系统
US10002638B2 (en) * 2014-09-30 2018-06-19 Viacom International Inc. System and method for time delayed playback
CN107733573B (zh) 2016-08-10 2022-03-01 中兴通讯股份有限公司 数据处理方法、装置及节点
US11269850B2 (en) 2017-09-29 2022-03-08 Comcast Cable Communications, Llc Methods and systems for repairing recorded content
CN109270898B (zh) * 2018-08-30 2020-10-20 大连理工大学 一种具有数据质量诊断与修复功能的建筑能耗数据采集器
WO2024044094A1 (en) * 2022-08-23 2024-02-29 Arris Enterprises Llc Method for correcting errors occurring in a multicast session and system thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1146683A2 (en) * 2000-04-13 2001-10-17 NTT DoCoMo, Inc. Retransmission control method and system for multicast service
EP1185033A1 (en) * 2000-04-06 2002-03-06 NTT DoCoMo, Inc. Multicasting method, multicasting system, mobile station and base station

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5467173A (en) * 1993-02-05 1995-11-14 Konica Corporation Speed control circuit for an optical scanning system driving motor for an image forming apparatus
US5481543A (en) * 1993-03-16 1996-01-02 Sony Corporation Rational input buffer arrangements for auxiliary information in video and audio signal processing systems
US5481643A (en) * 1993-03-18 1996-01-02 U.S. Philips Corporation Transmitter, receiver and record carrier for transmitting/receiving at least a first and a second signal component
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
GB2287383A (en) 1994-03-11 1995-09-13 Motorola Ltd Notification by energy burst of messages with unacceptable quality
DE69517966T2 (de) 1994-12-28 2001-02-15 Koninkl Philips Electronics Nv Pufferverwaltung in kompressionssystemen mit variabler bitrate
US5677905A (en) * 1995-03-28 1997-10-14 Bell Atlantic Network Services, Inc. Access subnetwork controller for video dial tone networks
US5877812A (en) * 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
US5719632A (en) * 1996-01-25 1998-02-17 Ibm Corporation Motion video compression system with buffer empty/fill look-ahead bit allocation
BR9707253A (pt) 1996-01-31 1999-06-01 Ipsilon Networks Inc Processos de transmitir pacetes entre um nó a montante e um nó a jusante em uma rede e de comutar um fluxo em um primeiro nó produto de programa de computador unídade de comutação básica em um sistema para transmitir pacotes em uma rede unidade de porta de comutador e agente de comutação
JP3493872B2 (ja) * 1996-02-29 2004-02-03 ソニー株式会社 画像データ処理方法およびその装置
TW351903B (en) 1996-07-03 1999-02-01 Matsushita Electric Ind Co Ltd Encoding method, encoding apparatus, decoding and compositing method, decoding and composition appratus, and record medium recorded with the aforesaid methods for multiple images
US6188700B1 (en) * 1996-11-07 2001-02-13 Sony Corporation Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers
CA2340314C (en) 1996-12-04 2003-07-08 Mitsuaki Oshima Optical disk for high resolution and three-dimensional video recording, optical disk reproduction apparatus, and optical disk recording apparatus
US6011590A (en) * 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
IL121815A (en) 1997-09-22 2000-09-28 Security 7 Software Ltd Method and system for the identification and the suppression of executable objects
KR100248080B1 (ko) * 1997-10-06 2000-03-15 정선종 다자간 멀티미디어 통신에서의 에러제어 방법
US7301944B1 (en) * 1997-10-24 2007-11-27 Tranz-Send Broadcasting Network, Inc. Media file distribution with adaptive transmission protocols
WO1999029113A1 (en) 1997-11-27 1999-06-10 British Telecommunications Public Limited Company Transcoding
US6023233A (en) * 1998-03-20 2000-02-08 Craven; Peter G. Data rate control for variable rate compression systems
US6289129B1 (en) * 1998-06-19 2001-09-11 Motorola, Inc. Video rate buffer for use with push dataflow
US6526022B1 (en) * 1998-06-30 2003-02-25 Sun Microsystems Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
JP2000032046A (ja) * 1998-07-13 2000-01-28 Ntt Data Corp 通信方法及び装置、通信システム
US6573942B1 (en) 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
JP3552929B2 (ja) * 1998-11-27 2004-08-11 松下電器産業株式会社 復号化装置及び復号化方法
JP2000232649A (ja) * 1998-12-10 2000-08-22 Fujitsu Ltd Mpegビデオ復号器及びmpegビデオ復号方法
US6782490B2 (en) * 1999-03-17 2004-08-24 At&T Corp. Network-based service for the repair of IP multicast sessions
US6269080B1 (en) * 1999-04-13 2001-07-31 Glenayre Electronics, Inc. Method of multicast file distribution and synchronization
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
JP3587092B2 (ja) * 1999-07-30 2004-11-10 松下電工株式会社 応答分散式通信方法および通信システム
KR100335057B1 (ko) * 2000-03-08 2002-05-02 구자홍 동영상 수신 장치
US6697426B1 (en) * 2000-03-17 2004-02-24 Koninklijke Philips Electronics N.V. Reduction of layer-decoding complexity by reordering the transmission of enhancement layer frames
US6493388B1 (en) * 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
JP2002010216A (ja) * 2000-04-20 2002-01-11 Canon Inc 復号化装置及びその制御方法並びに記憶媒体
JP4407007B2 (ja) * 2000-05-02 2010-02-03 ソニー株式会社 データ送信装置及び方法
EP1182875A3 (en) * 2000-07-06 2003-11-26 Matsushita Electric Industrial Co., Ltd. Streaming method and corresponding system
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US7382796B2 (en) * 2000-12-13 2008-06-03 Visible World, Inc. System and method for seamless switching through buffering
EP1235383A1 (en) 2000-11-06 2002-08-28 Matsushita Electric Industrial Co., Ltd. Transmitter, receiver, and broadcast data distribution method
US6907460B2 (en) * 2001-01-18 2005-06-14 Koninklijke Philips Electronics N.V. Method for efficient retransmission timeout estimation in NACK-based protocols
FI118830B (fi) * 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
JP2002359641A (ja) * 2001-05-31 2002-12-13 Matsushita Electric Ind Co Ltd ファイル配信システム、ファイル配信サーバ装置、及び受信クライアント装置
JP4556351B2 (ja) * 2001-06-19 2010-10-06 ソニー株式会社 マルチキャスト通信方法およびシステム
US20030031175A1 (en) 2001-08-01 2003-02-13 Masato Hayashi Method of multicasting
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
JP2003209576A (ja) 2002-01-15 2003-07-25 Matsushita Electric Ind Co Ltd マルチキャスト通信方法及びそのシステム
FI114527B (fi) * 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
US7831990B2 (en) * 2002-04-29 2010-11-09 Sony Corporation Generic adaptation layer for JVT video
EP1516449B1 (en) * 2002-06-21 2016-06-22 BRITISH TELECOMMUNICATIONS public limited company Timer-based feedback in multicast communication
WO2004006446A2 (en) * 2002-07-02 2004-01-15 Conexant Systems, Inc. Hypothetical reference decoder for compressed image and video
EP1379085A1 (en) 2002-07-04 2004-01-07 Deutsche Thomson-Brandt Gmbh Method and device for linking multimedia data
US20040039796A1 (en) * 2002-08-08 2004-02-26 Virtual Radio, Inc. Personalized cyber disk jockey and Internet radio advertising
US7289500B1 (en) * 2003-07-17 2007-10-30 Novell, Inc. Method and system for reliable multicast data transmission
MXPA05008404A (es) 2003-02-18 2005-10-05 Nokia Corp Metodo de codificacion de imagen.
US6873786B2 (en) * 2003-05-05 2005-03-29 Thomson Licensing S.A. Reverse trick modes on non-progressive video using special groups of pictures
US7415069B2 (en) * 2003-12-09 2008-08-19 Lsi Corporation Method for activation and deactivation of infrequently changing sequence and picture parameter sets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1185033A1 (en) * 2000-04-06 2002-03-06 NTT DoCoMo, Inc. Multicasting method, multicasting system, mobile station and base station
EP1146683A2 (en) * 2000-04-13 2001-10-17 NTT DoCoMo, Inc. Retransmission control method and system for multicast service

Also Published As

Publication number Publication date
ZA200607728B (en) 2008-11-26
JP2007522750A (ja) 2007-08-09
KR20060129052A (ko) 2006-12-14
BRPI0507781A (pt) 2007-07-17
US20050182995A1 (en) 2005-08-18
EP1716658B1 (en) 2018-12-05
US8108747B2 (en) 2012-01-31
US20080065945A1 (en) 2008-03-13
AU2005212897A1 (en) 2005-08-25
CN1922813B (zh) 2012-04-04
US7296205B2 (en) 2007-11-13
TW200537841A (en) 2005-11-16
WO2005078983A1 (en) 2005-08-25
CN1922813A (zh) 2007-02-28
CA2555282A1 (en) 2005-08-25
EP1716658A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
KR100831654B1 (ko) 멀티캐스트 및 브로드캐스트 전송을 관리할 수 있는시스템에서 데이터 복구 방법
US7536622B2 (en) Data repair enhancements for multicast/broadcast data distribution
EP1714415B1 (en) Identification and re-transmission of missing parts
JP2007522750A5 (ko)
US20050216472A1 (en) Efficient multicast/broadcast distribution of formatted data
US20080137656A1 (en) Method and apparatus for multicasting data
KR100883576B1 (ko) 멀티캐스트/브로드캐스트 데이터 배포를 위한 데이터 복구강화
MXPA06009229A (es) Metodo de reparacion de datos en un sistema capaz de manejar transmisiones de multidifusion y radiodifusion
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: 20130419

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 12