KR20060117357A - 확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을최적화하기 위한 방법 및 장치 - Google Patents

확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을최적화하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20060117357A
KR20060117357A KR1020067016612A KR20067016612A KR20060117357A KR 20060117357 A KR20060117357 A KR 20060117357A KR 1020067016612 A KR1020067016612 A KR 1020067016612A KR 20067016612 A KR20067016612 A KR 20067016612A KR 20060117357 A KR20060117357 A KR 20060117357A
Authority
KR
South Korea
Prior art keywords
server
value
receiving
data
logic
Prior art date
Application number
KR1020067016612A
Other languages
English (en)
Other versions
KR100839267B1 (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
Priority to US53795704P priority Critical
Priority to US60/537,957 priority
Priority to US10/801,871 priority
Priority to US10/801,871 priority patent/US7127655B2/en
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20060117357A publication Critical patent/KR20060117357A/ko
Application granted granted Critical
Publication of KR100839267B1 publication Critical patent/KR100839267B1/ko

Links

Images

Classifications

    • 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

Abstract

확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을 최적화하기 위한 방법 및 장치가 제시된다. 서버로부터 복수의 수신 터미널들로 데이터를 전달하기 위한 방법이 제공된다. 상기 방법은 서버로부터 복수의 수신 터미널들로 데이터를 전달하는 단계와 각각의 수신 터미널에서 랜덤한 응답값을 생성하는 단계를 포함한다. 상기 방법은 또한 각각의 수신 터미널에서 상기 응답값을 승인값과 비교하는 단계와 승인 신호를 선택된 수신 터미널들로부터 서버로 전송하는 단계를 포함한다. 선택된 수신 터미널들은 복수의 수신 터미널들 중 일부이며, 응답값은 승인값에 대한 선택된 관계를 가지고 있다.

Description

확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을 최적화하기 위한 방법 및 장치{METHODS AND APPARATUS TO OPTIMIZE DELIVERY OF MULTICAST CONTENT USING PROBABILISTIC FEEDBACK}

본 출원은 여기에 참조로서 통합되는, 출원 번호가 60/537,957이고, 출원일이 2004년 1월 20일이고, 발명의 명칭이 "METHODS AND APPARATUS TO OPTIMIZE DELIVERY OF MULTICAST CONTENT USING PROBABILISTIC FEEDBACK"인 미국의 동시계속 가출원의 우선권을 주장한다.

본 발명은 일반적으로 네트워크 환경에서의 컨텐트 전달에 관한 것이며, 더욱 상세하게는, 확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을 최적화하기 위한 방법 및 장치에 관한 것이다.

무선 통신 네트워크들 또는 유선 인터넷과 같은, 데이터 네트워크들은 단일 터미널에 대하여 맞춤화된 서비스들과 모든 터미널들에 대한 브로드캐스트/멀티캐스트 서비스들 사이에서 트레이드 오프 관계를 가지고 있다. 컨텐트(데이터)를 많은 수의 가입자들에게 배포하는 것은 복잡한 문제이다. 멀티캐스트 또는 브로드캐스트 기술을 구현하는 네트워크 시스템들은 데이터를 넓은 영역으로 전달할 수 있으나, 전송자가 많은 수의 수신자들에 대한 전달의 성공 또는 실패에 대하여 알기 가 어렵다.

이러한 문제점을 언급하기 위해 사용되는 기법들 중에서 순방향 에러 정정 및/또는 반복이 있으며, 여기서 컨텐트는 미리 처리되고 코딩되어 모든 수신 터미널들에 의한 수신 가능성이 매우 높다. 이러한 해결책들은 터미널들의 집단에 대한 수신 확률(P(r))이 허용가능한 값이 되기 위해 필요한 코딩 및 반복의 양이 미리 계산될 수 있다고 가정한다. 결과적으로, 이러한 프로토콜들은 전달 성공의 확률을 높이기 위하여 그 대신에 어느 정도 추가적인 오버헤드를 요구한다.

그러나, 이러한 알고리즘들은 데이터가 전송되기 전에 수행되기 때문에, 전달 성공에 대하여 포지티브하거나 네거티브한 영향을 줄 수 있는 전달 조건들을 변경하기 위한 조절을 할 수 없다. 그리하여, 이러한 알고리즘들을 이용하는 시스템들은 비효율적이고 이미 성공적으로 수신된 데이터를 반복적으로 전송함으로써 귀중한 대역폭을 낭비할 수 있다.

그러므로, 전달 조건들의 변화를 보상하고, 시스템 대역폭을 절약하여 기존의 시스템들에 비하여 증가된 효율성을 제공하면서, 컨텐트를 많은 수의 사용자들에게 전달하는 네트워크 환경에서 원하는 레벨의 서비스를 제공하기 위한 전달 시스템이 요구된다.

하나 이상의 실시예들에서, 확률적 피드백을 이용하여 네트워크 환경에서 컨텐트의 전달을 최적화하기 위한 방법들 및 장치가 제공된다. 예를 들어, 일 실시예에서, 서버에서 복수의 수신 터미널들로의 멀티캐스트(또는 이하 멀티캐스트로서 포함되는 브로드캐스트) 전송에 의해 전송되는 데이터의 전달을 최적화하기 위한 시스템이 제공된다. 상기 시스템은 전송 데이터 서버로 전달 성능에 관한 실시간 동적 통계적 샘플을 제공한다. 데이터 서버는 원하는 레벨이 서비스가 언제 달성되는지를 결정하기 위해 전달 성능에 관한 정보를 이용한다. 예를 들어, 데이터 서버는 원하는 레벨의 서비스에 의해 정의된 바와 같이 충분한 수신 터미널들에 의해 수신된 이미 수신되었던 데이터의 전송을 중단한다. 그 결과, 데이터 서버는 다른 데이터 또는 서비스들을 제공하기 위해 절약된 대역폭을 자유롭게 이용할 수 있으며 시스템의 전체 용량이 증가된다.

일 실시예에서, 데이터 서버는 데이터 및 멀티캐스트 전송의 승인값을 복수의 수신 터미널들로 전송한다. 데이터를 성공적으로 수신하면, 각각의 터미널에서 승인값과 비교되는 응답값을 생성하기 위해 랜덤 프로세스가 이용된다. 승인 신호는 임의의 터미널로부터 서버로 전송되며, 여기서 응답값은 승인값보다 크다. 그리하여, 서버는 전송의 전달 성능에 대한 실시간 동적 통계적 샘플을 수신한다. 충분한 터미널들이 성공적으로 데이터를 수신한 경우에, 서버는 이러한 정보를 이용하여 데이터를 재전송할 것인지 또는 전송을 중단할 것인지 여부를 결정한다. 그리하여, 서버는 미리 결정된 레벨의 서비스가 언제 달성되는지를 효율적으로 결정할 수 있다.

일 실시예에서, 복수의 수신 터미널들로 데이터를 전송하기 위해 서버에서 사용하는 장치가 제공된다. 상기 장치는 서버로부터 복수의 수신 터미널들로 데이터와 승인값을 전송하기 위한 전송 로직을 포함한다. 상기 장치는 또한 선택된 수신 터미널들로부터의 승인 신호를 수신하기 위한 수신 로직을 포함한다. 선택된 수신 터미널들은 복수의 수신 터미널들 중 일부를 포함하며, 여기서 로컬하게 생성된 랜덤 응답값은 승인값에 대하여 선택된 관계를 가진다.

일 실시예에서, 데이터를 복수의 수신 터미널들로 전송하기 위해 서버에서 이용하기 위한 방법이 제시된다. 상기 방법은 서버로부터 복수의 수신 터미널들로 데이터와 승인값을 전송하는 단계와, 선택된 수신 터미널들로부터 승인 신호를 수신하는 단계를 포함한다. 선택된 수신 터미널들은 복수의 수신 터미널들 중 일부를 포함하며, 여기서 로컬하게 생성된 랜덤 응답값은 승인값에 대하여 선택된 관계를 가진다.

일 실시예에서, 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 사용하는 장치가 제공된다. 상기 장치는 데이터와 서버로부터 전송된 승인값을 수신하기 위한 수신 로직과 랜덤 응답값을 생성하기 위한 생성 로직을 포함한다. 상기 장치는 또한 응답값과 승인값을 비교하기 위한 프로세싱 로직과, 응답값이 승인값에 대하여 선택된 관계를 가지는 경우에 승인 신호를 서버로 전송하기 위한 전송 로직을 포함한다.

일 실시예에서, 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 이용하는 방법이 제공된다. 상기 방법은 데이터와 서버로부터 전송된 승인값을 수신하는 단계, 랜덤한 응답값을 생성하는 단계, 응답값을 승인값과 비교하는 단계 및 응답값이 승인값과 선택된 관계를 가지면 승인 신호를 서버로 전송하는 단계를 포함한다.

일 실시예에서, 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 사용하는 장치가 제공된다. 상기 장치는 데이터와 서버로부터 전송된 승인값을 수신하기 위한 수신 로직을 포함하며, 수직 로직은 데이터 수신 에러를 탐지하도록 동작한다. 상기 장치는 또한 랜덤한 응답값을 생성하기 위한 생성 로직 및 응답값을 승인값과 비교하기 위한 프로세싱 로직을 포함한다. 상기 장치는 또한 데이터 수신 에러가 탐지되고 응답값이 승인값에 대하여 선택된 관계를 가지면 수신 터미널로부터 서버로 네거티브 승인 신호를 전송하기 위한 전송 로직을 포함한다.

본 발명의 양상들, 장점들 및 특징들은 아래의 상세한 설명,도면 및 청구범위로부터 보다 명백할 것이다.

도 1은 데이터 전달 시스템의 일 실시예를 구성하는 데이터 네트워크를 나타낸다.

도 2는 데이터 전달 시스템의 일 실시예를 구성하는 전송 서버의 상세한 다이어그램을 나타낸다.

도 3은 도 2의 서버를 동작시키기 위한 방법의 일 실시예를 나타낸다.

도 4는 데이터 전달 시스템의 일 실시예를 구성하는 수신 터미널의 기능 블록 다이어그램을 나타낸다.

도 5는 도 4의 수신 터미널을 동작시키기 위한 방법의 일 실시예를 나타낸다.

도 6은 데이터 전달 시스템의 일 실시예에서 네거티브 승인 신호를 제공하기 위한 수신 터미널의 동작을 설명하는 방법을 나타낸다.

다음의 상세한 설명은 전송 서버에서 많은 수의 터미널들로 데이터를 효율적으로 전달하도록 동작하는 데이터 전달 시스템의 실시예들을 설명한다. 상기 시스템은 임의의 타입의 유선 또는 무선 네트워크에서 사용하기에 적합하며, 통신 네트워크들, 인터넷과 같은 공중 네트워크들, 가상 사설망(VPN)과 같은 사설 네트워크들, 근거리 통신망들, 광역 통신망들, 롱 홀(long haul) 네트워크들 또는 임의의 다른 타입의 데이터 네트워크를 포함하나 이에 한정되지는 않는다.

도 1은 데이터 전달 시스템의 일 실시예를 포함하는 데이터 네트워크(100)를 나타낸다. 네트워크(100)는 서버(102), 데이터 네트워크(104) 및 106으로 도시된 터미널들(1 내지 N)을 포함한다. 데이터 네트워크(104)는 데이터가 서버(102)로부터 터미널들(106)로 전송되도록 허용하는 임의의 타입의 유선 또는 무선 네트워크일 수 있다. 네트워크(104)는 또한 역방향 통신 채널들을 제공하며, 그 결과 임의의 터미널들(106)은 데이터 또는 다른 정보를 서버(102)로 전송할 수 있다.

하나 이상의 실시예들에서, 전달 시스템은 (서버에서 터미널들로) 이용가능한 순방향 채널들을 통해 데이터의 효율적인 멀티캐스트를 제공하기 위해 사용되는 피드백 정보를 수신하기 위해 (터미널들로부터 서버로의) 역방향 채널들을 사용한다. 선택된 시스템 용량에 대하여, 확률 승인값(Pack)이 설정된다. Pack 값은 각각 의 수신 터미널이 Pack 값을 수신하도록 데이터와 함께 전송된다. 예를 들어, 패키지(112)는 데이터와 Pack 값을 포함한다. 경로들(108)은 서버(102)로부터 수신 터미널들(106)로의 패키지(112)의 전송을 나타낸다.

패키지(112)를 수신하면, 각각의 수신 터미널은 성공적인 데이터 전달의 승인 여부를 결정하기 위해 Pack 값을 이용한다. 일 실시예에서, 각각의 수신 터미널은 데이터 전달의 승인 여부를 결정하기 위해 Pack 값을 로컬하게 생성된 랜덤 응답값(P)과 비교한다. 예를 들어, P 값과 Pack 값 사이의 관계는 데이터 전달의 승인 여부를 결정하기 위해 이용된다. P 값은 Pack 값보다 작거나, 같거나 또는 클 수 있다. 일 실시예에서, P 값이 Pack 값보다 크면, 승인 신호(Ack)는 서버(102)로 전송된다. 그 결과, 수신 터미널들의 서브세트(즉, P > Pack)는 이용가능한 역방향 채널들을 통해 승인 신호(Ack)를 전송 서버(102)로 전송할 것이다. 예를 들어, 도 1에 도시된 바와 같이, 터미널들(1, 3 및 N)은 경로들(110)에 의해 도시된 바와 같이 역방향 채널들을 이용하여 승인 신호(Ack)를 서버(102)로 전송한다.

수신 터미널들의 서브세트(즉, 터미널들 1, 3 및 N)로부터 전송된 승인 신호들(Ack)은 통계적으로 샘플링된 응답을 형성한다. 충분한 터미널들이 데이터를 수신하여 수신 확률(Pr)이 만족된다고(즉, 원하는 레벨의 서비스가 제공됨) 결정되는 경우에, 서버(102)는 데이터 전송을 종결하기 위해 상기 통계적으로 샘플링된 응답 을 이용한다. Pack는 멀티캐스트 데이터 전송을 수신해야 하는 터미널들의 수와 관련하여 설정되고 Pr은 서비스 레벨 결정에 기반하기 때문에, Pr과 Pack 사이에는 직접적인 관계가 존재할 것을 요구하지 않는다는 것을 유의하도록 한다. 그러나, 통계적으로 중요한 개수의 승인 응답들(Ack)이 전송 서버(102)로 전달되도록 Pack 값이 설정되는 것이 바람직하다.

Pack 값은 임의의 다른 방식들로 수신 터미널로 전송될 수 있다는 것을 유의하도록 한다. 예를 들어, 위에서 설명된 바와 같이, Pack 값은 데이터와 함께 전송된다. 다른 실시예에서, Pack 값은 개별적인 통신으로 터미널들로 전송되거나 또는 페이징 채널이나 제어 채널과 같은 아웃-오브-밴드(out-of-band) 채널을 이용하여 전송될 수 있다. 그리하여, 임의의 적절한 기법이 수신 터미널들로 Pack 값을 제공하기 위해 이용될 수 있다.

도 2는 데이터 전달 시스템의 일 실시예를 구성하는 서버(102)의 기능 블록 다이어그램을 나타낸다. 서버(102)는 프로세싱 로직(202), 장치 리소스들(204), 데이터(206), 전송 로직(208) 및 수신 로직(210)을 포함하며, 모두 내부 데이터 버스(212)와 연결된다.

하나 이상의 실시예들에서, 프로세싱 로직(202)은 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 엘리먼트들, 가상 머신, 소프트웨어 및/또는 하드웨어와 소프트웨어의 임의의 결합을 포함한다. 그리하여, 프로세싱 로직(202)은 일 반적으로 기계-판독가능한 명령들을 실행하기 위한 로직을 포함한다.

장치 리소스들 및 인터페이스들(204)은 서버(102)가 내부 및 외부 시스템들과 통신하도록 허용하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 내부 시스템들은 대용량 저장 시스템들, 메모리, 디스플레이 드라이버, 모뎀 또는 다른 내부 장치 리소스들을 포함할 수 있다. 외부 시스템들은 사용자 인터페이스 장치들, 프린터들, 디스크 드라이버들 또는 다른 로컬 장치들 또는 시스템들을 포함할 수 있다.

데이터(206)는 하나 이상의 터미널들로 전송될 데이터를 나타낸다. 예를 들어, 데이터(206)는 임의의 타입의 메모리 장치에 저장된 멀티미디어 컨텐트를 포함할 수 있다. 일 실시예에서, 서버(102)는 데이터(206)의 멀티캐스트 전송을 수행하도록 동작하며, 그 결과 데이터는 원하는 개수의 수신 터미널들에 의해 수신될 수 있다.

전송 로직(208)은 서버(102)가 데이터 및 다른 정보를 외부의 장치들 또는 시스템들로 전송하도록 허용하기 위해 동작하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 전송 로직은 데이터 및/또는 다른 정보를 데이터 네트워크를 통해 수신 터미널들과 같은 다른 장치들로 전송하기 위한 로직을 포함할 수 있다. 예를 들어, 서버(102)는 멀티캐스트 전송을 데이터 네트워크를 통해 복수의 수신 터미널들로 전송하기 위해 전송 로직(208)을 사용할 수 있다.

수신 로직(210)은 서버(102)가 외부 장치들로부터 데이터 및 다른 정보를 수신하도록 허용하기 위해 동작하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 수신 로직은 서버(102)가 수신 터미널들로부터 역방향 채널들을 통해 전송된 데이터를 수신하도록 허용하기 위해 데이터 네트워크와 인터페이싱한다.

서버(102)는 또한 서버(102)로부터 전송된 데이터를 수신하는 터미널들로부터 통계적으로 샘플링된 응답을 결정하기 위해 사용되는 내부 데이터 버스(212)와 연결된 확률 승인 파라미터들(Pack)(214)(또는 값들)을 포함한다. 일 실시예에서, Pack 파라미터들은 0과 1 사이의 범위를 가진다. 서버(102)로부터의 데이터에 대한 각각의 멀티캐스트 전송은 관련된 Pack 파라미터를 가진다. 수신 터미널들은 서버(102)로 승인 신호(Ack)를 전송할 것인지 여부를 결정하기 위해 Pack 값을 이용한다. 예를 들어, 일 실시예에서, 전송된 Pack 파라미터가 0이면, 모든 수신 터미널들은 전송된 데이터에 대한 수신에 응답하여 서버(102)로 승인 신호(Ack)를 제공할 것이다. 대안적으로, Pack 파라미터가 1이면, 어떠한 수신 터미널도 승인 신호(Ack)를 서버(102)로 제공하지 않을 것이다. 바람직하게는, 전송된 Pack 파라미터는 통계적으로 중요한 개수의 수신 터미널들이 승인 신호(Ack)를 서버(102)로 전송하도록 설정된다.

서버(102)의 동작 동안에, 데이터(206)는 데이터 네트워크를 통해 전송 로직(208)을 경유하여 다수의 수신 터미널들로 멀티캐스팅된다. 데이터(206)는 선택된 Pack 파라미터를 포함하는 패키지로 전송된다. 패키지가 각각의 수신 터미널에서 수신되면, 터미널이 승인 신호(Ack)를 서버(102)로 전송하여야 하는지 여부를 결정 하기 위해 테스트가 수행된다. 이러한 결정은 Pack 파라미터와 각각의 터미널에서 생성된 응답값(P)에 기반한다. 그 결과, 서버(102)는 수신 터미널들의 서브세트로부터 Ack 신호들을 수신한다. 서버는 그 후에 선택된 수신 확률(Pr)이 만족되었는지 여부를 결정하기 위해 이러한 정보를 이용한다.

일 실시예에서, 데이터 전달 시스템은, 프로세싱 로직(202)에 의해 실행될 때 여기에 설명된 서버(102)의 기능들을 제공하는, 컴퓨터-판독가능 매체에 저장된 프로그램 명령들을 포함한다. 예를 들어, 명령들은 컴퓨터-판독가능 매체로부터 서버(102)로 로딩될 수 있으며, 컴퓨터-판독가능 매체는 플로피 디스크, CDROM, 메모리 카드, 플래시 메모리 장치, RAM, ROM 또는 장치 리소스들(204)을 통해 서버(102)와 인터페이싱하는 임의의 다른 타입의 메모리 장치 또는 컴퓨터-판독가능 매체를 포함한다. 다른 실시예에서, 명령들은 수신 로직(210)을 통해 서버(102)로 인터페이싱하는 네트워크 리소스들로부터 서버(102)로 다운로드할 수 있다. 명령들이 프로세싱 로직(202)에 의해 실행되면, 명령들은 여기서 설명된 바와 같이 데이터 전달 시스템의 하나 이상의 실시예들을 제공한다.

도 3은 데이터 전달 시스템의 일 실시예의 동작을 설명하는 방법(300)을 나타낸다. 명확화를 위해, 방법(300)은 도 2에 도시된 서버(102)와 관련하여 설명될 것이다. 하나 이상의 실시예들에서, 프로세싱 로직(202)은 아래에서 설명되는 기능들을 수행하기 위한 프로그램 명령들을 실행한다.

전달 시스템의 초기화 동안에, 선택된 수신 확률(Pr)이 멀티캐스트 전송들을 위해 정의된다. 예를 들어, Pr에 대한 값은 장치 인터페이스들(204)을 통해 사용자에 의해 입력되거나 또는 수신 로직(210)을 통해 서버(102)로 다운로드된다. 일 실시예에서, Pr에 대한 값은 프로세싱 로직(202)에 저장된다.

블록 302에서, 데이터와 선택된 Pack 파라미터를 포함하는 패키지가 생성된다. 패키지는 다수의 수신 터미널들로 멀티캐스트 전송되어야 한다. 예를 들어, 일 실시예에서, 프로세싱 로직(202)은 패키지를 형성하기 위해 데이터(206)의 선택된 부분과 선택된 Pack 파라미터(214)를 결합한다. Pack 파라미터(214)는 패키지의 헤더 부분에 포함된다.

블록 304에서, 패키지는 수신 터미널들로 멀티캐스트 전송된다. 예를 들어, 프로세싱 로직(202)은 네트워크(104)와 같은 데이터 네트워크를 통해 패키지를 수신 터미널들로 멀티캐스트 전송하기 위해 전송 로직(208)을 제어한다. 수신 터미널들은 패키지를 수신하고 Ack 신호와 함께 서버(102)에 응답할 것인지 여부를 결정한다.

블록 306에서, 전송 서버는 수신 터미널들의 서브세트로부터 Ack 신호들을 수신한다. 예를 들어, 수신 터미널들의 서브세트는 패키지에 있는 Pack 값으로부터 자신들이 Ack 신호를 전송 서버(102)로 전송할 것을 결정한다. 서브세트 터미널들은 데이터 네트워크와 관련된 역방향 채널을 이용하여 Ack 신호를 서버(102)로 전송한다.

블록 308에서, 원하는 개수의 수신 터미널들이 멀티캐스트 전송을 수신하였는지 여부를 결정하기 위한 테스트가 수행된다. 예를 들어, 서버(102)는 수신 터미널들의 개수가 초기화 동안에 정의된 바와 같이 선택된 수신 확률(Pr)을 만족하는지 여부를 결정하기 위해 수신된 Ack 신호들의 개수를 이용한다. 일 실시예에서, 프로세싱 로직(202)은 멀티캐스트 수신 터미널들의 전체 개수를 알고 있으며 얼마나 많은 터미널들이 성공적으로 데이터를 수신하였는지를 통계적으로 결정하기 위해 Ack 신호들을 이용한다.

전송 조건들 및 다른 변수들에 기인하여, 모든 가능한 수신 터미널들이 전송을 수신할 수 있는 것은 아니다. 그 결과, 실제적으로 Ack 신호를 전송하는 터미널들의 서브세트에 있는 터미널들의 개수는 예상보다 적을 수 있다. 공지된 통계적 분석 기법들을 이용하여, 프로세싱 로직(202)은 선택된 수신 확률(Pr)이 수신 터미널들의 전체 가능한 개수와 수신된 Ack 신호들의 개수에 기반하여 만족되었는지 여부를 결정한다. 프로세싱 로직(202)은 또한 다소의 수신 터미널들이 Ack 신호를 전송하도록 하기 위해 나중의 전송을 위한 Pack 값을 조절할 수 있다.

선택된 수신 확률(Pr)이 만족되면, 방법은 블록 312로 진행하며, 그렇지 않으면 방법은 블록 310으로 진행한다.

블록 310에서, 패키지는 블록 308에서 충분하지 않은 수신 터미널들이 멀티캐스트 전송을 수신하였다고 결정되었기 때문에 재-전송된다. 재-전송 후에, 방법은 블록 306으로 진행하며, 여기서 Ack 신호들은 수신 터미널들의 서브세트로부터 다시 수신된다.

블록 312에서, 보다 많은 데이터가 멀티캐스트 전송되는지 여부를 결정하기 위한 테스트가 수행된다. 예를 들어, 큰 데이터 블록이 작은 패키지들의 스트링에서 멀티캐스트 전송될 수 있다. 보다 많은 데이터가 전송되어야 한다면, 방법은 블록 302로 진행하며, 그렇지 않으면 방법은 블록(314)에서 종료된다.

플로우 다이어그램(300)은 단지 하나의 실시예이며 플로우 엘리먼트들의 변경, 부가 및 재배치는 본 발명의 범위를 벗어남이 없이 이루어질 수 있다는 것을 유의하도록 한다.

도 4는 데이터 전달 시스템의 일 실시예를 구성하는 수신 터미널(400)의 기능 블록 다이어그램을 나타낸다. 터미널(400)은 프로세싱 로직(402), 메모리(404), 장치 리소스들 및 인터페이스들(406), 전송 로직(408) 및 수신 로직(412)을 포함하며, 이들은 모두 데이터 버스(416)에 연결된다.

하나 이상의 실시예들에서, 프로세싱 로직(402)은 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 엘리먼트들, 가상 머신, 소프트웨어 및/또는 하드웨어와 소프트웨어의 임의의 결합을 포함한다. 그리하여, 프로세싱 로직(402)은 일반적으로 기계-판독가능 명령들을 실행하기 위한 로직을 포함한다.

장치 리소스들 및 인터페이스들(406)은 터미널(400)이 내부 및 외부 시스템들과 통신하도록 허용하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 내부 시스템들은 대용량 저장 시스템들, 메모리, 디스플레이 드라이버, 모뎀 또는 다른 내부 장치 리소스들을 포함할 수 있다. 외부 시스템들은 사용자 인터페이스 장치들, 프린터들, 디스크 드라이버들 또는 다른 로컬 장치들 또는 시스템들을 포함할 수 있다.

전송 로직(408)은 터미널(400)이 데이터 및 다른 정보를 외부의 장치들 또는 시스템들로 전송하도록 허용하기 위해 동작하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 전송 로직은 데이터 및/또는 다른 정보를 데이터 네트워크를 통해 서버와 같은 다른 장치들로 전송하기 위한 로직을 포함할 수 있다. 예를 들어, 프로세싱 로직(402)은 데이터 네트워크의 역방향 채널을 통해 Ack 신호를 서버로 전송하기 위해 전송 로직(408)을 사용할 수 있다.

수신 로직(412)은 터미널(400)이 외부 장치들로부터 데이터 및 다른 정보를 수신하도록 허용하기 위해 동작하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 수신 로직(412)은 터미널(400)이 서버로부터 멀티캐스트 전송으로 전송된 데이터를 수신하도록 허용하기 위해 데이터 네트워크와 인터페이싱한다.

메모리(404)는 터미널(400)에서 정보를 저장하기 위한 로직을 포함한다. 예를 들어, 터미널(400)은 서버로부터 멀티캐스트 전송으로 전송되었던 패키지(112)를 수신하고, 추가적인 프로세싱을 위해 메모리(404)에 패키지(112)를 저장할 수 있다.

터미널(400)은 또한 응답값(P) 발생기(418)를 포함한다. 발생기(418)는 응답값(P)을 발생시키기 위한 하드웨어 및 소프트웨어의 임의의 결합을 포함한다. 예를 들어, 일 실시예에서, 발생기(418)는 응답값 P에 대하여 0과 1 사이에 있는 랜덤한 수를 생성하기 위해 동작하는 랜덤 수 발생기를 포함한다.

터미널(400)은 선택적으로 미리 결정된 시간 주기들 또는 랜덤 시간 간격들을 측정하도록 동작하는 타이밍 로직(420)을 포함할 수 있다. 타이밍 로직은 데이터 버스(416)와 연결되며 하드웨어와 소프트웨어의 임의의 결합을 포함한다. 일 실시예에서, 프로세싱 로직(402)은 데이터 버스(416)를 통해 타이밍 로직(420)의 동작을 제어할 수 있다. 예를 들어, 프로세싱 로직(402)은 선택된 시간 간격들을 측정하기 위해 타이밍 로직을 설정, 재설정, 액티베이트, 디액티베이트, 클리어 또는 그렇지 않으면 제어하도록 동작할 수 있다. 예를 들어, 프로세싱 로직(402)은 랜덤 시작값들로 타이밍 로직(420)을 미리 설정하고 시간 간격이 종료되면 타이밍 로직(420)으로부터 완료 신호를 수신함으로써 랜덤 시간 간격들을 측정하기 위해 타이밍 로직을 제어할 수 있다.

동작 동안에, 터미널(400)은 멀티캐스트 데이터 전송들을 수신하고 이에 응답하여 승인 신호(Ack)를 전송 서버로 전송할 것인지 여부를 결정하도록 동작한다. 예를 들어, 패키지(112)는 터미널(400)에 의해 수신되고 메모리(404)에 저장된다. 패키지(112)는 예컨대 서버(102)와 같은 서버에 의해 전송된 Pack 값과 데이터를 포함한다. 터미널(400)은 그 후에 발생기(418)를 사용하여 응답값 P를 생성하고, 프로세싱 로직(402)은 P 값과 Pack 값을 비교하여 두 값들 사이의 관계를 결정한다. 상기 관계는 Ack 신호를 전송할 것인지를 결정하기 위해 이용된다. 예를 들어, P 값은 Pack 값보다 크거나, 같거나 또는 작을 수 있다. 값들 사이에서 원하는 관계가 존재한다면, 프로세싱 로직(402)은 전송 로직(408)이 역방향 채널을 통해 Ack 신호를 전송 서버로 전송하도록 제어할 것이다. 전송 서버는 멀티캐스트 데이터 전송이 선택된 수신 확률(Pr)을 만족하는지 여부를 결정하기 위해 수신 터미널들로부터 수신된 Ack 신호들을 이용한다.

일 실시예에서, 데이터 전달 시스템은 컴퓨터-판독가능 매체에 저장된 프로그램 명령들을 포함하며, 프로그램 명령들은 프로세싱 로직(402)에 의해 실행되면 여기에 설명된 터미널(400)의 기능들을 제공한다. 예를 들어, 예를 들어, 명령들은 컴퓨터-판독가능 매체로부터 터미널(400)로 로딩될 수 있으며, 컴퓨터-판독가능 매체는 플로피 디스크, CDROM, 메모리 카드, 플래시 메모리 장치, RAM, ROM 또는 장치 리소스들(406)을 통해 터미널(400)과 인터페이싱하는 임의의 다른 타입의 메모리 장치 또는 컴퓨터-판독가능 매체를 포함한다. 다른 실시예에서, 명령들은 수신 로직(412)을 통해 터미널(400)로 인터페이싱하는 네트워크 리소스들로부터 터미널(400)로 다운로드할 수 있다. 명령들이 프로세싱 로직(402)에 의해 실행되면, 명령들은 여기서 설명된 바와 같이 데이터 전달 시스템의 하나 이상의 실시예들을 제공한다.

도 5는 데이터 전달 시스템의 일 실시예의 동작을 설명하는 방법(500)을 나타낸다. 명확화를 위해, 방법(500)은 도 4에 도시된 터미널(400)과 관련하여 설명될 것이다. 하나 이상의 실시예들에서, 프로세싱 로직(402)은 아래에서 설명되는 기능들을 수행하기 위해 프로그램 명령들을 실행한다.

블록 502에서, 멀티캐스트 전송의 일부로서 전송된 패키지는 성공적으로 터 미널에 수신된다. 예를 들어, 패키지(112)는 수신 로직(412)을 통해 터미널(400)로 수신된다.

블록 504에서, 랜덤한 응답값 P가 생성된다. 예를 들어, 프로세싱 로직(402)은 랜덤한 응답값 P를 생성하기 위해 발생기(418)를 제어한다. 일 실시예에서, P 값은 0에서 1 사이의 범위에 있는 랜덤한 값이다.

블록 506에서, 응답값 P가 패키지에 포함된 Pack 값보다 큰 지 여부를 결정하기 위한 테스트가 수행된다. 예를 들어, 전송 서버는 전송 이전에 패키지에 있는 Pack 값을 포함한다. 프로세싱 로직(402)은 수신된 패키지로부터 Pack 값을 검색하고 Pack 값을 발생기(418)에 의해 생성된 P 값과 비교한다. 일 실시예에서, 프로세싱 로직은 두 값들 사이의 관계를 결정하도록 동작하는 비교 로직을 포함한다. 응답값 P와 Pack 값 사이의 임의의 관계는 Ack 신호가 전송되는지 여부를 결정하기 위해 이용될 수 있다. 일 실시예에서, P 값이 Pack 값보다 크면, 승인이 요구되며 방법은 블록 508로 진행한다. P 값이 Pack 값보다 작거나 같으면, 승인은 요구되지 않으며 방법은 다음 패키지를 수신하기 위해 블록(502)으로 진행한다.

블록 508에서, 터미널은 패키지가 성공적으로 수신되었다는 것을 표시하기 위해 승인 신호(Ack)를 전송 서버로 전송한다. 예를 들어, Ack 신호는 임의의 타입의 승인 신호 또는 메시지일 수 있다. 일 실시예에서, 프로세싱 로직(402)은 이용가능한 역방향 채널을 통해 Ack 신호를 서버로 전송하기 위해 전송 로직(408)을 제어한다. 그리하여, 서버는 터미널이 성공적으로 전송된 패키지를 수신하였다는 것을 통지받는다.

방법(500)은 단지 하나의 실시예이며 플로우 엘리먼트들의 변경, 추가 및 재배열은 본 발명의 범위를 벗어남이 없이 이루어질 수 있다는 것을 유의하도록 한다.

다른 실시예에서, Pack 값은 Pnack 값으로 변경된다. 수신 터미널들은 데이터가 성공적으로 수신되지 않았다면 서버로 "네거티브 승인"(Nack)을 전송할 것인지 여부를 결정하기 위해 Pnack 값을 이용한다. 예를 들어, 전송 에러 또는 데이터의 성공적인 수신을 방해하는 몇몇 다른 이벤트가 존재하면, 수신 터미널(들)은 데이터 전송이 실패하였다는 것을 표시하기 위해 네거티브 승인(Nack)을 서버로 전송할 수 있다. Pnack 값은 네거티브 승인 신호(Nack)를 전송할 것인지 여부를 결정하기 위해 수신 터미널들에 의해 이용되며, 그 결과 서버는 수신 확률 P(r)을 결정할 수 있는 통계적으로 중요한 개수의 Nack 신호들을 수신할 것이다. 예를 들어, 얼마나 많은 터미널들이 데이터를 수신하는데 실패하였는지를 파악함으로써, 얼마나 많은 터미널들이 성공적으로 데이터를 수신하였는지 여부와 그에 따라 수신 확률 P(r)을 결정할 수 있다.

도 6은 데이터 전달 시스템의 일 실시예에서 네거티브 승인 신호를 제공하기 위한 수신 터미널들의 동작을 설명하는 방법(600)을 나타낸다. 방법(600)에 대한 설명을 위해, 전송 서버는 다수의 수신 터미널들로 멀티캐스트 전송되는 데이터의 패키지에 Pnack 값을 포함시킨다고 가정한다.

블록 602에서, 수신 터미널은 패키지가 도착할 때까지 기다린다. 패키지는 데이터와 Pnack 값을 포함한다.

블록 604에서, 패키지가 도착하며 패키지가 성공적으로 수신되었는지 여부를 결정하기 위한 테스트가 수행된다. 예를 들어, 수신 터미널은 데이터 수신 에러 또는 데이터의 성공적이지 못한 수신을 야기하는 몇몇 다른 에러가 존재하는지 여부를 결정한다. 데이터가 성공적으로 수신되면, 방법은 다음 패키지를 기다리기 위해 블록 602로 진행한다. 데이터가 성공적으로 수신되지 않으면, 방법은 블록 606으로 진행한다.

블록 606에서, 수신 터미널은 응답값 P를 생성한다. 예를 들어, 프로세싱 로직(402)은 P 값을 생성하기 위해 발생기(418)를 제어한다. 일 실시예에서, 발생기(418)는 P 값에 대한 랜덤한 수를 발생시킨다.

블록 608에서, P 값이 Pnack 값보다 큰 지 여부를 결정하기 위한 테스트가 수행된다. 예를 들어, 프로세싱 로직(402)은 두 값들을 비교하는 비교 로직을 포함한다. P 값이 Pnack 값보다 크지 않으면, 방법은 블록 612로 진행한다. P 값이 Pnack 값보다 크면, 방법은 블록 610으로 진행한다.

블록 610에서, 랜덤한 시간 간격의 측정이 개시된다. 예를 들어, 프로세싱 로직(402)은 랜덤한 시간 간격을 측정하기 위해 타이밍 로직(420)을 제어한다. 시 간 간격은 수신 터미널로부터 전송 서버로의 Nack 신호의 전송을 스케쥴링하기 위해 사용된다. 시간 간격은 임의의 시간 간격으로 선택될 수 있으나, 일 실시예에서 시간 간격은 각각의 수신 장치에서 랜덤하게 선택된다. 그 결과 각각의 수신 장치는 정확하게 동시에 Nack 전송이 발생하도록 스케쥴링할 가능성이 거의 없을 것이다. 그리하여, 역방향 링크 및 전송 서버는 많은 수의 데이터 수신 에러가 발생하는 경우에 Nack 전송들로 인하여 플로딩(flooding)되지 않을 것이다.

블록 612에서, 데이터가 전송 서버로부터 재전송되는지를 결정하기 위한 테스트가 수행된다. 예를 들어, 서버는 다른 수신 터미널들로부터 수신된 하나 이상의 Nack들에 기반하여 데이터를 재-전송할 수 있다. 데이터가 재전송으로 수신되면, 방법은 블록 618로 진행한다. 데이터가 재전송으로 수신되지 않으면, 방법은 블록 614로 진행한다.

블록 618에서, 데이터가 재전송으로 수신된 결과로서, 타이머의 동작이 종료되고 스케쥴링된 Nack 전송은 취소된다. 예를 들어, 프로세싱 로직(402)은 동작을 중지시키기 위해 타이밍 로직(420)을 제어한다. 방법은 다음 패키지를 기다리기 위해 블록 602로 진행한다.

블록 614에서, 선택된 시간 간격이 만료되었는지 여부를 결정하기 위한 테스트가 수행된다. 예를 들어, 타이밍 로직(420)은 선택된 시간 간격을 측정하고 그 후에 프로세싱 로직(402)으로 시간 간격이 만료된 것을 시그널링한다.

블록 616에서, 수신 터미널은 시간 간격의 종료 시점에서 이용가능한 역방향 채널을 통해 Nack 신호를 서버로 전송한다. 예를 들어, 프로세싱 로직(402)은 Nack 신호를 서버로 전송하기 위해 전송 로직(408)을 제어한다. Nack 신호는 전송된 데이터가 성공적으로 수신되지 않았다는 것을 서버로 통지한다. 서버는 그 후에 원한다면 데이터를 재-전송하도록 동작할 수 있다. 예를 들어, 서버는 수신 확률(Pr)을 결정하기 위해 수신된 Nack 신호들의 개수를 이용하고 데이터를 재전송하여야 하는지를 결정하기 위해 상기 정보를 이용할 수 있다.

방법(600)은 단지 하나의 실시예이며, 플로우 엘리먼트들의 변경, 추가 및 재배열은 본 발명의 범위를 벗어남이 없이 이루어질 수 있다는 것을 유의하도록 한다.

방법(600)의 다른 실시예에서, 역방향 링크를 통한 멀티캐스트 전송이 가능하다. 이러한 실시예에서, 각각의 터미널은 역방향 링크를 통해 Nack 신호들을 전송하는 다른 터미널들을 모니터링(또는 청취)할 수 있다. 그리하여, 터미널은 자신이 블록 602 내지 608에서 결정된 바와 같이 성공적으로 데이터를 수신하지 않는다면 랜덤 간격 타이밍을 시작할 것이다. 블록 612에서, 데이터가 전송 서버로부터 재전송되었는지 여부를 결정하기 위한 테스트가 수행된다. 그러나, 블록 612는 또한 수신 에러들로 인하여 터미널이 Nack 신호들을 전송하는 하나 이상의 터미널들을 탐지(또는 청취)하는지 여부를 결정하기 위해 테스트를 수행할 것이다. 다른 터미널들이 이미 Nack 신호들을 전송하고 있다는 것을 터미널이 탐지하면, 방법은 블록 618로 진행하며, 여기서 타이머와 스케쥴링된 Nack 전송들은 취소된다. 상기 터미널은 이미 데이터의 재전송을 요청하는 다른 터미널들이 존재한다는 것을 탐지 하였기 때문에, 상기 터미널이 추가적인 Nack 전송들 없이 전송 채널들을 추가적으로 넘치게(congest) 할 필요는 없다.

따라서, 데이터 전달 시스템에 대한 방법들 및 장치들의 하나 이상의 실시예들이 여기에서 도시되고 설명되는 동안에, 다양한 변형들이 본 발명의 본질적 특성들을 벗어남이 없이 실시예들에 대하여 적용될 수 있다는 것을 이해해야 할 것이다. 그러므로, 여기에 제시된 설명들은 설명을 위한 목적으로 제시된 것이며, 다음의 청구범위에서 제시된 본 발명의 범위를 제한하지 않는다.

Claims (55)

  1. 데이터를 복수의 수신 터미널들로 전송하기 위해 서버에서 사용하는 장치로서,
    상기 데이터와 상기 서버로부터의 승인값을 상기 복수의 수신 터미널들로 전송하기 위한 전송 로직; 및
    선택된 수신 터미널들로부터 승인 신호를 수신하기 위한 수신 로직을 포함하며,
    상기 선택된 수신 터미널들은 상기 복수의 수신 터미널들의 일부를 포함하며, 로컬하게(locally) 생성된 랜덤 응답값은 상기 승인값에 대한 선택된 관계를 가지는 것을 특징으로 하는 장치.
  2. 제 1 항에 있어서,
    상기 전송 로직은 아웃 오브 밴드(out of band) 전송을 이용하여 상기 승인값을 상기 복수의 수신 터미널들로 전송하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  3. 제 1 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 장치.
  4. 제 1 항에 있어서,
    프로세싱 로직은 수신 확률을 결정하기 위해 상기 선택된 수신 터미널들로부터 전송된 상기 승인 신호들을 이용하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  5. 제 4 항에 있어서,
    상기 프로세싱 로직은 상기 수신 확률이 선택된 서비스 레벨보다 낮으면 상기 서버로부터 상기 데이터를 재전송하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  6. 제 4 항에 있어서,
    상기 프로세싱 로직은 상기 수신 확률이 선택된 서비스 레벨보다 높으면 상기 서버로부터의 상기 데이터의 전송을 종료하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  7. 제 1 항에 있어서,
    프로세싱 로직은 상기 서버에서 수신되는 승인 신호들의 개수를 조절하기 위해 상기 승인값을 조절하는 로직을 더 포함하는 것을 특징으로 하는 장치.
  8. 제 1 항에 있어서,
    상기 전송 로직은 멀티캐스트 전송을 이용하여 상기 서버로부터의 상기 데이터를 상기 복수의 수신 터미널들로 전송하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  9. 데이터를 복수의 수신 터미널들로 전송하기 위해 서버에서 이용하는 방법으로서,
    상기 데이터와 상기 서버로부터의 승인값을 상기 복수의 수신 터미널들로 전송하는 단계; 및
    선택된 수신 터미널들로부터 승인 신호를 수신하는 단계를 포함하며,
    상기 선택된 수신 터미널들은 상기 복수의 수신 터미널들의 일부를 포함하며, 로컬하게 생성된 랜덤 응답값은 상기 승인값에 대한 선택된 관계를 가지는 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서,
    아웃 오브 밴드 전송을 이용하여 상기 승인값을 상기 복수의 수신 터미널들로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제 9 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것 을 특징으로 하는 방법.
  12. 제 9 항에 있어서,
    수신 확률을 결정하기 위해 상기 선택된 수신 터미널들로부터 전송된 상기 승인 신호들을 이용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서,
    상기 수신 확률이 선택된 서비스 레벨보다 낮으면 상기 서버로부터 상기 데이터를 재전송하는 단계를 더 포함하는 것을 특징으로 하는 장치.
  14. 제 12 항에 있어서,
    상기 수신 확률이 선택된 서비스 레벨보다 높으면 상기 서버로부터의 상기 데이터의 전송을 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 9 항에 있어서,
    상기 서버에서 수신되는 승인 신호들의 개수를 조절하기 위해 상기 승인값을 조절하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제 9 항에 있어서,
    멀티캐스트 전송을 이용하여 상기 서버로부터의 상기 데이터를 상기 복수의 수신 터미널들로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 데이터를 복수의 수신 터미널들로 전송하기 위해 서버에서 사용하는 장치로서,
    상기 데이터와 상기 서버로부터의 승인값을 상기 복수의 수신 터미널들로 전송하기 위한 수단; 및
    선택된 수신 터미널들로부터 승인 신호를 수신하기 위한 수단을 포함하며,
    상기 선택된 수신 터미널들은 상기 복수의 수신 터미널들의 일부를 포함하며, 로컬하게 생성된 랜덤 응답값은 상기 승인값에 대한 선택된 관계를 가지는 것을 특징으로 하는 장치.
  18. 제 17 항에 있어서,
    아웃 오브 밴드 전송을 이용하여 상기 승인값을 상기 복수의 수신 터미널들로 전송하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  19. 제 17 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 장치.
  20. 제 17 항에 있어서,
    수신 확률을 결정하기 위해 상기 선택된 수신 터미널들로부터 전송된 상기 승인 신호들을 이용하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  21. 제 20 항에 있어서,
    상기 수신 확률이 선택된 서비스 레벨보다 낮으면 상기 서버로부터 상기 데이터를 재전송하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  22. 제 20 항에 있어서,
    상기 수신 확률이 선택된 서비스 레벨보다 높으면 상기 서버로부터의 상기 데이터의 전송을 종료하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  23. 제 17 항에 있어서,
    상기 서버에서 수신되는 승인 신호들의 개수를 조절하기 위해 상기 승인값을 조절하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  24. 제 17 항에 있어서,
    멀티캐스트 전송을 이용하여 상기 서버로부터의 상기 데이터를 상기 복수의 수신 터미널들로 전송하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  25. 서버에 있는 프로세싱 로직에 의해 실행되면, 데이터를 복수의 수신 터미널 들로 전송하도록 동작하는 명령들을 포함하는 컴퓨터-판독가능한 매체로서,
    상기 데이터와 상기 서버로부터의 승인값을 상기 복수의 수신 터미널들로 전송하기 위한 명령들; 및
    선택된 수신 터미널들로부터 승인 신호를 수신하기 위한 명령들을 포함하며,
    상기 선택된 수신 터미널들은 상기 복수의 수신 터미널들의 일부를 포함하며, 로컬하게 생성된 랜덤 응답값은 상기 승인값에 대한 선택된 관계를 가지는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  26. 제 25 항에 있어서,
    아웃 오브 밴드 전송을 이용하여 상기 승인값을 상기 복수의 수신 터미널들로 전송하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  27. 제 25 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  28. 제 25 항에 있어서,
    수신 확률을 결정하기 위해 상기 선택된 수신 터미널들로부터 전송된 상기 승인 신호들을 이용하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판 독가능한 매체.
  29. 제 28 항에 있어서,
    상기 수신 확률이 선택된 서비스 레벨보다 낮으면 상기 서버로부터 상기 데이터를 재전송하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  30. 제 28 항에 있어서,
    상기 수신 확률이 선택된 서비스 레벨보다 높으면 상기 서버로부터의 상기 데이터의 전송을 종료하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  31. 제 25 항에 있어서,
    상기 서버에서 수신되는 승인 신호들의 개수를 조절하기 위해 상기 승인값을 조절하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  32. 제 25 항에 있어서,
    멀티캐스트 전송을 이용하여 상기 서버로부터의 상기 데이터를 상기 복수의 수신 터미널들로 전송하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  33. 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 사용하는 장치로서,
    상기 데이터와 상기 서버로부터 전송된 승인값을 수신하기 위한 수신 로직;
    랜덤한 응답값을 생성하기 위한 생성 로직;
    상기 응답값과 상기 승인값을 비교하기 위한 프로세싱 로직; 및
    상기 응답값이 상기 승인값에 대한 선택된 관계를 가지면, 승인 신호를 상기 수신 터미널로부터 상기 서버로 전송하기 위한 전송 로직을 포함하는 것을 특징으로 하는 장치.
  34. 제 33 항에 있어서,
    상기 수신 로직은 아웃 오브 밴드 전송을 이용하여 상기 승인값을 수신하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  35. 제 33 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 장치.
  36. 제 33 항에 있어서,
    상기 수신 로직은 상기 서버로부터 멀티캐스트 전송으로 상기 데이터를 수신 하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  37. 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 이용하는 방법으로서,
    상기 데이터와 상기 서버로부터 전송된 승인값을 수신하는 단계;
    랜덤한 응답값을 생성하는 단계;
    상기 응답값과 상기 승인값을 비교하는 단계; 및
    상기 응답값이 상기 승인값에 대한 선택된 관계를 가지면, 승인 신호를 상기 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  38. 제 37 항에 있어서,
    아웃 오브 밴드 전송을 이용하여 상기 승인값을 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  39. 제 37 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 방법.
  40. 제 37 항에 있어서,
    상기 서버로부터 멀티캐스트 전송으로 상기 데이터를 수신하는 단계를 더 포 함하는 것을 특징으로 하는 방법.
  41. 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 사용하는 장치로서,
    상기 데이터와 상기 서버로부터 전송된 승인값을 수신하기 위한 수단;
    랜덤한 응답값을 생성하기 위한 수단;
    상기 응답값과 상기 승인값을 비교하기 위한 수단; 및
    상기 응답값이 상기 승인값에 대한 선택된 관계를 가지면, 승인 신호를 상기 서버로 전송하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
  42. 제 41 항에 있어서,
    아웃 오브 밴드 전송을 이용하여 상기 승인값을 수신하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  43. 제 41 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 장치.
  44. 제 41 항에 있어서,
    상기 서버로부터 멀티캐스트 전송으로 상기 데이터를 수신하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  45. 수신 터미널에 있는 프로세싱 로직에 의해 실행되면, 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하도록 동작하는 명령들을 포함하는 컴퓨터-판독가능한 매체로서,
    상기 데이터와 상기 서버로부터 전송된 승인값을 수신하기 위한 명령들;
    랜덤한 응답값을 생성하기 위한 명령들;
    상기 응답값과 상기 승인값을 비교하기 위한 명령들; 및
    상기 응답값이 상기 승인값에 대한 선택된 관계를 가지면, 승인 신호를 상기 서버로 전송하기 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  46. 제 45 항에 있어서,
    아웃 오브 밴드 전송을 이용하여 상기 승인값을 수신하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  47. 제 45 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  48. 제 45 항에 있어서,
    상기 서버로부터 멀티캐스트 전송으로 상기 데이터를 수신하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  49. 서버로부터 복수의 수신 터미널들로 전송된 데이터를 수신하기 위해 수신 터미널에서 사용하는 장치로서,
    상기 데이터와 상기 서버로부터 전송된 승인값을 수신하기 위한 수신 로직 - 상기 수신 로직은 데이터 수신 에러를 탐지하도록 동작함 -;
    랜덤한 응답값을 생성하기 위한 생성 로직;
    상기 응답값과 상기 승인값을 비교하기 위한 프로세싱 로직; 및
    데이터 수신 에러가 탐지되고 상기 응답값이 상기 승인값에 대한 선택된 관계를 가지면, 네거티브 승인 신호를 상기 서버로 전송하기 위한 전송 로직을 포함하는 것을 특징으로 하는 장치.
  50. 제 49 항에 있어서,
    상기 수신 로직은 아웃 오브 밴드 전송을 이용하여 상기 승인값을 수신하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  51. 제 49 항에 있어서,
    상기 선택된 관계는 상기 응답값이 상기 승인값보다 큰 경우에 발생하는 것 을 특징으로 하는 장치.
  52. 제 49 항에 있어서,
    상기 수신 로직은 상기 서버로부터 멀티캐스트 전송으로 상기 데이터를 수신하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  53. 제 49 항에 있어서,
    선택된 시간 간격을 측정하도록 동작하는 타이밍 로직을 더 포함하는 것을 특징으로 하는 장치.
  54. 제 53 항에 있어서,
    상기 전송 로직은 상기 선택된 시간 간격의 종료 시점에서 상기 네거티브 승인 신호를 전송하는 것을 특징으로 하는 장치.
  55. 제 54 항에 있어서,
    상기 선택된 시간 간격은 랜덤한 시간 간격인 것을 특징으로 하는 장치.
KR1020067016612A 2004-01-20 2004-12-08 확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을최적화하기 위한 방법 및 장치 KR100839267B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US53795704P true 2004-01-20 2004-01-20
US60/537,957 2004-01-20
US10/801,871 2004-03-14
US10/801,871 US7127655B2 (en) 2004-01-20 2004-03-14 Methods and apparatus to optimize delivery of multicast content using probabilistic feedback

Publications (2)

Publication Number Publication Date
KR20060117357A true KR20060117357A (ko) 2006-11-16
KR100839267B1 KR100839267B1 (ko) 2008-06-17

Family

ID=34753120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016612A KR100839267B1 (ko) 2004-01-20 2004-12-08 확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을최적화하기 위한 방법 및 장치

Country Status (11)

Country Link
US (1) US7127655B2 (ko)
EP (1) EP1712037A1 (ko)
JP (3) JP2007519371A (ko)
KR (1) KR100839267B1 (ko)
AR (1) AR047429A1 (ko)
AU (1) AU2004314893A1 (ko)
BR (1) BRPI0418421A (ko)
CA (1) CA2553677A1 (ko)
IL (1) IL176888D0 (ko)
TW (1) TW200533132A (ko)
WO (1) WO2005074191A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321542B1 (en) * 2000-05-05 2012-11-27 Ipr Licensing, Inc. Wireless channel allocation in a base station processor
US7567523B2 (en) * 2004-01-29 2009-07-28 Microsoft Corporation System and method for network topology discovery
US7870247B2 (en) * 2004-09-30 2011-01-11 Microsoft Corporation Node discovery involving multiple node enumerators
US7660891B2 (en) * 2004-09-30 2010-02-09 Microsoft Corporation Node discovery involving stealth node enumerators
US7953845B2 (en) * 2004-09-30 2011-05-31 Microsoft Corporation Network-specific estimation in network node discovery
US7969959B2 (en) 2004-12-16 2011-06-28 Critical Response Systems, Inc. Method and apparatus for efficient and deterministic group alerting
US7764683B2 (en) * 2005-12-16 2010-07-27 Oracle America, Inc. Reliable multicast operating system (OS) provisioning
US20070245033A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Link layer discovery and diagnostics
JP4722780B2 (ja) * 2006-06-29 2011-07-13 富士通株式会社 マルチキャストネットワーク監視方法,及びこれを適用するマルチキャストネットワークシステム
FR2910211A1 (fr) * 2006-12-19 2008-06-20 Canon Kk Procedes et dispositifs pour re-synchroniser un flux video endommage.
US8095486B2 (en) 2007-10-29 2012-01-10 Nec Laboratories America, Inc. Discovering optimal system configurations using decentralized probability based active sampling
JP5108801B2 (ja) * 2009-02-02 2012-12-26 パナソニック株式会社 ネットワークシステム
US20100262651A1 (en) * 2009-04-09 2010-10-14 Samsung Electronics Co., Ltd. Method to prevent server overload for broadcast protocols by adaptively applying prescribed response behavior profiles
WO2011072428A1 (en) * 2009-12-18 2011-06-23 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements in a packet switched network
US9007978B2 (en) * 2010-12-07 2015-04-14 Alcatel Lucent Method and apparatus for improved multicast service
JP6132518B2 (ja) * 2012-11-21 2017-05-24 オリンパス株式会社 マルチキャスト送信端末、マルチキャストシステム、プログラムおよびマルチキャスト送信方法
KR20140084756A (ko) * 2012-12-27 2014-07-07 한국전자통신연구원 멀티캐스트 또는 브로드캐스트 전송에서의 에러 관리 방법 및 그 장치
CN103179517B (zh) * 2013-02-01 2015-08-19 清华大学 一种数据中心的无线组播方法
EP3207128A4 (en) 2014-10-17 2018-02-28 Kodiak Sciences Inc. Butyrylcholinesterase zwitterionic polymer conjugates
US9660768B2 (en) 2015-01-26 2017-05-23 Link Labs, Inc. Dense acknowledgement broadcast/multicast
US10411867B2 (en) * 2015-04-30 2019-09-10 Sony Corporation Communication apparatus and communication method
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959849A (en) * 1989-07-31 1990-09-25 At&T Bell Laboratories End-to-end network surveillance
KR100355510B1 (ko) 1994-05-23 2003-01-10 이트론 인코포레이티드 계층적네트워크에서의통신방법및데이터통신시스템
JP3326672B2 (ja) * 1995-09-26 2002-09-24 日本電信電話株式会社 メッセージ再送方法及びシステム
JPH1117737A (ja) * 1997-04-30 1999-01-22 Sony Corp 送信装置および送信方法、受信装置および受信方法、並びに送受信装置および送受信方法
JP3504491B2 (ja) * 1998-03-02 2004-03-08 日本電信電話株式会社 パケット通信方式
CA2243218C (en) * 1998-07-14 2002-04-02 Ibm Canada Limited-Ibm Canada Limitee Data link layer enhancements to a high latency wireless mac protocol
AU770710C (en) * 1999-05-10 2005-03-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus in a communication network
US6122483A (en) * 1999-06-28 2000-09-19 Nortel Networks Limited Method and apparatus for multicast messaging in a public satellite network
US6360076B1 (en) * 1999-10-06 2002-03-19 Telefonaktiebolaget L M Ericsson (Publ) Method of broadcasting a quality over-the-air multicast
DE60033539T2 (de) 1999-11-16 2007-10-31 Koninklijke Philips Electronics N.V. Mehrfachübertragungsverfahren und system
US6477150B1 (en) * 2000-03-03 2002-11-05 Qualcomm, Inc. System and method for providing group communication services in an existing communication system
JP4634664B2 (ja) * 2000-08-17 2011-02-23 パナソニック株式会社 情報通信システム
MXPA03008881A (es) * 2001-03-28 2004-05-24 Qualcomm Inc Metodo y aparato para el manejo de canales para servivios de un punto a multiples puntos en un sistema de comunicacion.
JP2002318751A (ja) * 2001-04-20 2002-10-31 Sony Corp 通信システム
JP3931594B2 (ja) * 2001-07-09 2007-06-20 株式会社日立製作所 多地点同報通信網用再送方法
WO2003067912A1 (fr) * 2002-02-08 2003-08-14 Fujitsu Limited Appareil de station, procede d'affectation de ressource dans l'appareil de station et systeme de communication mobile
JP4172259B2 (ja) * 2002-11-26 2008-10-29 ソニー株式会社 情報処理装置および方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
KR100839267B1 (ko) 2008-06-17
JP2007519371A (ja) 2007-07-12
AR047429A1 (es) 2006-01-18
US7127655B2 (en) 2006-10-24
JP2011050073A (ja) 2011-03-10
US20050157720A1 (en) 2005-07-21
EP1712037A1 (en) 2006-10-18
IL176888D0 (en) 2006-10-31
BRPI0418421A (pt) 2007-05-15
AU2004314893A1 (en) 2005-08-11
TW200533132A (en) 2005-10-01
JP2009278627A (ja) 2009-11-26
WO2005074191A1 (en) 2005-08-11
CA2553677A1 (en) 2005-08-11

Similar Documents

Publication Publication Date Title
JP2020092440A (ja) Ttiバンドリングによるアップリンク送信の強化
JP2018011362A (ja) 拡張専用チャンネル送信に対するデータライフスパンタイマーの実装
US9674832B2 (en) Method and apparatus for layer 2 ARQ for packets
US8457053B2 (en) Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network
US7788424B2 (en) Method of transmitting data from a transmitting device
RU2490802C2 (ru) Способ и устройство для подтверждения и повторной передачи групповых данных в беспроводных локальных сетях
JP4198910B2 (ja) 並列チャネルエンコーダパケット伝送システム中でサブパケットを送信する方法および受信する方法
DE60318873T2 (de) Verfahren zur überwachung von protokolldateneinheiten zugewiesenen übertragungssequenzzahlen zur erkennung und korrektur von übertragungsfehlern
TWI357744B (en) Cognitive flow control based on channel quality co
US7002985B2 (en) Method and apparatus for organizing and scheduling multimedia data transfers over a wireless channel
DE69935554T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen
CN101366207B (zh) 在移动通信系统中分配无线资源
US6496520B1 (en) Wireless network system and method
US5553083A (en) Method for quickly and reliably transmitting frames of data over communications links
KR100774856B1 (ko) 제어 메시지를 사용한 데이터 통신 방법
EP1458166B1 (en) Apparatus and method for increasing throughput of transmission of QOS driven packets
JP4558739B2 (ja) マルチキャストサービスを提供する方法
CN101084654B (zh) 用于无线通信系统中的重发的方法、装置及系统
US6532211B1 (en) Communication device and method
DE60314214T2 (de) Verfahren und Vorrichtung zur Übertragungswiederholung von Multicastdaten
TWI287935B (en) Point to multi-point services using high speed shared channels in wireless communication systems
CN101589565B (zh) 移动通信系统中无线链路控制层的数据发送的方法和装置
DE60034251T2 (de) Selbstoptimierendes multivariables punkt-zu-multipunkt kommunikationssystem
US7599294B2 (en) Identification and re-transmission of missing parts
EP2109954B1 (en) Ack prioritization in wireless networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130531

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 12