KR101405793B1 - Controller providing gradual transition of multiple terminals from unicast transmission - Google Patents

Controller providing gradual transition of multiple terminals from unicast transmission Download PDF

Info

Publication number
KR101405793B1
KR101405793B1 KR1020127024420A KR20127024420A KR101405793B1 KR 101405793 B1 KR101405793 B1 KR 101405793B1 KR 1020127024420 A KR1020127024420 A KR 1020127024420A KR 20127024420 A KR20127024420 A KR 20127024420A KR 101405793 B1 KR101405793 B1 KR 101405793B1
Authority
KR
South Korea
Prior art keywords
multicast
terminals
terminal
unicast
transmission
Prior art date
Application number
KR1020127024420A
Other languages
Korean (ko)
Other versions
KR20120129990A (en
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 KR20120129990A publication Critical patent/KR20120129990A/en
Application granted granted Critical
Publication of KR101405793B1 publication Critical patent/KR101405793B1/en

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
    • 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/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • 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/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Abstract

신호 분배 시스템의 비디오 헤드엔드 또는 다른 송신 요소에서의 제어기는, 복수의 단말기에 대한 주어진 콘텐츠 스트림의 유니캐스트 송신들이 지정된 임계값을 만족시키는 상태를 검출하도록 동작한다. 제어기는 검출된 상태에 응답하여 주어진 콘텐츠 스트림의 멀티캐스트 송신을 개시하고, 단말기들 중 적어도 하나를 멀티캐스트 송신으로 천이시킨다. 일 실시예에서, 제어기는 단말기들 중 적어도 하나를, 하나 이상의 다른 단말기가 멀티캐스트 송신을 수신하기 전에, 그의 유니캐스트 송신 대신에 주어진 콘텐츠 스트림의 멀티캐스트 송신을 수신할 단말기로서 식별한다. 제어기는 해당 유니캐스트 송신이 이미 개시된 경우 식별된 단말기에 대한 유니캐스트 송신을 중지하고, 멀티캐스트 송신을 개시하며, 식별된 단말기를 멀티캐스트 송신으로 전환하고, 후속하여 하나 이상의 다른 단말기를 멀티캐스트 송신으로 천이시킨다. 식별된 단말기는 리딩 단말기 또는 트레일링 단말기일 수 있다.The controller at the video headend or other transmitting element of the signal distribution system operates to detect a condition in which unicast transmissions of a given content stream for a plurality of terminals satisfy a specified threshold value. The controller initiates a multicast transmission of a given content stream in response to the detected condition and transitions at least one of the terminals to a multicast transmission. In one embodiment, the controller identifies at least one of the terminals as a terminal to receive multicast transmissions of a given content stream instead of its unicast transmissions before one or more other terminals receive the multicast transmissions. The controller stops the unicast transmission for the identified terminal if the corresponding unicast transmission has already begun, initiates the multicast transmission, switches the identified terminal to multicast transmission, and subsequently sends the one or more other terminals to multicast transmission . The identified terminal may be a leading terminal or a trailing terminal.

Figure 112012075707036-pct00001
Figure 112012075707036-pct00001

Description

다수의 단말기의 유니캐스트 송신으로부터의 점진적인 천이를 제공하는 제어기{CONTROLLER PROVIDING GRADUAL TRANSITION OF MULTIPLE TERMINALS FROM UNICAST TRANSMISSION}[0001] CONTROLLER PROVIDING GRADUAL TRANSITION OF MULTIPLE TERMINALS FROM UNICAST TRANSMISSION [0002]

본 발명은 일반적으로 신호 분배 시스템에 관한 것으로서, 특히, 그러한 시스템에서의 송신 대역폭을 제어하기 위한 기술들에 관한 것이다.
The present invention relates generally to signal distribution systems, and more particularly to techniques for controlling transmission bandwidth in such systems.

전형적으로, 신호 분배 시스템은 콘텐츠의 전달을 위한 다양한 송신 프로토콜을 지원하도록 구성된다. 분배 시스템에 결합되거나 또는 그것의 일부인 단말기들은 동일한 콘텐츠를 수신할 수 있다. 그러한 콘텐츠는, 예를 들면, 비디오 및 관련 오디오를 포함할 수 있다. 동일한 콘텐츠가 상이한 시간들에서 상이한 단말기들에 제공되거나 또는 수신되는 경우 비효율성이 발생된다. 그러한 시스템의 최적화는 보다 우수한 대역폭 이용이 되도록 한다.
Typically, the signal distribution system is configured to support various transmission protocols for delivery of content. Terminals that are coupled to or part of a distribution system may receive the same content. Such content may include, for example, video and associated audio. Inefficiency occurs when the same content is provided to or received at different terminals at different times. Optimization of such a system allows for better bandwidth utilization.

유니캐스트(unicast) 송신에서, 분리된 콘텐츠 스트림이 상이한 단말기들로 송신된다. 멀티캐스트(multicast) 송신의 경우, 시스템의 다수의 단말기가 지정된 멀티캐스트 그룹에 합류(join)하고, 그러한 그룹에서의 모든 단말기들은 동일한 송신 콘텐츠 스트림을 수신한다. 비디오 콘텐츠를 다수의 단말기에 송신하는 신호 분배 시스템의 일례는, DSL(digital subscriber line) 또는 파이버(fiber)를 통해 IPTV(Internet protocol television)를 제공하는 시스템이다. 그러한 시스템에서, DSL 액세스 멀티플렉서(DSL access multiplexer; DSLAM)를 포함할 수 있는 네트워크 장비와 통신하기 위해, 가입자 또는 다른 사용자에게 셋탑 박스(set-top box; STB) 또는 수신기와 같은 인터페이스 장치가 제공된다. 인터페이스 장치는, 주어진 위치에서 인터페이스 장치에 연결된 텔레비젼 또는 다른 프리젠테이션 장치 상에서, 가입자가 선택된 채널에 대응하는 콘텐츠 스트림을 수신하는 것을 허용하도록 구성된다. IPTV 시스템에서 소정의 선택된 채널을 수신하기 위해, 전형적으로, 인터페이스 장치는 대응하는 멀티캐스트 스트림에 합류할 것이다. 본 출원과 함께 공동으로 양도되고 본 명세서에서 참조로 인용되는, 2008년 10월 30일에 출원된 "Fast Channel Change Request Processing" 이라는 제목의 미국 특허 출원 제12/261,175호는, 채널 변경 코맨드의 사용자 입력과 새로운 채널에 대한 디코딩가능 멀티캐스트 데이터의 수신 사이의 지연을 크게 감소시키는 예시적인 실시예들을 개시한다.In a unicast transmission, a separate content stream is transmitted to different terminals. In the case of multicast transmissions, multiple terminals of the system join the designated multicast group, and all terminals in that group receive the same transmitted content stream. An example of a signal distribution system for transmitting video content to a plurality of terminals is a system for providing Internet protocol television (IPTV) through DSL (digital subscriber line) or fiber. In such a system, an interface device, such as a set-top box (STB) or receiver, is provided to a subscriber or other user to communicate with a network device that may include a DSL access multiplexer (DSLAM) . The interface device is configured to allow the subscriber to receive a content stream corresponding to the selected channel on a television or other presentation device connected to the interface device at a given location. In order to receive a certain selected channel in the IPTV system, the interface device will typically join the corresponding multicast stream. United States Patent Application Serial No. 12 / 261,175 entitled "Fast Channel Change Request Processing, " filed October 30, 2008, which is commonly assigned with the present application and incorporated herein by reference, Discloses exemplary embodiments that greatly reduce the delay between the input and receipt of decodable multicast data for a new channel.

IPTV 시스템 및 다른 신호 분배 시스템에서, 때로는 유니캐스트 스트림들을 시스템의 각각의 단말기들로 전달할 필요가 있다. 예를 들어, 유니캐스트 스트림들은 VOD(video on demand) 또는 NPVR(network personal video recording)과 같은 애플리케이션들을 지원하는데 이용될 수 있다. 이것은 요구된 많은 유니캐스트 스트림들이 과도한 양의 네트워크 대역폭을 소모할 수 있다는 점에서 문제점을 발생시킨다. 대역폭은 동일한 콘텐츠와 관련된 다수의 유니캐스트 스트림들을 하나의 멀티캐스트 스트림 내로 결합함으로써 크게 감소될 수 있지만, 그러한 방안에는 많은 도전 과제들이 존재한다. 예를 들어, 다수의 단말기들 모두가, 서로로부터 시간적으로 오프셋되는 각각의 유니캐스트 스트림들을 통해 동일한 콘텐츠를 수신할 수 있다. 그러한 상황에서, 하나 이상의 단말기에 대한 많은 양의 지연을 도입하지 않고서, 모든 유니캐스트 스트림들을 하나의 멀티캐스트 스트림 내로 결합하는데 이용가능한 효과적인 메카니즘은 존재하지 않는다.In IPTV systems and other signal distribution systems, it is sometimes necessary to deliver unicast streams to the respective terminals of the system. For example, unicast streams can be used to support applications such as video on demand (VOD) or network personal video recording (NPVR). This poses a problem in that many unicast streams required may consume an excessive amount of network bandwidth. Bandwidth can be greatly reduced by combining multiple unicast streams associated with the same content into one multicast stream, but there are many challenges in that approach. For example, all of a plurality of terminals may receive the same content through respective unicast streams that are temporally offset from each other. In such a situation, there is no effective mechanism available for combining all unicast streams into one multicast stream, without introducing a large amount of delay for one or more terminals.

본 발명은, 하나 이상의 예시적인 실시예에서, IPTV 시스템 또는 다른 유형의 신호 분배 시스템에서 다수의 단말기들을 유니캐스트로부터 멀티캐스트 송신으로 점진적으로 천이시키기 위한 기술들을 제공한다.The present invention, in one or more exemplary embodiments, provides techniques for incrementally transitioning a plurality of terminals from unicast to multicast transmissions in an IPTV system or other type of signal distribution system.

본 발명의 하나의 양상에 따르면, 신호 분배 시스템의 비디오 헤드엔드(headend) 또는 다른 송신 요소에서의 제어기는 복수의 단말기에 대한 주어진 콘텐츠 스트림의 유니캐스트 송신들이 지정된 임계값을 만족시키는 상태를 검출하도록 동작가능하다. 제어기는 검출된 상태에 응답하여 주어진 콘텐츠 스트림의 멀티캐스트 송신을 개시하고, 단말기들 중 적어도 하나를 멀티캐스트 송신으로 천이시킨다. 예를 들어, 제어기는 단말기들 중 적어도 하나를, 하나 이상의 다른 단말기가 멀티캐스트 송신을 수신하기 전에 그의 유니캐스트 송신 대신에 주어진 콘텐츠 스트림의 멀티캐스트 송신을 수신할 단말기로서 식별할 수 있다. 그 다음, 제어기는 해당 유니캐스트 송신이 이미 개시된 경우, 식별된 단말기에 대한 유니캐스트 송신을 중지하고, 멀티캐스트 송신을 개시하며, 식별된 단말기를 멀티캐스트 송신으로 전환하고, 후속하여 하나 이상의 다른 단말기를 멀티캐스트 송신으로 천이시킨다.According to one aspect of the present invention, a controller at a video headend or other transmitting element of the signal distribution system may be configured to detect a condition in which unicast transmissions of a given content stream for a plurality of terminals satisfy a specified threshold value It is operable. The controller initiates a multicast transmission of a given content stream in response to the detected condition and transitions at least one of the terminals to a multicast transmission. For example, the controller may identify at least one of the terminals as a terminal to receive multicast transmissions of a given content stream instead of its unicast transmissions before one or more other terminals receive the multicast transmissions. The controller then stops the unicast transmission to the identified terminal, initiates the multicast transmission, switches the identified terminal to the multicast transmission, and if the corresponding unicast transmission is subsequently initiated, To the multicast transmission.

예시적인 제1 실시예는 본 명세서에서 리드(lead) 멀티캐스트 기술이라고 지칭되는 것을 제공한다. 이러한 기술에서, 식별된 단말기는 단말기들 중 리딩(leading) 단말기, 즉, 다른 단말기들에 비하여 시간적으로 가장 빨리 그의 유니캐스트 송신을 통해 주어진 콘텐츠 스트림을 수신하거나 또는 수신하도록 지정되는 단말기이다. 멀티캐스트 송신이 개시될 때, 리딩 단말기는 해당 멀티캐스트에 합류하고, 주어진 콘텐츠 스트림이 그들 각각의 유니캐스트 송신들을 통해 다른 단말기들 각각으로 송신되는 레이트(rate)들은, 덴팅(denting) 또는 버스팅(bursting)과 같은 알려진 레이트 조절 메카니즘들을 이용하여 증가된다. 이러한 문맥으로 본 명세서에서 사용된 "레이트" 라는 용어는, 유효 데이터 레이트 또는 실제 데이터 레이트를 포함하도록, 넓게 이해되는 것으로 의도된다. 예로써, 유효 데이터 레이트는 실제 데이터 레이트의 증가를 초래하지 않는 덴팅 메카니즘을 이용하여 증가될 수 있는 반면, 실제 데이터 레이트는 버스팅 메카니즘을 이용하여 증가될 수 있다. 다른 단말기들은, 그들 각각의 유니캐스트가 리딩 단말기에 대한 멀티캐스트 송신을 "캐치업(catch up)"하는 시기에 기초하여, 멀티캐스트 송신으로 점진적으로 천이된다.The first exemplary embodiment provides what is referred to herein as a lead multicast technique. In this technique, the identified terminal is a terminal that is designated to receive or receive a given content stream over its unicast transmission in the fastest time in time relative to a leading one of the terminals, i. When a multicast transmission is initiated, the leading terminal joins the multicast and the rates at which a given content stream is transmitted to each of the other terminals via their respective unicast transmissions is either denting or bursting lt; / RTI > is increased using known rate adjustment mechanisms such as bursting. In this context, the term "rate ", as used herein, is intended to be broadly understood to include an effective data rate or an actual data rate. By way of example, the effective data rate may be increased using a denting mechanism that does not result in an increase in the actual data rate, while the actual data rate may be increased using the busting mechanism. Other terminals gradually transition to multicast transmissions based on when their respective unicasts "catch up " the multicast transmissions to the leading terminal.

예시적인 제2 실시예는 본 명세서에서 트레일(trail) 멀티캐스트 기술이라고 지칭되는 것을 제공한다. 이러한 기술에서, 식별된 단말기는 단말기들 중 트레일링(trailing) 단말기, 즉, 다른 단말기들에 비하여 시간적으로 가장 늦게 그의 유니캐스트 송신을 통해 주어진 콘텐츠 스트림을 수신하거나 또는 수신하도록 지정되는 단말기이다. 멀티캐스트 송신은 각각의 유니캐스트 송신들의 레이트보다 큰 레이트에서, 다시 덴팅 또는 버스팅과 같은 알려진 레이트 조절 기술들을 이용하여 개시된다. 멀티캐스트 송신이 개시될 때, 트레일링 단말기는 해당 멀티캐스트 송신에 합류하고, 주어진 콘텐츠 스트림이 그들 각각의 유니캐스트 송신들을 통해 다른 단말기들 각각으로 송신되는 레이트들은, 멀티캐스트 송신에 합류하기 바로 직전까지 실질적으로 변경되지 않은 채 유지되고, 그러한 시점에 이들 레이트들 중 하나 이상은, 예를 들면, 멀티캐스트 송신의 레이트로 증가될 수 있다. 다른 단말기들은, 멀티캐스트 송신이 그들 각각의 유니캐스트 송신을 "캐치업"하는 시기에 기초하여, 멀티캐스트 송신으로 점진적으로 천이된다. 다른 단말기들이 멀티캐스트 송신으로 천이한 이후에, 멀티캐스트 송신은 다른 단말기들의 천이 이전의 그의 레이트에 비하여 감소될 수 있다. 예를 들어, 멀티캐스트 송신의 유효 레이트는 다른 단말기들 중 하나의 유니캐스트 송신의 레이트로 감소될 수 있다.An exemplary second embodiment provides what is referred to herein as a trail multicast technology. In this technique, the identified terminal is a terminal of a terminal that is designated to receive or receive a given content stream via its unicast transmission at the latest in time relative to a trailing terminal, i.e., other terminals. Multicast transmissions are initiated using known rate adjustment techniques, such as denting or bursting, at rates greater than the rate of each unicast transmission. When multicast transmissions are initiated, the trailing terminals join the multicast transmissions and the rates at which a given content stream is transmitted to each of the other terminals via their respective unicast transmissions are immediately prior to joining the multicast transmissions At which point at least one of these rates may be increased, for example, at the rate of the multicast transmission. Other terminals gradually transition to multicast transmissions based on when the multicast transmissions "catch up" their respective unicast transmissions. After the other terminals transition to the multicast transmission, the multicast transmission may be reduced relative to its rate prior to the transition of the other terminals. For example, the effective rate of a multicast transmission may be reduced to the rate of a unicast transmission of one of the other terminals.

예시적인 제3 실시예는 본 명세서에서 결합된 리드 및 트레일 멀티캐스트 기술로서 지칭되는 것을 제공한다. 이러한 기술에서, 리딩 및 트레일링 단말기들 둘다 식별된다. 제1 멀티캐스트 송신이 개시되고, 리딩 단말기는 제1 멀티캐스트 송신으로 전환된다. 또한, 제2 멀티캐스트 송신이 개시되고, 트레일링 단말기가 제2 멀티캐스트 송신으로 전환된다. 남아 있는 단말기들 각각은 그의 유니캐스트 송신으로부터 제1 및 제2 멀티캐스트 송신들 중 하나로 후속하여 천이된다. 제2 멀티캐스트 송신은 제1 멀티캐스트 송신의 레이트보다 큰 레이트를 가질 수 있다. 또한, 트레일링 단말기, 및 각각의 유니캐스트 송신들로부터 제2 멀티캐스트 송신으로 천이된 단말기들 중 임의의 다른 단말기들이, 제2 멀티캐스트 송신으로부터 제1 멀티캐스트 송신으로 후속하여 천이될 수 있다. An exemplary third embodiment provides what is referred to herein as a combined lead and trail multicast technique. In this technique, both the leading and trailing terminals are identified. The first multicast transmission is started, and the leading terminal is switched to the first multicast transmission. Also, the second multicast transmission is started and the trailing terminal is switched to the second multicast transmission. Each of the remaining terminals is subsequently transitioned from its unicast transmission to one of the first and second multicast transmissions. The second multicast transmission may have a rate that is greater than the rate of the first multicast transmission. In addition, the trailing terminal and any other one of the terminals transited from the respective unicast transmissions to the second multicast transmission may be subsequently transited from the second multicast transmission to the first multicast transmission.

바람직하게, 예시적인 실시예들은 많은 양의 지연 또는 사용자 단말기들에서 수신된 비디오 또는 다른 콘텐츠 스트림들에서의 프리징(freezing) 또는 드롭핑(dropping)과 같은 다른 바람직하지 않은 장애들을 초래하지 않고서, 신호 분배 시스템에서의 대역폭 소모를 감소시킨다.Advantageously, the exemplary embodiments can be implemented without introducing a large amount of delay or other undesirable disturbances such as freezing or dropping in video or other content streams received at user terminals, Thereby reducing bandwidth consumption in the signal distribution system.

본 발명의 이들 및 다른 특징들 및 이점들은, 첨부된 도면 및 이하의 상세한 설명으로부터 더욱 명백해질 것이다.
These and other features and advantages of the present invention will become more apparent from the accompanying drawings and the following detailed description.

도 1은 본 발명에 따른 신호 분배 시스템의 예시적인 실시예를 도시한다.
도 2는 예시적인 실시예에서의 도 1의 신호 분배 시스템의 제어기의 보다 상세한 도면이다.
도 3은 예시적인 실시예에서의 도 2의 제어기의 동작을 도시하는 흐름도이다.
도 4는 각각의 시간 시프트 유니캐스트 스트림들을 통해 동일한 콘텐츠를 수신하는 도 1의 시스템의 수 개의 사용자 단말기의 예를 도시한다.
도 5는 도 4의 단말기들이 본 발명의 리드 멀티캐스트 기술을 이용하여 단일 멀티캐스트 스트림으로 점진적으로 천이하는 방법을 도시한다.
도 6은 도 4의 단말기들이 본 발명의 트레일 멀티캐스트 기술에서 단일 멀티캐스트 스트림으로 점진적으로 천이하는 방법을 도시한다.
도 7은 도 4의 단말기들이 본 발명의 결합된 리드 및 트레일 멀티캐스트 기술에서 단일 멀티캐스트 스트림으로 점진적으로 천이하는 방법을 도시한다.
도 8은 본 발명의 다른 실시예에서의 신호 분배 시스템의 블록도이다.
1 shows an exemplary embodiment of a signal distribution system according to the present invention.
Figure 2 is a more detailed view of the controller of the signal distribution system of Figure 1 in an exemplary embodiment.
3 is a flow chart illustrating the operation of the controller of FIG. 2 in an exemplary embodiment.
Figure 4 shows an example of several user terminals of the system of Figure 1 receiving the same content via respective time shift unicast streams.
Figure 5 illustrates how the terminals of Figure 4 progressively transition to a single multicast stream using the lead multicast technique of the present invention.
Figure 6 illustrates how the terminals of Figure 4 progressively transition from a trail multicast technique to a single multicast stream of the present invention.
Figure 7 illustrates how the terminals of Figure 4 progressively transition from a combined lead and trail multicast technique of the present invention to a single multicast stream.
8 is a block diagram of a signal distribution system in another embodiment of the present invention.

본 명세서에서, 본 발명은 신호 분배 시스템의 예시적인 실시예들 및 관련된 유니캐스트-멀티캐스트 천이 기술들과 함께 서술될 것이다. 그러나, 본 발명은 서술된 특정 시스템들 및 기술들과 함께 이용하는 것으로 제한되지 않으며, 그 대신에, 시스템에서의 대역폭 소모를 감소시키기 위해 유니캐스트로부터 멀티캐스트 송신으로의 다수의 단말기의 향상된 천이를 제공하는 것이 바람직한 임의의 신호 분배 시스템에 보다 일반적으로 적용가능함을 이해해야 한다. 예를 들어, 본 명세서에서는 주로 IPTV 시스템의 문맥으로 서술되었지만, 본 발명의 기술들은, 예컨대, WebTV(즉, 인터넷 TV) 시스템, 셀룰러 시스템, 케이블 시스템, 위성 시스템, ISDB-T(Integrated Services Digital Broadcasting-Terrestrial) 및 SBTVD(Sistema Brasileiro de Televisao Digital) 표준에 기초한 시스템 등을 포함하는 다른 유형의 신호 분배 시스템들에 간단한 방식으로 적응될 수도 있다. 또한, 주로 비디오 분배의 문맥으로 도시되었지만, 개시된 기술들은 오디오 또는 다른 유형의 신호들과 같은 다른 유형의 정보의 임의의 조합으로의 송신에 적용될 수도 있다.In the present disclosure, the present invention will be described in conjunction with exemplary embodiments of signal distribution systems and associated unicast-multicast transition techniques. However, it is to be understood that the invention is not limited to use with the particular systems and techniques described, but instead provides for an enhanced transition of multiple terminals from unicast to multicast transmissions to reduce bandwidth consumption in the system It is to be understood that the present invention is more generally applicable to any signal distribution system in which it is desirable to do so. For example, although described herein in the context of an IPTV system, the techniques of the present invention may be applied to a wide range of applications, such as, for example, a WebTV (Internet TV) system, a cellular system, a cable system, a satellite system, an Integrated Services Digital Broadcasting -Terrestrial) and systems based on SBTVD (Sistema Brasileiro de Televisao Digital) standards, and the like. Also, although shown primarily in the context of video distribution, the disclosed techniques may be applied to transmission to any combination of other types of information, such as audio or other types of signals.

도 1은 네트워크(104)를 통해 다수의 사용자 단말기들(106-1, 106-2, ... 106-N)에 연결된 비디오 소스(102)를 포함하는 신호 분배 시스템(100)을 도시한다. 비디오 소스(102)는 제어기(112)에 연결된 하나 이상의 서버(110)를 포함한다. 이하에 보다 상세히 서술되는 바와 같이, 제어기는 다수의 단말기들 중 임의의 특정한 단말기에서 수신 및 디스플레이되는 콘텐츠에서의 임의의 큰 지연, 프리징, 드롭핑 또는 다른 바람직하지 않은 장애들의 도입을 바람직하게 회피하는 방식으로, 동일한 콘텐츠 스트림의 각각의 분리된 유니캐스트 송신들로부터 해당 콘텐츠 스트림의 단일 멀티캐스트 송신의 수신으로의, 사용자 단말기들(106) 중 다수의 사용자 단말기의 점진적인 천이를 구현하도록 구성된다. Figure 1 illustrates a signal distribution system 100 that includes a video source 102 coupled to a number of user terminals 106-1, 106-2, ... 106-N via a network 104. [ The video source 102 includes one or more servers 110 connected to the controller 112. As described in more detail below, the controller preferably avoids the introduction of any large delay, freezing, dropping or other undesirable disturbances in the content received and displayed at any particular one of the multiple terminals To a progressive transition of a plurality of user terminals of the user terminals 106 from each separate unicast transmission of the same content stream to the receipt of a single multicast transmission of that content stream.

신호 분배 시스템(100)은, 예로써, IPTV 시스템을 포함할 수 있다. 비디오 소스(102)는 본 명세서에서 개시된 방식으로 적절하게 변형된, 예를 들면, 헤드엔드 시스템, 위성, 서버, 게이트웨이 라우터 등을 포함하는 IPTV 시스템의 통상적인 서비스 제공자 장비를 포함할 수 있다. 본 실시예에서의 제어기(112)는 하나 이상의 서버(110)로부터 분리된 것으로서 도시되지만, 다른 실시예에서, 제어기는 그러한 서버 또는 서버들 내에 구현되거나, 또는 비디오 소스(102) 외부에 배열될 수 있다. 비디오 소스는 본 명세서에서 신호 분배 시스템의 "송신 요소"로서 일반적으로 지칭되는 것의 일례이다. 그러한 송신 요소는 네트워크를 통해 다수의 단말기에게 유니캐스트 및 멀티캐스트 송신들을 제공하는 임의의 처리 장치 또는 장치들의 세트를 포함하는 것으로 이해되어야 한다.The signal distribution system 100 may, for example, include an IPTV system. Video source 102 may include conventional service provider equipment of an IPTV system, including, for example, a head-end system, satellite, server, gateway router, etc. suitably modified in the manner disclosed herein. Although the controller 112 in this embodiment is shown as being separate from one or more servers 110, in other embodiments, the controller may be implemented within such servers or servers, or may be arranged outside of the video source 102 have. A video source is an example of what is generally referred to herein as the "transmitting element" of a signal distribution system. Such a transmission element should be understood to include any processing device or set of devices that provide unicast and multicast transmissions to multiple terminals over the network.

사용자 단말기들(106) 각각은 IPTV 시스템의 STB와 같은 인터페이스 장치 및 가능하게는 텔레비전과 같은 관련 디스플레이 장치를 포함할 수 있다. 대안적으로, 사용자 단말기들은, 예를 들면, 컴퓨터, 모바일 전화, PDA(personal digital assistant), 무선 장치, 또는 다른 프로세서 기반 장치를, 임의의 조합으로 포함할 수 있다. 또한, 그러한 장치들은 본 명세서에서 사용자 인터페이스 장치 또는 "클라이언트"로서 지칭될 수 있다. 이러한 유형의 주어진 인터페이스 또는 단말기 장치는 하나 이상의 사용자가, 신호 분배 시스템의 다른 요소들을 통해 장치로 전달되는 콘텐츠 스트림에 액세스할 수 있도록 한다. 본 명세서에서 "단말기"라고 지칭되는 것은 사용자에 대한 디스플레이 또는 다른 프리젠테이션을 위해 신호 분배 시스템에서 네트워크를 통해 유니캐스트 또는 멀티캐스트 송신들을 수신하는 임의의 유형의 처리 장치 또는 장치들의 세트로서 넓게 이해되는 것으로 의도된다. 그러한 단말기는 네트워크를 통해 비디오 소스와 통신하기 위한 송수신기 회로 뿐만 아니라, 메모리에 연결된 프로세서를 일반적으로 포함할 것이며, 예시적인 실시예에서는, 단말기에게 유니캐스트 수신으로부터 멀티캐스트 수신으로 전환할 것을 지시하는 제어기로부터의 하나 이상의 명령들을 수신 및 처리하는 기능을 전형적으로 포함할 것이다.Each of the user terminals 106 may comprise an interface device such as an STB of an IPTV system and possibly an associated display device such as a television. Alternatively, user terminals may include, for example, a computer, mobile telephone, personal digital assistant (PDA), wireless device, or other processor-based device in any combination. Such devices may also be referred to herein as a user interface device or "client ". A given interface or terminal device of this type allows one or more users to access the content stream delivered to the device through other elements of the signal distribution system. What is referred to herein as a "terminal" is a broadly understood set of devices or devices of any type that receive unicast or multicast transmissions over a network in a signal distribution system for display to a user or other presentation . Such a terminal would typically include a processor coupled to a memory, as well as a transceiver circuit for communicating with a video source over a network, and in an exemplary embodiment, a controller for instructing the terminal to switch from unicast reception to multicast reception Lt; RTI ID = 0.0 > and / or < / RTI >

네트워크(104)는 텔레비전 서비스 또는 다른 유형의 콘텐츠 전달 서비스의 제공과 관련된 신호들을 전달하기에 적합한 임의의 유형의 통신 네트워크를 포함할 수 있지만, 본 발명은 이것으로 제한되지 않는다. 예를 들어, 네트워크(104)의 부분들은 인터넷과 같은 WAN(wide area network), MAN(metropolitan area network), LAN(local area network), 케이블 네트워크, 전화 네트워크, 위성 네트워크 뿐만 아니라, 이들 또는 다른 네트워크들의 부분들 또는 조합들을 포함할 수 있다.The network 104 may include any type of communication network suitable for conveying signals associated with the provision of television services or other types of content delivery services, although the invention is not so limited. For example, portions of network 104 may include a wide area network (WAN), a metropolitan area network (MAN), a local area network (LAN), a cable network, a telephone network, ≪ / RTI >

도 1과 관련하여 도시되고 서술된 특정한 신호 분배 시스템 구성은, 그러한 시스템의 예시적인 일례로서 보아야 하며, 본 발명은 다른 유형 및 구성의 시스템 구성요소들을 이용하여 구현될 수 있음을 이해할 것이다. 본 발명의 다른 실시예에서의 신호 분배 시스템의 보다 상세한 예가, 도 8과 함께 이하에 서술될 것이다.It should be appreciated that the particular signal distribution system configurations shown and described in connection with FIG. 1 should be viewed as an exemplary illustration of such systems, and that the present invention may be implemented using other types and configurations of system components. A more detailed example of the signal distribution system in another embodiment of the present invention will be described below with reference to FIG.

이제, 도 2를 참조하면, 도 1의 시스템의 제어기(112)의 한 가지 가능한 구현이 도시된다. 본 실시예에서, 제어기는 메모리(202)에 연결된 프로세서(200)를 포함하며, 인터페이스 회로(204)를 더 포함한다. 또한, 제어기에는 모듈들(210-216)이 포함되며, 보다 구체적으로 모듈들은 유니캐스트 제어 모듈(210), 멀티캐스트 제어 모듈(212), 리스트 생성 및 유지 모듈(214) 및 리드 및/또는 트레일 선택 모듈(216)을 포함한다.Referring now to FIG. 2, one possible implementation of the controller 112 of the system of FIG. 1 is shown. In this embodiment, the controller includes a processor 200 connected to the memory 202, and further includes an interface circuit 204. In addition, the controller includes modules 210-216, and more specifically, the modules include a unicast control module 210, a multicast control module 212, a list creation and maintenance module 214, and a lead and / And a selection module 216.

프로세서(200)는 마이크로프로세서, 마이크로제어기, ASIC(application-specific integrated circuit) 또는 다른 유형의 처리 장치 뿐만 아니라, 그러한 장치들의 부분들 또는 조합들로서 구현될 수 있다. 메모리(202)는 전자 RAM(random access memory), ROM(read-only memory), 디스크 기반 메모리, 또는 다른 유형의 저장 장치 뿐만 아니라, 그러한 장치들의 부분들 또는 조합들을 포함할 수 있다. 프로세서 및 메모리는 본 명세서에서 개시된 기술들을 이용하여 다수의 단말기의 유니캐스트로부터 멀티캐스트 송신으로의 점진적인 천이들을 구현하기 위한 하나 이상의 소프트웨어 프로그램의 저장 및 실행에 이용된다. 다양한 모듈들(210-216)은 그러한 소프트웨어를 적어도 부분적으로 이용하여 구현될 수 있다. 메모리(202)는 본 명세서에서 컴퓨터 프로그램 제품으로서 보다 일반적으로 지칭되거나, 또는 그 안에 구현된 실행가능 프로그램 코드를 갖는 컴퓨터 판독가능 저장 매체로서 더욱 일반적으로 지칭되는 것의 일례로서 보여질 수 있다. 컴퓨터 판독가능 저장 매체의 다른 예로는, 디스크 또는 다른 유형의 자기 또는 광학 매체를, 임의의 조합으로 포함할 수 있다.The processor 200 may be implemented as a microprocessor, microcontroller, application-specific integrated circuit (ASIC) or other type of processing device, as well as portions or combinations of such devices. Memory 202 may include portions or combinations of such devices as well as electronic random access memory (RAM), read-only memory (ROM), disk based memory, or other types of storage devices. The processor and memory are used to store and execute one or more software programs to implement gradual transitions from unicast to multicast transmissions of multiple terminals using the techniques disclosed herein. The various modules 210-216 may be implemented using such software at least in part. The memory 202 may be viewed as an example of what is more generally referred to herein as a computer program product, more generally referred to as a computer-readable storage medium having executable program code embodied therein. Other examples of computer-readable storage media include disks, or other types of magnetic or optical media, in any combination.

프로세서(200), 메모리(202) 및 인터페이스 회로(204)는 본 명세서에서 서술된 방식으로 동작하도록 적절하게 변형된 잘 알려진 종래의 회로를 포함할 수 있다. 그러한 회로의 종래의 양상들은 본 기술 분야의 당업자에게 잘 알려져 있으므로, 본 명세서에서 상세히 서술되지 않을 것이다.The processor 200, the memory 202 and the interface circuit 204 may comprise well known conventional circuits suitably modified to operate in the manner described herein. Conventional aspects of such circuitry are well known to those skilled in the art and will not be described in detail herein.

본 명세서에서 개시된 바와 같이 주어진 제어기는, 도 2의 예시적인 구성에서 구체적으로 도시된 것과는 상이한 구성요소들 및 모듈들을 이용하여 구현될 수 있음을 이해할 것이다.It will be appreciated that a given controller as disclosed herein may be implemented using different components and modules than those specifically shown in the exemplary configuration of FIG.

이제, 예시적인 실시예들에 있어서의 제어기(112)의 동작이, 도 3 내지 7을 참조하여 서술될 것이다. 이들 예시적인 실시예들은 본 명세서에서 대역폭 "어닐링(annealing)" 기술들로서 지칭되는 것을 구현하며, 여기서는, 하나 이상의 특정 단말기가 주어진 콘텐츠 스트림의 각각의 유니캐스트 송신들을 수신하거나 또는 수신하도록 지정된 단말기들의 세트에서 식별되고, 식별된 단말기가 먼저 멀티캐스트 송신으로 천이되며, 그러한 세트에서의 하나 이상의 다른 단말기가 멀티캐스트 송신으로 점진적으로 천이된다.Now, the operation of the controller 112 in the exemplary embodiments will be described with reference to Figs. 3-7. These exemplary embodiments implement what is referred to herein as bandwidth "annealing" techniques in which one or more particular terminals are assigned a set of terminals designated to receive or receive respective unicast transmissions of a given content stream And the identified terminal is first transited to a multicast transmission and one or more other terminals in that set are progressively transitioned to a multicast transmission.

이제 도 3을 참조하면, 일 실시예에서의 제어기(112)의 동작이 도시된다. 본 실시예에서, 적용된 특정한 어닐링 기술은, 상기 식별된 단말기가 세트에서의 리딩 단말기, 즉, 세트에서의 다른 단말기들에 비하여 시간적으로 가장 빨리 그의 유니캐스트 송신을 통해 주어진 콘텐츠 스트림을 수신하는 단말기이기 때문에, 리드 멀티캐스팅 어닐링이라고 지칭된다. 본 실시예에서의 리드 멀티캐스트 기술은 도시된 바와 같이 단계들(300 내지 316)을 포함한다.Referring now to FIG. 3, the operation of controller 112 in one embodiment is shown. In this embodiment, the particular annealing technique applied is a terminal which receives the given content stream via its unicast transmission in the fastest time relative to the leading terminal in the set, i.e. other terminals in the set Therefore, it is referred to as lead multicasting annealing. The lead multicast technique in this embodiment includes steps 300 to 316 as shown.

단계(300)에서, 제어기(112)는 각각의 유니캐스트 송신들을 통해 동일한 비디오 스트림을 수신하는 클라이언트들을 체크하도록 트리거링된다. 그러한 트리거링은, 예를 들면, 주기적(예를 들면, 클럭에 의해 구동됨)이거나, 또는 이벤트 구동형(event driven)(예를 들면, 비디오 스트림에 대한 클라이언트의 요청은, 제어기로 하여금 동일한 스트림을 수신하는 다른 클라이언트들을 체크하도록 함)일 수 있다. 앞에서 나타낸 바와 같이, 이러한 문맥에서의 "클라이언트" 라는 용어는 단말기들(106) 각각을 지칭한다.At step 300, the controller 112 is triggered to check for clients receiving the same video stream over each unicast transmission. Such triggering may be, for example, periodically (e.g., driven by a clock) or event driven (e.g., a client's request for a video stream may cause the controller to send the same stream To check other clients that receive it). As indicated above, the term "client" in this context refers to each of the terminals 106.

단계(302)에서, 각각의 유니캐스트 송신들을 통해 동일한 비디오 스트림을 수신하는 클라이언트들의 세트가 지정된 임계값에 도달하였는지의 여부에 관한 결정이 행해진다. 이것은, 예를 들면, 지정된 최대 수의 클라이언트가 각각의 유니캐스트 송신들을 통해 동일한 비디오 스트림을 수신하거나 또는 수신하도록 지정되었는지를 결정하는 것을 포함할 수 있다. 다른 실시예들에서의 지정된 임계값은 보다 복잡할 수 있는데, 가능하게는, 예로써, 인접한 클라이언트들의 쌍들 사이의 최대 시간 오프셋을 포함할 수 있다. 즉, 지정된 최대 수의 단말기들이 유니캐스트를 통해 동일한 콘텐츠 스트림을 수신하거나 또는 수신하도록 지정되는 요건 이외에도, 그러한 유니캐스트들 사이의 시간에서의 오프셋이 지정된 최대 값 이내가 되도록 요구될 수 있다. 이것은 단말기들 모두가, 임의의 특정 단말기에서의 과도한 양의 버퍼링을 요구하지 않으면서 멀티캐스트로 천이하는 것을 보장하도록 도울 수 있다. 그러한 최대 시간 오프셋은 시간의 단위들로, 또는 프레임들, 패킷들, 바이트들 등의 갯수의 관점에서 표현될 수 있다.At step 302, a determination is made as to whether the set of clients receiving the same video stream over each unicast transmission has reached a specified threshold. This may include, for example, determining whether a specified maximum number of clients have been designated to receive or receive the same video stream over each unicast transmission. The specified threshold in other embodiments may be more complex, possibly including, for example, the maximum time offset between pairs of adjacent clients. That is, in addition to the requirement that a specified maximum number of terminals be designated to receive or receive the same content stream over unicast, an offset in time between such unicasts may be required to be within a specified maximum value. This can help ensure that all of the terminals transit to multicast without requiring an excessive amount of buffering at any particular terminal. Such a maximum time offset can be expressed in units of time, or in terms of the number of frames, packets, bytes, and so on.

단계(302)에서, 지정된 임계값이 만족되지 않은 것으로 결정된다면, 단계(304)에서, 시스템은 비디오 스트림의 분리된 유니캐스트 송신들을 각각의 클라이언트에게 계속해서 송신한다. 한편, 단계(302)에서, 지정된 임계값이 만족된 것으로 결정된다면, 나타낸 바와 같이 프로세스는 단계(306)로 이동한다. 단계(300)에서의 체크는 가끔씩 반복적으로 트리거링될 수 있으며, 가능하게는 단계(302)에서의 임계값 결정의 하나 이상의 반복에 이르게 함을 주지해야 한다.In step 302, if it is determined that the specified threshold is not satisfied, then in step 304, the system continues to send separate unicast transmissions of the video stream to each client. On the other hand, if it is determined in step 302 that the specified threshold is satisfied, the process moves to step 306 as indicated. It should be noted that the check at step 300 may be repeatedly triggered occasionally, possibly leading to one or more iterations of the threshold determination at step 302. [

단계(306)에서, 각각의 유니캐스트 송신들을 통해 동일한 비디오 콘텐츠를 수신하는 클라이언트들의 리스트가 생성된다. 일반적으로, 이러한 리스트는 멀티캐스트로 천이할 수 있는 동일한 비디오 콘텐츠를 수신하는 클라이언트들을 포함할 것이며, 따라서, 동일한 비디오 콘텐츠를 또한 수신하지만, 멀티캐스트로의 천이를 지원할 충분한 버퍼링 능력을 갖지 못하는 일부 클라이언트들을 배제할 수 있다. 그 다음, 동일한 콘텐츠의 멀티캐스트 스트림이 생성되고, 리스트에서의 클라이언트들은 멀티캐스트 스트림으로 점진적으로 천이된다. 리드 멀티캐스트 어닐링 기술에서는, 리스트에서의 클라이언트들 중에서 리더가 선택되고, 단계(307)에 도시된 바와 같이, 선택된 클라이언트에 대한 유니캐스트 송신을 대신하도록 의도된 멀티캐스트 스트림이 개시된다. 그 다음, 선택된 클라이언트에 대한 유니캐스트 스트림이 중지되고, 해당 클라이언트는 멀티캐스트 스트림에 합류하도록 지시를 받는다. 선택된 클라이언트가 멀티캐스트에 합류하면, 멀티캐스트 송신은 선택된 클라이언트에 대한 유니캐스트 송신을 대신하고, 그에 따라, 해당 클라이언트는 유니캐스트 송신으로부터 멀티캐스트 송신으로 천이된다. 이러한 특정한 리드 멀티캐스트 실시예에서, 리더는 세트에서의 다른 단말기들에 비하여 시간적으로 가장 빨리 그의 유니캐스트 송신을 통해 주어진 콘텐츠 스트림을 수신하는 단말기이며, 위에서는 리딩 단말기라고 지칭되었다. At step 306, a list of clients receiving the same video content over each unicast transmission is generated. Generally, such a list would include clients that receive the same video content that can transition to multicast, and thus may not have the same video content but some clients that do not have sufficient buffering capability to support the transition to multicast Can be excluded. A multicast stream of the same content is then generated, and the clients in the list progressively transition to the multicast stream. In the lead multicast annealing technique, a leader among the clients in the list is selected and a multicast stream intended to take the place of unicast transmissions for the selected client, as shown in step 307, is initiated. Then, the unicast stream for the selected client is stopped, and the client is instructed to join the multicast stream. If the selected client joins the multicast, the multicast transmission replaces the unicast transmission for the selected client, and the client transitions from unicast transmission to multicast transmission accordingly. In this particular lead multicast embodiment, a leader is the terminal that receives a given content stream over its unicast transmission in the fastest time relative to the other terminals in the set, and is referred to as the leading terminal above.

일반적으로, 단말기는 유니캐스트 및 멀티캐스트를 동시에 수신하도록 되어 있지 않음을 주지해야 하며, 그것은 관련된 가입자 루프에서의 이용가능한 대역폭을 초과할 수 있기 때문이다. 멀티캐스트에 합류하는 것은 (예를 들면, IGMP 합류 요청을 송신한 것으로부터 제1 멀티캐스트 패킷을 수신할 때까지) 수 백 밀리초가 소요될 수 있기 때문에, 유니캐스트가 적어도 그러한 많은 시간만큼 멀티캐스트를 앞서는 경우, 유니캐스트의 중지가 발생될 수 있다. 이것을 달성하는 한 가지 방법은, 유니캐스트를 중지하고 선택된 단말기가 멀티캐스트에 합류하도록 지시하기 전에, 덴팅(예를 들면, 비디오의 덜 중요한 부분들을 스킵함으로써 유효 데이터 레이트를 증가시키는 것) 또는 버스팅(예를 들면, 실제 데이터 레이트를 증가시키는 것)을 이용함으로써, 선택된 단말기에 대한 유니캐스트 스트림의 레이트를 증가시키는 것이다.In general, it should be noted that the terminal is not intended to simultaneously receive unicast and multicast, since it may exceed the available bandwidth in the associated subscriber loop. Since joining multicast may take hundreds of milliseconds (for example, from receiving an IGMP join request to receiving a first multicast packet), unicast may take at least as many such times as multicast In the former case, the unicast stop may occur. One way to accomplish this is to use a denting (e.g., increasing the effective data rate by skipping less important portions of video) or bursting (e.g., by skipping less important portions of video) before stopping unicasting and instructing the selected terminal to join the multicast (E. G., Increasing the actual data rate) to increase the rate of the unicast stream for the selected terminal.

다른 단말기들은 그들 각각의 유니캐스트가 리딩 단말기에 대한 멀티캐스트 송신을 "캐치업"하는 시기에 근거하여, 유니캐스트 송신으로부터 멀티캐스트 송신으로 점진적인 방식으로 후속하여 천이된다. 이러한 프로세스 부분은 단계들(308 내지 316)에 도시된다.Other terminals are subsequently transited in a progressive manner from unicast transmissions to multicast transmissions, based on when their respective unicast "catch up" multicast transmissions to the leading terminal. This process portion is shown in steps 308-316.

단계(308)에서, 단계(306)에서 생성된 리스트 상의 임의의 특정한 남아 있는 유니캐스트 클라이언트가, 단계(306)에서 식별된 리더에 대해 (307)에서 나타낸 바와 같이 송신된 멀티캐스트를 캐치업했는지의 여부에 관한 결정이 행해진다. 리스트 상의 어떠한 클라이언트도 멀티캐스트를 캐치업하지 않았다면, 프로세스는 단계(310)로 이동한다. 이 단계에서, 남아 있는 클라이언트들 각각에 대한 유니캐스트 송신 레이트들은, 덴팅 또는 버스팅과 같은 알려진 기술들을 이용하여 증가된다. 단계(310)로부터, 단계(308)에서의 결정이 반복된다.At step 308, it is determined whether any particular remaining unicast client on the list generated at step 306 has caught up the transmitted multicast as indicated at 307 for the leader identified at step 306 Is determined. If no clients on the list have caught up multicast, the process moves to step 310. At this stage, unicast transmission rates for each of the remaining clients are increased using known techniques such as denting or bursting. From step 310, the determination at step 308 is repeated.

단계(308)에서의 결정이, 리스트 상에 남아 있는 클라이언트들 중 특정한 클라이언트가 멀티캐스트를 캐치업했다면, 단계(312)에서 나타낸 바와 같이, 그러한 특정 클라이언트에 대한 유니캐스트는 중지되고, 해당 클라이언트는 멀티캐스트를 전송하도록 시그널링되며, 멀티캐스트 정보가 송신된다.If the determination at 308 determines that a particular one of the clients remaining on the list has caught up the multicast, then unicast for that particular client is stopped, as shown at step 312, It is signaled to transmit multicast, and multicast information is transmitted.

단계(314)에서 클라이언트가 전송을 확인응답(acknowledge)하면, 단계(316)에서 클라이언트가 리스트로부터 제거된다. 그 다음, 프로세스는 단계(310)로 리턴되어, 리스트 상에 남아 있는 하나 이상의 클라이언트들이 멀티캐스트를 또한 캐치업할 때까지, 리스트 상에 남아 있는 클라이언트들에 대한 보다 높은 레이트의 유니캐스트 송신들을 계속한다.If the client acknowledges the transmission in step 314, then in step 316 the client is removed from the list. The process then returns to step 310 to continue the higher rate unicast transmissions for the clients remaining on the list until one or more clients remaining on the list also catch up with the multicast .

단계(314)에서의 확인응답은 선택적인 것이며, 다른 실시예들에서는 제거될 수 있음을 주지해야 한다. 예를 들어, 어떠한 이유로, 클라이언트가 단계(312)에서 멀티캐스트로 전송하라는 신호를 놓친다면, 클라이언트는 유니캐스트가 중지되었음을 의식하고, 그것을 비디오 소스에게 보고할 것이며, 비디오 소스는 클라이언트가 다시 멀티캐스트에 합류하라는 시그널링과 같은 적절한 단계들을 취할 수 있다.It should be noted that the acknowledgment at step 314 is optional and may be eliminated in other embodiments. For example, if, for some reason, the client misses the signal to transmit in multicast in step 312, the client will be aware that unicast has been aborted and will report it to the video source, Lt; / RTI > and signaling to join the < RTI ID = 0.0 >

도 3의 흐름도에서의 다양한 동작들은, 도 2에 도시된 바와 같은 관련된 제어기 모듈들을 이용하여 구현될 수 있다. 예를 들어, 단계들(304, 310)에서의 유니캐스트 송신들은 유니캐스트 제어 모듈(210)을 이용하여 제어될 수 있다. 유사하게, (307)에서 나타낸 멀티캐스트 송신은 멀티캐스트 제어 모듈(212)에 의해 제어될 수 있다. 단계들(306, 316)에서 언급된 리스트 생성 및 유지 동작들은 모듈(214)에 의해 수행될 수 있으며, 단계(306)에서 언급된 리드 선택 동작은 모듈(216)에 의해 수행될 수 있다. 물론, 도 3의 특정한 처리 동작들 및 도 2의 관련된 모듈 구성은, 단지 예시를 위한 것이며, 본 발명의 영역을 어떠한 방식으로든 제한하는 것으로서 이해되어서는 않된다.The various operations in the flow chart of FIG. 3 may be implemented using associated controller modules as shown in FIG. For example, the unicast transmissions at steps 304 and 310 may be controlled using the unicast control module 210. Similarly, the multicast transmissions shown at 307 may be controlled by the multicast control module 212. [ The list generation and maintenance operations mentioned in steps 306 and 316 may be performed by module 214 and the lead selection operation mentioned in step 306 may be performed by module 216. [ Of course, the specific processing operations of FIG. 3 and the associated module configurations of FIG. 2 are for illustration purposes only and should not be understood as limiting the scope of the invention in any way.

이제, 도 3의 리드 멀티캐스트 어닐링의 상세한 예가 도 4 및 5를 참조하여 서술될 것이다.Now, a detailed example of the lead multicast annealing of FIG. 3 will be described with reference to FIGS. 4 and 5. FIG.

도 4는 4개의 단말기 A, B, C, D 각각에 대한 동일한 비디오 콘텐츠의 유니캐스트 송신들을 도시한다. 도면에서의 수평축은 시간을 나타내고, 수직축은 비디오 스트림에서의 위치, 즉, 송신된 콘텐츠 내로의 오프셋(예를 들면, 대응하는 비디오 파일 내로의 바이트 오프셋)을 나타낸다. 각각의 단말기는 실선 및 파선에 의해 표현된다. 실선은 단말기에서의 시간에 걸친 비디오의 수신을 도시하고, 파선은 해당 단말기에서의 시간에 걸친 비디오의 소비를 도시한다. 주어진 단말기에 대한 두 선들 사이의 수직 갭은 임의의 주어진 시간에서의 해당 단말기에 버퍼링된 비디오의 양이다. 수평 갭은 (예를 들면, 단말기에 의해 비디오 패킷이 수신되는 시간으로부터 그것이 소비될 때까지의) 버퍼링에 의해 도입된 지연이다.Figure 4 shows unicast transmissions of the same video content for each of the four terminals A, B, C, D. The horizontal axis in the figure represents the time and the vertical axis represents the position in the video stream, i.e., the offset into the transmitted content (e.g. byte offset into the corresponding video file). Each terminal is represented by a solid line and a broken line. The solid line shows the reception of the video over time in the terminal and the dashed line shows the consumption of the video over time in the terminal. The vertical gap between two lines for a given terminal is the amount of video buffered at that terminal at any given time. The horizontal gap is the delay introduced by the buffering (e.g., from the time the video packet is received by the terminal to when it is consumed).

도면에서는 직선들로서 도시되지만, 실선 및 파선은 이러한 선형의 일정한 비트 레이트 모습으로부터 벗어날 수 있다. 예를 들어, 실선 부근에서의 변동이 네트워크 지터(network jitter)에 의해 초래될 수 있으며, 파선 부근에서의 변동은 비디오 프레임들이 상이한 크기들을 갖지만 고정된 프레임 레이트에서 소비된다는 사실에 의해 초래될 수 있다. 수신 실선(solid reception line)과 소비 파선(dashed consumption line) 사이의 평균 갭은, 변동에도 불구하고 수신 실선이 항상 소비 파선을 앞서는(예를 들면, 시간적으로 더 빠르거나 또는 도면에서 좌측에 있는) 것을 보장하도록 충분히 넓어야 한다. 이것은 디스플레이된 비디오에서의 프리징, 스킵핑 및 다른 장애들을 회피할 것이다.Although shown as straight lines in the figure, solid and broken lines can deviate from this linear constant bit rate appearance. For example, variations near the solid line may be caused by network jitter, and variations in the vicinity of the broken lines may be caused by the fact that video frames have different sizes but are consumed at a fixed frame rate . The average gap between the solid reception line and the dashed consumption line indicates that the receiving solid line always precedes the consumption dashes (eg, earlier in time or on the left in the drawing) Wide enough to ensure that This will avoid freezing, skipping and other obstacles in the displayed video.

도 4로부터, 단말기 A는, 그것이 다른 단말기들 B, C, D에 비해 시간적으로 가장 빨리 그의 유니캐스트 송신을 통해 주어진 콘텐츠 스트림을 수신한다는 점에서 리딩 단말기라는 것이 명백하다. 유사하게, 단말기 D는, 그것이 다른 단말기들 A, B, C에 비해 시간적으로 가장 늦게 그의 유니캐스트 송신을 통해 주어진 콘텐츠 스트림을 수신한다는 점에서 트레일링 단말기이다. 이러한 예에서 수평축 상의 주어진 단말기 쌍(예를 들면, A 및 B) 사이의 시간적인 오프셋은, 하나의 단말기(예를 들면, 단말기 A)에서의 비디오 스트림의 특정한 패킷 또는 다른 지정된 부분의 수신과 시간적으로 다음의 단말기(예를 들면, 단말기 B)에서의 비디오 스트림의 그 동일한 부분의 수신 사이의 시간적 차이다.From Figure 4 it is clear that terminal A is the leading terminal in that it receives the given content stream via its unicast transmission the fastest in time relative to the other terminals B, C, Similarly, terminal D is a trailing terminal in that it receives the given content stream via its unicast transmission at the latest in time relative to the other terminals A, B, In this example, the temporal offset between a given terminal pair (e.g., A and B) on the horizontal axis is the time offset between the reception of a particular packet or other specified portion of a video stream at one terminal (e.g., terminal A) To the reception of that same portion of the video stream at the next terminal (e.g., terminal B).

이제, 도 5를 참조하면, 도 3의 리드 멀티캐스트 프로세스의 동작이 도시된다. 단계(302)에서의 임계값이 4개 이상의 단말기라고 가정하면, 단말기 D가 그의 유니캐스트 송신을 수신하기 시작하거나 또는 수신하도록 지정되는 때에 임계값에 도달하게 된다. D는 그의 유니캐스트의 임의의 부분을 실제로 수신할 필요는 없으며, 그 대신에, 유니캐스트 송신을 통해 D로 통상적으로 전달될 비디오 콘텐츠를 단순히 요청할 수 있음을 주지해야 한다. 그러한 상황은 유니캐스트 송신을 "수신하도록 지정되는" 단말기의 일반적인 설명(recitation)에 의해 포함되도록 의도되며, 그것은 단순히 단말기가 본 명세서에서 개시된 바와 같은 대역폭 어닐링 기술의 적용없이 유니캐스트 송신을 수신할 것임을 의미한다.Referring now to FIG. 5, the operation of the lead multicast process of FIG. 3 is illustrated. Assuming that the threshold at step 302 is four or more terminals, a threshold is reached when terminal D is started to receive or is designated to receive its unicast transmissions. It should be noted that D does not need to actually receive any portion of its unicast and instead can simply request video content that would normally be delivered to D through a unicast transmission. Such a situation is intended to be encompassed by a general recitation of a terminal that is "designated to " receive unicast transmissions, which simply indicates that the terminal will receive a unicast transmission without applying the bandwidth annealing technique as disclosed herein it means.

이러한 단계에서, 단말기들의 리스트는 A, B, C, D를 포함하며, 단말기 A는 리더로서 지정된다. 따라서, 단말기 A는 유니캐스트로부터 멀티캐스트로 천이된다. 멀티캐스트는 도 5에서 단말기 A에 대한 실선의 보다 두꺼운 부분으로서 도시되며, 나타낸 바와 같이 포인트 500에서 시작된다. 이러한 천이의 일부로서, 서버(110)는 유니캐스트를 단말기 A에게 송신하는 것을 중지하며, 그 다음 해당 단말기는 멀티캐스트에 합류한다. 이러한 예에서 리드 단말기에 대한 유니캐스트의 레이트는 그것이 중지되기 전의 짧은 시간 동안 증가되어, 유니캐스트로부터 멀티캐스트로의 부드러운 천이를 용이하게 함을 주지해야 한다. 다른 단말기들은, 예를 들면, 전술한 바와 같은 덴팅 또는 버스팅을 통해 증가된 레이트에서 비디오를 수신하기 시작한다. 이것은 단말기 B, C, D에 대한 수신 실선의 증가된 경사에 의해 도시된다. 도면에서의 경사의 증가는 예시를 위해 과장되지만, 전형적으로 통상적인 비디오 레이트에 비하여 추가적인 5% 내지 25%일 것이다.At this stage, the list of terminals includes A, B, C, and D, and terminal A is designated as a leader. Therefore, the terminal A transitions from unicast to multicast. The multicast is shown in Figure 5 as a thicker portion of the solid line for terminal A and starts at point 500 as shown. As part of this transition, the server 110 stops sending unicast to terminal A, which then joins the multicast. It should be noted that in this example the rate of unicast for the lead terminal is increased for a short time before it is stopped, thereby facilitating a smooth transition from unicast to multicast. Other terminals begin to receive video at increased rates, for example, through denting or bursting as described above. This is illustrated by the increased inclination of the reception solid line for terminals B, C, The increase in slope in the figure is exaggerated for illustrative purposes, but will typically be an additional 5% to 25% relative to the typical video rate.

단말기 B, C, D에 대한 증가된 레이트의 유니캐스트 송신들은 결국, 그러한 단말기들이 멀티캐스트를 캐치업하도록 할 것이며, 본 실시예에서 그것은 단말기 A에 대한 이전의 유니캐스트 송신과 동일한 레이트에서 행해진다. 증가된 레이트의 유니캐스트 송신들 각각이 멀티캐스트 송신에 도달하고 통과(pass)함에 따라, 유니캐스트 송신은 중지되고, 대응하는 단말기가 멀티캐스트로 전환되는데, 예를 들면, 멀티캐스트에 합류하도록 지시를 받는다. 따라서, 남아 있는 단말기들 B, C, D 모두는 결국 유니캐스트로부터 멀티캐스트 송신으로 천이된다.Increased rate unicast transmissions for terminals B, C, and D will eventually cause such terminals to catch up on multicast, which in this embodiment is done at the same rate as previous unicast transmissions for terminal A . As each of the increased rate unicast transmissions reaches and passes the multicast transmissions, the unicast transmissions are discontinued and the corresponding terminals are switched to multicast, for example by instructing them to join multicast . Thus, all of the remaining terminals B, C, D eventually transition from unicast to multicast transmission.

전술한 바와 같이, 일반적으로 단말기는 유니캐스트 및 멀티캐스트를 동시에 수신하도록 되지 않는다. 멀티캐스트에 합류하는 것은 (예를 들면, IGMP 합류 요청을 송신한 것으로부터 제1 멀티캐스트 패킷을 수신할 때까지) 수 백 밀리초가 소요될 수 있기 때문에, 유니캐스트가 적어도 그러한 많은 시간만큼 (즉, 도면에서 좌측으로) 멀티캐스트를 앞서는 경우, 유니캐스트의 중지가 발생될 수 있다. 그러나, 단말기가 안전 조치로서 보다 길게 대기한다면, 손상이 발생되지 않는다. 예를 들어, 유니캐스트가 2초 앞서는 경우에만 유니캐스트가 중지된다면, 어떠한 문제나 데이터의 손실도 없을 것이다. As described above, in general, the terminal is not supposed to simultaneously receive unicast and multicast. Since unicast can take hundreds of milliseconds to join a multicast (e.g., from receiving an IGMP join request to receiving a first multicast packet) In the case of predicting multicast to the left in the drawing, a stop of unicast may occur. However, if the terminal waits longer as a safety measure, no damage will occur. For example, if unicast is stopped only if the unicast is two seconds ahead, there will be no problems or loss of data.

일단 모든 단말기들이 멀티캐스트에 합류하면, 각각의 단말기 B, C, D에 대해 요구되는 버퍼링의 양은, 멀티캐스트와 그의 대응하는 소비 선 사이의 수직 갭에 의해 주어진다. 이러한 수직 갭은, 멀티캐스트에 합류하지 않은 경우에 비해 훨씬 더 크고, 트레일러 단말기 D에서 가장 크다. 그러나, 전형적으로 현대의 장치들은 대용량의 이용가능한 메모리를 가지므로, 이러한 추가적인 버퍼링 요건은 문제점을 제기하지 않을 것이다.Once all terminals join the multicast, the amount of buffering required for each terminal B, C, D is given by the vertical gap between the multicast and its corresponding consumption line. This vertical gap is much larger than when not joining multicast, and is the largest in trailer terminal D. However, since modern devices typically have a large amount of available memory, this additional buffering requirement will not raise a problem.

본 발명에 대한 이러한 실시예의 연장으로서, 멀티캐스트 스트림이 개시된 이후에, 또는 심지어 모든 클라이언트들이 멀티캐스트에 합류한 이후에, 새로운 클라이언트가 동일한 비디오 콘텐츠를 요청한다. 해당 클라이언트는 덴팅 또는 버스팅을 이용함으로써 증가된 레이트에서 유니캐스트 스트림을 수신할 수 있으며, 일단 해당 클라이언트에 대한 유니캐스트가 멀티캐스트를 캐치업하면, 클라이언트는 멀티캐스트에 합류하도록 지시를 받는다. 따라서, 대역폭 어닐링은 동작이 시작될 때 비디오 콘텐츠를 이미 수신하는 클라이언트들로 제한되지 않는다.As an extension of this embodiment of the present invention, a new client requests the same video content after the multicast stream is started, or even after all clients have joined the multicast. The client can receive the unicast stream at an increased rate by using denting or busting, and once the unicast for that client catches up the multicast, the client is instructed to join the multicast. Thus, bandwidth annealing is not limited to clients already receiving video content when the operation is started.

본 발명의 다른 실시예에서, 클라이언트가 비디오 스트림을 요청할 때, 그것은 지원할 수 있는 최대 버퍼링의 표시를 요청에 포함시키며, 제어기(112)는 단계들(302, 306)에 도시된 바와 같이 그의 결정을 행할 때에 이러한 정보를 이용할 수 있다.In another embodiment of the present invention, when a client requests a video stream, it includes in its request an indication of the maximum buffering that it can support, and controller 112 determines its decision as shown in steps 302 and 306 This information can be used when doing so.

도 6은 본 명세서에서 트레일 멀티캐스트 어닐링으로서 지칭되는 대안적인 방안을 도시한다. 이러한 방안에서, 단말기 D가 단말기들 A, B, C에 유니캐스트를 통해 또한 동시에 공급되는 동일한 비디오 스트림의 유니캐스트 송신을 요청할 때, 4개의 모든 단말기들을 하나의 공통된 멀티캐스트 송신으로 이동하도록 결정이 이루어진다. 그러나, 멀티캐스트를 처음에 리딩 단말기 A에 송신하는 대신에, 처음에 트레일링 단말기 D로 송신된다. 따라서, 트레일링 단말기 D는, 보다 두꺼운 수신 실선에 의해 나타낸 바와 같이, 포인트 600에서 멀티캐스트를 수신하기 시작한다. 처음에 멀티캐스트 스트림은 덴팅 또는 버스팅을 통해, 실시간 비디오 레이트보다 높은 가속된 레이트에서 송신된다. 멀티캐스트 스트림이 단말기 A, B 또는 C의 수신 선들 중 하나에 충분히 가까워졌을 때, 해당 단말기에 대한 유니캐스트는 중지되고, 해당 단말기는 멀티캐스트에 합류하도록 지시를 받는다. 리더 A가 멀티캐스트에 합류하면, 멀티캐스트의 레이트는 포인트 602에서, 실시간 비디오 레이트에 일반적으로 대응하는 그의 정상(normal) 레이트로 떨어지게 된다.Figure 6 illustrates an alternative approach, referred to herein as trail multicast annealing. In this way, when terminal D requests a unicast transmission of the same video stream, which is also supplied simultaneously via unicast to terminals A, B and C, a decision is made to move all four terminals to one common multicast transmission . However, instead of first transmitting the multicast to the leading terminal A, it is first transmitted to the trailing terminal D. Thus, trailing terminal D begins to receive multicast at point 600, as indicated by the thicker received solid line. Initially, the multicast stream is transmitted through the denting or busting at an accelerated rate that is higher than the real time video rate. When the multicast stream is sufficiently close to one of the reception lines of the terminal A, B or C, the unicast to the terminal is stopped and the terminal is instructed to join the multicast. When leader A joins the multicast, the rate of multicast is dropped at point 602 to its normal rate, which generally corresponds to the real time video rate.

안정 상태에서, 모든 단말기들이 멀티캐스트에 합류한 이후, 리드 멀티캐스트 및 트레일 멀티캐스트 방안들은 동일한 결과를 제공한다. 그러나, 각각의 방안은, 후술되는 바와 같이, 다른 것에 비하여 소정의 이점들을 갖는다.In steady state, since all terminals join multicast, the lead multicast and trail multicast schemes provide the same result. However, each scheme has certain advantages over others, as described below.

리드 멀티캐스트에 대한 트레일 멀티캐스트의 이점은, 트레일 멀티캐스트의 경우 임의의 주어진 시간에 가속된 레이트에서 단지 하나의 스트림(즉, 멀티캐스트 스트림)만이 있으므로, 네트워크 대역폭을 아끼게 된다는 것이다.The benefit of trail multicast for read multicast is that it saves network bandwidth because there is only one stream (i.e., multicast stream) at an accelerated rate at any given time in the case of trail multicast.

트레일 멀티캐스트의 다른 이점은, 제1 단말기가 멀티캐스트를 수신하고, 트레일링 단말기는 유니캐스트 송신으로부터 멀티캐스트 송신으로 전환될 필요가 없다는 것이다. 그 대신에, 그것은 멀티캐스트에서 바로 시작될 수 있다.Another advantage of trail multicast is that the first terminal receives multicast and the trailing terminal does not need to be switched from unicast transmission to multicast transmission. Instead, it can be started directly in multicast.

트레일 멀티캐스트에 대한 리드 멀티캐스트의 이점은, 유니캐스트로부터 멀티캐스트로의 천이가 리드 멀티캐스트에서 더욱 간단하다는 것이다. 트레일 멀티캐스트에서, 리드 멀티캐스트에서와 같이, 유니캐스트는 그것이 멀티캐스트를 적어도 수 백 밀리초 앞서는 경우에만 중지하여, 입력되는 비디오에서의 중단 또는 다른 장애를 방지해야 한다. 이것은 리드 멀티캐스트에서의 천이에 대한 "보다 빠르지 않은(no earlier than)" 제약 및 트레일 멀티캐스트에서의 천이에 대한 "보다 늦지 않은(no later than)" 제약을 도입한다. 또한, 트레일 멀티캐스트에서 천이는 너무 빠를 수 없거나, 또는 (천이 이후에 멀티캐스트를 뒤따르는) 주어진 단말기의 수신 선이 해당 단말기의 소비 선 뒤가 되도록 할 수 있다. 따라서, 트레일 멀티캐스트에서는, 중단없는 천이를 허용하도록 유니캐스트가 중지될 수 있는 유한한 간격이 존재한다. 이러한 어려움은 유니캐스트가 중지되기 바로 전에 유니캐스트 레이트를 가속하여, 유니캐스트 및 멀티캐스트가 (도 6에서의 단말기 A 및 B에 대해 도시된 바와 같이) 짧은 시간 동안 "나란히(side by side)" 진행하도록 함으로써 완화될 수 있다.The benefit of lead multicast for trail multicast is that the transition from unicast to multicast is simpler in lead multicast. In trail multicast, as in lead multicast, unicast should only stop if multicast is at least a few hundred milliseconds earlier to avoid interruption or other disturbances in incoming video. This introduces a " no earlier than "constraint on transition in lead multicast and a " no later than" constraint on transition in trail multicast. Also, the transition in trail multicast can not be too fast, or the receiving line of a given terminal (following multicast after transition) can be behind the consumed line of the terminal. Thus, in Trail Multicast, there is a finite interval at which unicast can be stopped to allow uninterrupted transitions. This difficulty accelerates the unicast rate just before the unicast is paused, so that unicast and multicast are "side by side" for a short time (as shown for terminals A and B in Fig. 6) It can be mitigated.

리드 멀티캐스트의 다른 이점은, 대역폭 어닐링 동작이 시작된 이후 새로운 클라이언트들이 멀티캐스트로 천이되는 것을 허용한다는 것이며, 그것은 일반적으로 트레일 멀티캐스트로는 실현가능한 것이 아니다.Another advantage of read multicast is that it allows new clients to transition to multicast after the start of the bandwidth annealing operation, which is generally not feasible with trail multicast.

리드 멀티캐스트에서, 시간적으로 단말기 A에 비교적 가까운 단말기 B와 같은 단말기에 대한 유니캐스트가 프로세스에서 비교적 빨리 중지되고, 단말기 C, D에 대한 유니캐스트들은 그것이 멀티캐스트를 캐치업할 때까지 보다 긴 시간 동안 계속되어야 함을 주지해야 한다. 트레일 멀티캐스트에서, 이러한 상황은, 단말기 A, B가 그들의 유니캐스트들이 중지될 때까지 단말기 C, D보다 더 길게 된다는 점에서, 반대로 된다. In the lead multicast, the unicast for the terminal, such as the terminal B, which is relatively close in time to the terminal A, is stopped relatively quickly in the process, and the unicast for the terminals C, It should be noted that it must be continued. In trail multicast, this situation is reversed in that terminals A and B are longer than terminals C and D until their unicasts are stopped.

도 7은 유니캐스트 스트림들 모두가 신속하게 중지되도록 하는 결합된 리드 멀티캐스트 및 트레일 멀티캐스트 방안을 도시한다. 이러한 방안에서, D가 분리된 유니캐스트들을 통해 단말기 A, B, C에 의해 이미 수신된 동일한 비디오 스트림을 요청하는 경우, D는 도 6의 트레일 멀티캐스트 방안에서와 같이 가속된 멀티캐스트 스트림을 할당 받는다. 실질적으로 동일한 시간에, 리딩 단말기 A는 도 5의 리드 멀티캐스트 방안에서와 같이 그의 정상 레이트에서 멀티캐스트로 된다. 단말기 B는 리드 근처에 있게 되어, 그것의 유니캐스트 레이트가 가속되고 결국에는 A의 멀티캐스트에 합류하게 된다. 단말기 C는 트레일링 단말기 D 근처에 있게 되어, 그것의 정상 유니캐스트 레이트로 유지되고, 결국은 후자가 우측 전환 간격으로 될 때 D의 트레일 멀티캐스트로 전환되게 된다. 따라서, 모든 유니캐스트 채널들이 프로세스에서 상당히 빨리 멀티캐스트들 중 하나로 천이된다. 트레일 멀티캐스트가 리드 멀티캐스트를 앞서는 경우, 그것에 대한 모든 단말기들(이러한 예에서 단말기 C 및 D)은 리드 멀티캐스트에 합류하도록 지시를 받으며, 트레일 멀티캐스트는 중지된다.FIG. 7 shows a combined lead multicast and trail multicast scheme that allows all of the unicast streams to be quickly paused. In this way, if D requests the same video stream already received by terminals A, B, C over separate unicasts, then D assigns the accelerated multicast stream as in the trail multicast scheme of FIG. 6 Receive. At substantially the same time, the reading terminal A becomes multicast at its normal rate as in the lead multicast scheme of FIG. Terminal B is near the lead, its unicast rate is accelerated and eventually joins A's multicast. The terminal C is near the trailing terminal D and is maintained at its normal unicast rate and eventually switched to D trail multicast when the latter becomes the right switching interval. Thus, all unicast channels transition to one of the multicasts fairly quickly in the process. If the trail multicast precedes the lead multicast, all terminals to it (terminals C and D in this example) are instructed to join the lead multicast, and the trail multicast is stopped.

도 5, 6, 7의 예시적인 대역폭 어닐링 기술들은 단말기들의 유니캐스트로부터 멀티캐스트 송신으로의 점진적인 천이를 제공하며, 수신 및 디스플레이된 비디오에서 바람직하지 않은 장애를 초래하지 않는 효율적인 방식으로 송신의 중복(duplication)을 감소시킴으로써 신호 분배 시스템의 대역폭 요건들을 크게 감소시킬 수 있다.The exemplary bandwidth annealing techniques of FIGS. 5, 6, and 7 provide for gradual transitions from unicast to multicast transmissions of terminals and provide redundancy of transmissions in an efficient manner that does not cause undesired disturbances in received and displayed video the bandwidth requirements of the signal distribution system can be greatly reduced.

도 8은 본 명세서에서 개시된 대역폭 어닐링 기술들을 이용하여 다수의 단말기들의 유니캐스트로부터 멀티캐스트 송신으로의 점진적인 천이를 구현하는 신호 분배 시스템(800)의 다른 실시예를 도시한다. 본 실시예에서, 시스템(800)은 매체 저장 유닛(806)에 연결된 위성 수신기(804)를 포함하는 비디오 헤드엔드(802)를 포함한다. 매체 저장 유닛은 수신기(804)로부터 비디오 신호를 수신하고, 서버(810)에 전달하기 위해 그것을 저장한다. 비디오 헤드엔드는 하나 이상의 인코더와 같은 통상적인 특성의 추가적인 요소들을 포함할 수 있다.Figure 8 illustrates another embodiment of a signal distribution system 800 that implements a gradual transition from unicast to multicast transmissions of multiple terminals using the bandwidth annealing techniques disclosed herein. In this embodiment, the system 800 includes a video head end 802 that includes a satellite receiver 804 coupled to a media storage unit 806. The media storage unit receives the video signal from the receiver 804 and stores it for delivery to the server 810. [ The video headend may include additional elements of conventional character such as one or more encoders.

헤드엔드(802)는 네트워크(800)에서의 비디오의 소스이다. 그러나, 그것이 궁극적인 비디오의 소스일 필요는 없음을 이해해야 한다. 예를 들어, 헤드엔드(802)는 그것이 네트워크(800)에 전달하는 비디오 콘텐츠를 수신하는 다른 상위 레벨 네트워크에 속할 수 있다.Headend 802 is the source of video in network 800. However, it should be understood that it need not be the source of the ultimate video. For example, the headend 802 may belong to another higher-level network that receives video content that it conveys to the network 800.

서버(810)는, 도 2에 도시된 바와 같은 제어기(112)와 유사하게 구성되는 것으로 가정되는 제어기(812)에 연결된다. 또한, 서버는 에지 라우터들(822)을 포함하는 코어 네트워크(820)에 연결된다. 코어 네트워크(820)의 에지 라우터들은 액세스 네트워크들(830-1, 830-2, 830-3)의 각각의 에지 라우터들에 연결된다. 그러한 각각의 액세스 네트워크는 특히, 에지 라우터(832)와, 스위치(834)와, 예시적으로 DSLAM 및/또는 FTTU(Fiber to the User) 인터페이스 유닛을 포함하는 추가적인 네트워크 요소(836)를 포함한다. 액세스 네트워크들(830-1, 830-2, 830-3)은 가입자들(840-1, 840-2, 840-3)의 각각의 세트들에 연결되며, 그러한 각각의 가입자는 거주 또는 사업 장소(842)와 관련된다.The server 810 is coupled to a controller 812, which is assumed to be configured similar to the controller 112 as shown in FIG. In addition, the server is coupled to a core network 820 that includes edge routers 822. The edge routers of the core network 820 are connected to the respective edge routers of the access networks 830-1, 830-2, 830-3. Each such access network specifically includes an edge router 832, a switch 834 and an additional network element 836, which illustratively includes a DSLAM and / or FTTU (Fiber to the User) interface unit. Access networks 830-1, 830-2, 830-3 are connected to respective sets of subscribers 840-1, 840-2, 840-3, Gt; 842 < / RTI >

동작시에, 제어기(812)는 서버(810)와 상호작용하여, 유니캐스트를 통해 비디오 헤드엔드(802)로부터 동일한 콘텐츠를 수신하거나 또는 수신하도록 지정되는 가입자들 중의 특정 가입자들을 검출하고, 그러한 가입자들 중의 특정한 가입자들을 전술한 바와 같은 리드 멀티캐스트, 트레일 멀티캐스트 또는 결합된 리드 및 트레일 멀티캐스트 기술들 중 하나 이상을 이용하여 공유된 멀티캐스트로 자동으로 천이시킨다.In operation, the controller 812 interacts with the server 810 to detect certain ones of the subscribers designated to receive or receive the same content from the video head end 802 via unicast, Specific multicast, trail multicast, or combined lead and trail multicast techniques, as described above. ≪ RTI ID = 0.0 > [0031] < / RTI >

주어진 그룹의 클라이언트들에 대한 대역폭 어닐링을 시작할 시기에 대한 결정은, 동일한 콘텐츠를 수신하는 클라이언트들의 수 또는 그들 사이의 상대적인 지연들과 같은 인자들 뿐만 아니라, 시스템에서 그러한 클라이언트들이 위치되는 장소에 의존할 수 있다. 예를 들어, 시스템(800)의 코어 네트워크(820)는 높은 대역폭 능력을 가짐으로써, 대역폭 어닐링에 대한 그것의 임계값이 10 클라이언트가 되도록 할 수 있다. 액세스 네트워크(830)는 보다 낮은 대역폭 능력을 가질 수 있으므로, 4 클라이언트가 임계값이 될 수 있다. 이러한 경우, 다음과 같이 규칙이 정해질 수 있다. "동일한 액세스 네트워크로부터 적어도 4 클라이언트가 존재하거나 또는 전체 네트워크들로부터 총 10 클라이언트가 존재하는 경우, 대역폭 어닐링을 시작."The decision as to when to start bandwidth annealing for a given group of clients depends on factors such as the number of clients receiving the same content or the relative delays between them as well as where the clients are located in the system . For example, the core network 820 of the system 800 may have a high bandwidth capability so that its threshold for bandwidth annealing is 10 clients. Access network 830 may have lower bandwidth capabilities, so that four clients can be thresholds. In this case, the rule can be set as follows. "If there are at least four clients from the same access network, or if there are a total of ten clients from all networks, start bandwidth annealing."

다른 실시예에서, 코어 네트워크(820)와 액세스 네트워크들(830) 사이에, 그 자신의 제약들을 갖는 하나 이상의 중간 레벨의 네트워크들이 존재할 수 있다. 그러한 중간 네트워크들은, 예를 들면, 대도시 네트워크(metropolitan network)를 포함할 수 있다. 비디오 헤드엔드(802)는 각각의 하위 레벨 네트워크들의 구체적 임계값들을 알지 못할 수 있으며, 심지어는 각각의 클라이언트가 속하는 특정 네트워크들을 알지 못할 수 있다. 따라서, (예를 들면, 에지 라우터의 일부분이거나 또는 에지 라우터에 연결된) 추가적인 제어기가 액세스 네트워크에 제공될 수 있으며, 그것은 비디오 콘텐츠에 대한 클라이언트 요청들을 모니터링하고, 해당 네트워크에 대한 어닐링 제약이 해제되었다면, 그러한 클라이언트들의 대역폭 어닐링을 요청하는 요청을 제어기(812)에 송신한다.In another embodiment, between the core network 820 and the access networks 830, there may be one or more intermediate level networks with their own constraints. Such intermediate networks may include, for example, a metropolitan network. The video headend 802 may not know the specific thresholds of each lower level network and may not even know the particular networks to which each client belongs. Thus, an additional controller (e. G., Part of an edge router or connected to an edge router) may be provided to the access network, which monitors client requests for video content and, if the annealing constraint for that network is released, And sends a request to the controller 812 requesting bandwidth annealing of such clients.

시스템(800)은 본 발명에 따른 신호 분배 시스템의 단지 하나의 가능한 구현임이 강조되어야 한다. 다양한 다른 시스템들이 본 발명의 하나 이상의 양상들을 구현하도록 구성될 수 있다. 예를 들어, 다른 실시예들에서, 하나 이상의 액세스 네트워크들(830)이, 셀룰러 네트워크에 대한 게이트웨이에 의해 대체될 수 있다.It should be emphasized that the system 800 is only one possible implementation of the signal distribution system according to the present invention. Various other systems may be configured to implement one or more aspects of the invention. For example, in other embodiments, one or more access networks 830 may be replaced by a gateway to the cellular network.

전술한 바와 같이, 본 발명의 실시예들은 신호 분배 시스템의 비디오 헤드엔드 또는 다른 송신 요소의 메모리 또는 다른 컴퓨터 판독가능한 매체에 저장되는 하나 이상의 소프트웨어 프로그램의 형태로 적어도 부분적으로 구현될 수 있다. 모듈들(210, 212, 214, 216)과 같은 시스템 구성요소들은 소프트웨어 프로그램들을 이용하여 적어도 부분적으로 구현될 수 있다. 물론, 다양한 대안적인 구성의 하드웨어, 소프트웨어 또는 펌웨어가 임의의 조합으로, 본 발명에 따른 이들 및 다른 시스템 요소들을 구현하는데 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 FPGA(field-programmable gate array), ASIC(application-specific integrated circuit) 또는 다른 유형의 집적 회로 디바이스들의 임의의 조합으로 구현될 수 있다. 그러한 집적 회로 디바이스들 뿐만 아니라, 그것들의 부분들 또는 조합들은, 후자의 용어가 본 명세서에서 이용된 바와 같이 "회로"의 예들이다.As described above, embodiments of the present invention may be implemented, at least in part, in the form of one or more software programs stored in a memory or other computer-readable medium of a video head end or other transmission element of a signal distribution system. System components, such as modules 210, 212, 214, and 216, may be implemented at least partially using software programs. Of course, various alternative configurations of hardware, software, or firmware may be used in any combination to implement these and other system components in accordance with the present invention. For example, embodiments of the invention may be implemented in any combination of one or more FPGAs (field-programmable gate arrays), application-specific integrated circuits (ASICs), or other types of integrated circuit devices. Such integrated circuit devices, as well as portions or combinations thereof, are examples of "circuits" as the latter terminology is used herein.

본 명세서에서 이용된 "유니캐스트" 및 "멀티캐스트" 라는 용어는, 1 대 1(one-to-one) 및 1 대 다수(one-to-many) 송신 각각에 대한 매우 다양한 상이한 기술들을 포함하도록 넓게 해석되도록 의도된다.The terms "unicast" and "multicast" as used herein encompass a wide variety of different technologies for one-to-one and one- It is intended to be interpreted broadly.

다시, IPTV의 문맥으로 예시되었지만, 서술된 기술들은 셀룰러 시스템, 케이블 및 위성 텔레비젼 시스템 등과 같은 다른 유형의 신호 분배 시스템에서 이용하기 위한 간단한 방법에서 적응될 수 있다. 일례로서, 도 1의 실시예에서의 비디오 소스(102)와 관련된 제어기(112)는, 예를 들면, 텔레비젼 신호들을 모바일 장치들로 전달하는 셀룰러 시스템의 기지국에서 구현될 수 있다. 그러한 기지국은 후자의 용어가 본 명세서에서 이용된 바와 같이 "송신 요소"의 다른 예이다.Again, although illustrated in the context of IPTV, the described techniques may be adapted in a simple manner for use in other types of signal distribution systems, such as cellular systems, cable and satellite television systems, and the like. By way of example, the controller 112 associated with the video source 102 in the embodiment of FIG. 1 may be implemented in a base station of a cellular system, for example, for delivering television signals to mobile devices. Such a base station is another example of a "transmitting element" as the latter terminology is used herein.

다시, 전술한 실시예들은 단지 예시를 위한 것이며, 어떠한 방식으로든 제한하기 위한 것으로 해석되어서는 않된다는 것이 강조되어야 한다. 다른 실시예들은 특정 콘텐츠 전달 응용의 필요성에 따라, 상이한 유형의 시스템 구성요소들, 네트워크들, 장치 구성들 및 통신 매체를 이용할 수 있다. 따라서, 대안적인 실시예들은, 다수의 단말기들의 분리된 유니캐스트들로부터 공유된 멀티캐스트로의 효율적인 천이를 구현하는 것이 바람직한 다른 문맥으로, 본 명세서에서 서술된 기술들을 이용할 수 있다. 또한, 예시적인 실시예들을 서술하는 것의 문맥으로 행해진 특정한 가정들이 본 발명의 요건들로서 해석되어서는 않됨을 또한 주지해야 한다. 본 발명은 이들 특정한 가정들이 적용되지 않는 다른 실시예들에서 구현될 수 있다. 본 기술 분야의 당업자라면, 첨부된 특허청구범위의 영역내의 이들 및 다양한 다른 대안적인 실시예들이 명백함을 쉽게 이해할 것이다.Again, it should be emphasized that the above-described embodiments are for illustrative purposes only and are not to be construed as limiting in any way. Other embodiments may utilize different types of system components, networks, device configurations, and communication media depending on the needs of a particular content delivery application. Thus, alternative embodiments may utilize the techniques described herein in other contexts where it is desirable to implement efficient transitions from separate unicasts of multiple terminals to shared multicast. It should also be noted that the specific assumptions made in the context of describing the illustrative embodiments are not to be construed as a requirement of the invention. The present invention may be implemented in other embodiments in which these particular assumptions are not applicable. Those skilled in the art will readily appreciate that these and various other alternative embodiments within the scope of the appended claims are obvious.

Claims (10)

복수의 단말기로의 주어진 콘텐츠 스트림의 유니캐스트 송신(unicast transmissions)이 지정된 임계값을 만족시키는 상태를 검출하는 단계와,
상기 검출된 상태에 응답하여 상기 주어진 콘텐츠 스트림의 멀티캐스트 송신(a multicast transmission)을 개시하는 단계와,
상기 복수의 단말기 중 적어도 하나를 상기 멀티캐스트 송신으로 천이시키는 단계를 포함하고,
상기 지정된 임계값은, 상기 복수의 단말기 중의 제 1 단말기에 연관된 상기 유니캐스트 송신 중의 제 1 유니캐스트 송신과 상기 복수의 단말기 중의 제 2 단말기에 연관된 상기 유니캐스트 송신 중의 제 2 유니캐스트 송신 사이의 시간 오프셋(a temporal offset)에 적어도 부분적으로 기초하는
방법.
Detecting a state in which unicast transmissions of a given content stream to a plurality of terminals satisfy a specified threshold value;
Initiating a multicast transmission of the given content stream in response to the detected status;
And transitioning at least one of the plurality of terminals to the multicast transmission,
Wherein the designated threshold is a time between a first unicast transmission during the unicast transmission associated with a first terminal of the plurality of terminals and a second unicast transmission during the unicast transmission associated with a second terminal of the plurality of terminals At least partially based on a temporal offset
Way.
제1항에 있어서,
상기 복수의 단말기 중 적어도 하나를, 하나 이상의 다른 단말기들이 상기 멀티캐스트 송신을 수신하기 전에, 상기 주어진 콘텐츠 스트림의 유니캐스트 송신 대신에 상기 주어진 콘텐츠 스트림의 상기 멀티캐스트 송신을 수신하는 단말기로서 식별하는 단계와,
상기 식별된 단말기로의 상기 유니캐스트 송신을 중지하는 단계를 더 포함하는
방법.
The method according to claim 1,
Identifying at least one of the plurality of terminals as a terminal receiving the multicast transmission of the given content stream instead of unicast transmission of the given content stream before one or more other terminals receive the multicast transmission Wow,
Further comprising stopping the unicast transmission to the identified terminal
Way.
제1항에 있어서,
리딩 단말기(a leading terminal) 및 트레일링 단말기(a trailing terminal) 중 적어도 하나를 식별하는 단계를 더 포함하는
방법.
The method according to claim 1,
Further comprising identifying at least one of a leading terminal and a trailing terminal
Way.
제1항에 있어서,
상기 주어진 콘텐츠 스트림의 전달을 동기화하기 위해 상기 멀티캐스트 송신의 레이트를 감소시키는 단계를 더 포함하는
방법.
The method according to claim 1,
Further comprising reducing the rate of the multicast transmission to synchronize delivery of the given content stream
Way.
제1항에 있어서,
상기 주어진 콘텐츠 스트림을 상기 복수의 단말기 중 적어도 하나의 단말기로 상기 복수의 단말기 중 다른 단말기에 대한 레이트보다 큰 레이트로 송신하는 단계를 더 포함하는
방법.
The method according to claim 1,
And sending the given content stream to at least one of the plurality of terminals at a rate greater than the rate for the other of the plurality of terminals
Way.
프로세서에 의해 실행될 때, 처리 장치가 청구항 제1항의 방법의 단계들을 수행하도록 하는 실행가능한 프로그램 코드를 내장하는
컴퓨터 판독가능한 저장 매체.
When executed by a processor, embeds executable program code that causes the processing apparatus to perform the steps of the method of claim 1
Computer readable storage medium.
프로세서를 포함하는 제어기를 포함하고,
상기 제어기는 각 단말기들로의 주어진 콘텐츠 스트림의 유니캐스트 송신이 임계값 조건을 만족시키는 상태를 검출하도록 구성되고,
상기 제어기는, 상기 검출된 상태에 응답하여, 상기 주어진 콘텐츠 스트림의 멀티캐스트 송신을 개시하고, 상기 단말기들을 상기 멀티캐스트 송신으로 천이하도록 구성되며,
상기 임계값 조건은, 복수의 단말기 중의 제 1 단말기에 연관된 상기 유니캐스트 송신 중의 제 1 유니캐스트 송신과 상기 복수의 단말기 중의 제 2 단말기에 연관된 상기 유니캐스트 송신 중의 제 2 유니캐스트 송신 사이의 시간 오프셋에 적어도 부분적으로 기초하는
장치.
A controller including a processor,
Wherein the controller is configured to detect a status in which a unicast transmission of a given content stream to each of the terminals satisfies a threshold condition,
The controller is configured to, in response to the detected state, initiate a multicast transmission of the given content stream and transition the terminals to the multicast transmission,
Wherein the threshold condition comprises a time offset between a first unicast transmission during the unicast transmission associated with a first terminal of the plurality of terminals and a second unicast transmission during the unicast transmission associated with a second terminal of the plurality of terminals Lt; RTI ID = 0.0 >
Device.
청구항 제7항의 장치를 포함하는
집적 회로.
Comprising the apparatus of claim 7
integrated circuit.
제7항에 있어서,
상기 제어기는 상기 단말기들 중 적어도 하나의 단말기의 최대 버퍼링 능력을 나타내는 메시지를 수신하도록 구성되는
장치.
8. The method of claim 7,
Wherein the controller is configured to receive a message indicating a maximum buffering capability of at least one of the terminals
Device.
제9항에 있어서,
상기 제어기는 상기 최대 버퍼링 능력에 적어도 부분적으로 기초하여, 상기 적어도 하나의 단말기를 상기 멀티캐스트 송신으로 천이시키도록 구성되는
장치.
10. The method of claim 9,
Wherein the controller is configured to transition the at least one terminal to the multicast transmission based at least in part on the maximum buffering capability
Device.
KR1020127024420A 2010-03-22 2011-03-18 Controller providing gradual transition of multiple terminals from unicast transmission KR101405793B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/728,802 2010-03-22
US12/728,802 US9374231B2 (en) 2010-03-22 2010-03-22 Controller providing gradual transition of multiple terminals from unicast transmission
PCT/US2011/028913 WO2011119415A1 (en) 2010-03-22 2011-03-18 Controller providing gradual transition of multiple terminals from unicast transmission

Publications (2)

Publication Number Publication Date
KR20120129990A KR20120129990A (en) 2012-11-28
KR101405793B1 true KR101405793B1 (en) 2014-06-12

Family

ID=44065375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127024420A KR101405793B1 (en) 2010-03-22 2011-03-18 Controller providing gradual transition of multiple terminals from unicast transmission

Country Status (6)

Country Link
US (1) US9374231B2 (en)
EP (1) EP2550767B1 (en)
JP (1) JP5551822B2 (en)
KR (1) KR101405793B1 (en)
CN (1) CN102845020B (en)
WO (1) WO2011119415A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374231B2 (en) 2010-03-22 2016-06-21 Alcatel Lucent Controller providing gradual transition of multiple terminals from unicast transmission
US9380079B2 (en) * 2011-06-29 2016-06-28 Cable Television Laboratories, Inc. Content multicasting
US8819264B2 (en) * 2011-07-18 2014-08-26 Verizon Patent And Licensing Inc. Systems and methods for dynamically switching between unicast and multicast delivery of media content in a wireless network
JP5318247B1 (en) * 2012-04-20 2013-10-16 株式会社東芝 Communication control apparatus and communication control method
CN102769830B (en) * 2012-07-24 2016-01-27 福建星网锐捷网络有限公司 Multicast message sending method and device, the network equipment
EP2819345A1 (en) * 2013-06-25 2014-12-31 British Telecommunications public limited company Content distribution system and method
US9571540B2 (en) * 2013-09-19 2017-02-14 Verizon Patent And Licensing Inc. Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking
US10484441B2 (en) * 2015-09-08 2019-11-19 Verizon Patent And Licensing Inc. Switching between unicast streams and a multicast stream based on content demand
CN107820218B (en) * 2016-09-14 2020-06-26 华为技术有限公司 Method and equipment for setting message transmission mode
US11575775B2 (en) * 2017-01-04 2023-02-07 Extreme Networks, Inc. Overlay IP multicast over unicast IP networks
KR101979117B1 (en) * 2017-11-24 2019-05-15 한국과학기술원 Multicast Transmission for Asynchronous Data Requests
US11089341B2 (en) 2018-05-11 2021-08-10 Prowire Sport Llc System and method for capturing and distributing a live audio stream of a live event in real-time
US11606407B2 (en) 2018-07-05 2023-03-14 Prowire Sport Limited System and method for capturing and distributing live audio streams of a live event
WO2020040755A1 (en) * 2018-08-22 2020-02-27 Bae Systems Information And Electronic Systems Integration Inc. Wireless resilient routing reconfiguration linear program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200574A1 (en) * 2005-02-23 2006-09-07 John Pickens Switching a client from unicasting to multicasting by increasing the unicast stream rate to the client
US20070147411A1 (en) 2005-12-22 2007-06-28 Lucent Technologies Inc. Method for converting between unicast sessions and a multicast session

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724646A (en) * 1995-06-15 1998-03-03 International Business Machines Corporation Fixed video-on-demand
US6028860A (en) * 1996-10-23 2000-02-22 Com21, Inc. Prioritized virtual connection transmissions in a packet to ATM cell cable network
US6622171B2 (en) * 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
US6625655B2 (en) * 1999-05-04 2003-09-23 Enounce, Incorporated Method and apparatus for providing continuous playback or distribution of audio and audio-visual streamed multimedia reveived over networks having non-deterministic delays
US6708213B1 (en) * 1999-12-06 2004-03-16 Lucent Technologies Inc. Method for streaming multimedia information over public networks
JP2001285234A (en) * 2000-04-04 2001-10-12 Sony Corp Data multiplexer and data multiplexing method, and recording medium
EP1273152B1 (en) * 2000-04-08 2006-08-02 Sun Microsystems, Inc. Method of streaming a single media track to multiple clients
US7133922B1 (en) * 2000-08-07 2006-11-07 The Hong Kong University Of Science And Technology Method and apparatus for streaming of data
US7107606B2 (en) * 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
US7627887B2 (en) * 2001-04-30 2009-12-01 Scientific- Atlanta, Inc. System and method for multicasting packets in a subscriber network
US7174384B2 (en) * 2001-07-31 2007-02-06 Dinastech Ipr Limited Method for delivering large amounts of data with interactivity in an on-demand system
US7627997B2 (en) * 2002-03-06 2009-12-08 Oldcastle Precast, Inc. Concrete foundation wall with a low density core and carbon fiber and steel reinforcement
US8397269B2 (en) * 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
JP2004172932A (en) 2002-11-20 2004-06-17 Hitachi Ltd Data distribution system
JP4261893B2 (en) * 2002-12-13 2009-04-30 キヤノン株式会社 Information processing apparatus and information processing method
US7746799B2 (en) * 2003-06-20 2010-06-29 Juniper Networks, Inc. Controlling data link layer elements with network layer elements
US7574528B2 (en) * 2003-08-27 2009-08-11 Cisco Technology, Inc. Methods and apparatus for accessing presence information
IL158158A (en) * 2003-09-29 2012-05-31 Bamboo Mediacasting Ltd Distribution of multicast data to users
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US7571246B2 (en) * 2004-07-29 2009-08-04 Microsoft Corporation Media transrating over a bandwidth-limited network
EP1856911A4 (en) * 2005-03-07 2010-02-24 Ericsson Telefon Ab L M Multimedia channel switching
US7668914B2 (en) * 2005-03-28 2010-02-23 Alcatel Lucent Milestone synchronization in broadcast multimedia streams
US20070168523A1 (en) * 2005-04-11 2007-07-19 Roundbox, Inc. Multicast-unicast adapter
US8135040B2 (en) * 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
CN101013948B (en) 2006-01-30 2011-12-07 瞻博网络公司 Forming equal cost multipath multicast distribution structures
US7793329B2 (en) * 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
US8160065B2 (en) * 2006-04-12 2012-04-17 Alcatel Lucent Device and method for dynamically storing media data
US8824453B2 (en) * 2006-04-14 2014-09-02 At&T Intellectual Property I, Lp Method and apparatus for managing quality of service for multimedia applications
JP4752786B2 (en) * 2007-02-15 2011-08-17 ソニー株式会社 Multicast distribution system and multicast distribution method
JP2008277961A (en) * 2007-04-26 2008-11-13 Hitachi Ltd On-demand data distribution system
US9503691B2 (en) * 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
JP2010093576A (en) * 2008-10-08 2010-04-22 Sony Corp Reception apparatus, reception method, and computer program
US9369516B2 (en) * 2009-01-13 2016-06-14 Viasat, Inc. Deltacasting
US9634845B2 (en) * 2009-07-08 2017-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Session switching during ongoing data delivery in a network
US9374231B2 (en) 2010-03-22 2016-06-21 Alcatel Lucent Controller providing gradual transition of multiple terminals from unicast transmission

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200574A1 (en) * 2005-02-23 2006-09-07 John Pickens Switching a client from unicasting to multicasting by increasing the unicast stream rate to the client
US20070147411A1 (en) 2005-12-22 2007-06-28 Lucent Technologies Inc. Method for converting between unicast sessions and a multicast session

Also Published As

Publication number Publication date
CN102845020B (en) 2016-04-20
JP5551822B2 (en) 2014-07-16
JP2013523048A (en) 2013-06-13
US9374231B2 (en) 2016-06-21
US20110228769A1 (en) 2011-09-22
KR20120129990A (en) 2012-11-28
WO2011119415A1 (en) 2011-09-29
CN102845020A (en) 2012-12-26
EP2550767B1 (en) 2018-06-06
EP2550767A1 (en) 2013-01-30

Similar Documents

Publication Publication Date Title
KR101405793B1 (en) Controller providing gradual transition of multiple terminals from unicast transmission
EP1982260B1 (en) Method and system for streaming digital video content to a client in a digital video network
JP5420759B2 (en) Fast channel change processing for slow multicast subscriptions
CN101753973B (en) Channel switching method, device and system
EP1867163B1 (en) Fast channel change with conditional return to multicasting
US8140699B2 (en) Switching a client from unicasting to multicasting by simultaneously providing unicast and multicast streams to the client
US9462343B2 (en) System and method of delivering video content
US20150289003A1 (en) Method and Apparatus for Distributing Media Content Services
US20100115566A1 (en) Fast Channel Change Request Processing
EP2011308B1 (en) Device and method for dynamically storing media data
JP2011525071A (en) Method and apparatus for reducing channel change response time for internet protocol television
CN117999768A (en) Content delivery
CN118020311A (en) Content delivery
EP2912817B1 (en) A method and apparatus for distributing media content services
EP4315800A1 (en) Content delivery
WO2023104514A1 (en) Content delivery

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee