用于特定源转码组播的方法和装置的制作方法

文档序号:7848323阅读:237来源:国知局
专利名称:用于特定源转码组播的方法和装置的制作方法
技术领域
本公开大体上涉及数据通信,诸如组播(multicast)数据通信。
背景技术
SSM(Source Specific Multicast,特定源组播)和其它因特网协议(IP)层组播机制将相同的IP数据包传送到全部订阅路由器,并且可以节约网络带宽,这是因为如果不如此的话,每个IP数据包将被复制并单独从源发送到这些路由器背后的每台订阅主机,即,使用IP层组播允许相同的数据报在由这些路由器形成的组播树中的每条链路上仅传播一次。另一方面,应用层组播(ALM)是这样一种机制主机(不一定是源)复制数据报并通过由主机的第4层连接形成的覆盖网络对该数据报进行中继。当路由器不支持组播和/或转码且其需要被主机处理时,ALM是有用的。然而,ALM比IP层组播效率低很多,这是因为ALM常常会引起次优路由并且这些数据报还可能会在一条链路上传播一次以上。ALM也并不可靠,因为主机可能出现在线和离线波动。


结合于此并构成说明书一部分的

了示例实施例。图I说明了被配置为实现特定源转码组播的设备的示例。图2说明了被配置为复制数据包并执行转码服务的路由和转码逻辑的示例。图3说明了一种系统的示例,其中,第一上游路由器提供转码服务,且多个下游路由器之一也提供转码服务。图4说明了一种系统的示例,其中,上游路由器为下游路由器提供全部转码服务。图5说明了在其上可实现一示例实施例的计算机系统的示例。图6说明了用于提供下游转码服务的方法的示例。图7说明了当新的下游组播流被请求时用于提供转码服务的方法的示例。示例实施例概沭接下来是对示例实施例的简化概述,从而提供对示例实施例某些方面的基本理解。该概述并不是对示例实施例的全面概述。其不是为了认定示例实施例的关键或决定性要素也不是为了描述所附权利要求的范围。该概述唯一的目的在于以简化的形式提供示例实施例的某些概念,作为后面提出的更详细描述的前序。根据一示例实施例,本文公开了一种设备,包括上游通信接口,被配置为从源接收由第一编解码器编码的组播流;下游通信接口 ;以及路由和转码逻辑,耦接至所述上游通信接口和所述下游通信接口。所述路由和转码逻辑被配置为将由第一编解码器编码的组播流转发到所述组播流的第一下游订户。所述路由和转码逻辑还被配置为复制所述组播流并将所述组播流转码到第二下游订户的第二编解码器。所述路由和转码逻辑将复制且转码后的组播流转发到第二下游订户。根据一示例实施例,本文公开了一种方法,包括从上游源接收针对第一编解码器而格式化的组播流。将所述组播流转发至至少一个下游订户。接收来自第二下游订户的对所述组播流的订阅消息形式的请求,其中,第二下游订户请求针对第二编解码器而格式化的组播流。该方法还包括确定是要继续从上游源接收针对第一编译码器而格式化的组播流,还是要接收针对第二编解码器而格式化的组播流。响应于确定要接收针对第二编解码器而格式化的组播流,请求上游源提供针对第二编解码器而格式化的组播流。响应于确定要接收针对第二编解码器而格式化的组播流,将针对第二编解码器而格式化的组播流转发到第二下游订户。响应于确定要从上游源接收针对第二编解码器而格式化的组播流,转码组播流的副本并将组播流的转码后的副本转发到所述至少一个下游订户。示例实施例描沭本描述提供的示例并不是为了限制所附权利要求的范围。附图通常表明示例的特征,其中,应了解和理解的是,相同的参考数字用于指相同的元素。参考说明书中的“一个实施例”或“一实施例”或“一示例实施例”意思是所描述的特定的特征、结构或特性被包括在本文所述的至少一个实施例中,而并不意味着这些特征、结构或特性出现在本文描述的所有实施例中。在本文所描述的一示例实施例中,定义了被称为特定源转码组播(SourceSpecific Ttanscoding Multicast, SSTM)的新组播机制,其对特定源组播(SSM)进行了扩展并且也基于反向路径转发(RPF)。SSTM定义了扩展组播订阅消息(S,G,C),其中S是组播源地址,G是组播组目的地址,C是由下游请求的编解码器类型,其中,编解码器类型可以包括但不限于编码算法、帧速率、分辨率大小和流的内容质量。SSTM对路由器使用简单算法来处理共享相同S地址和G地址的两个或者两个以上组播订阅消息。每个SSTM路由器自适应插入嵌入式转码服务(如果可行),并且仅把不能被其嵌入式转码输出馈给的那些订阅转发到其上游路由器。例如,如果能够实现SSTM的路由器接收到(S,G,Cl)和(S,G,C2)并发现从Cl到C2的嵌入式转码服务可用,则该路由器在内部分配一个这种转码服务会话并将分配的转码服务会话(例如,(S,G,Cl))转发到朝向S的上游路由器。可替代地,如果可行,它可以选择插入从C2到Cl (而不是如上所述的从Cl到C2)的转码服务,并向上游转发(S,G,C2),这取决于是Cl还是C2消耗更少的带宽或者是Cl还是C2是优选的(例如,优选的编解码器可由系统管理员来选择)。如果没有可用的嵌入式转码服务,则路由器简单地将流,例如(S,G, Cl)和(S,G,C2),朝向S转发到上游路由器。如本文一示例实施例将要描述的,能够实现SSTM的路由器将每个(S,G,C[k])存储为在下游订阅的每个编解码器类型C[k]的一个路由表条目。当SSTM关于(S,G)对插入从C[a]到C[b]的转码服务时,SSTM在路由表内标记出(S,G,C[a])具有一转码成(S,G,C[b])的分支,即,从具有匹配源地址S,组播地址G和通过编解码器C[a]标识的有效载荷的上游接收的任何数据包将在内部被复制原始数据包被发送到(S,G,C[a])的下游而复制品则在内部被馈给相应的转码服务会话,转码服务会话负责生成到下游的(S,G,C[b])数据包,如下面示例实施例所示。CN 102934394 A



3/7页图1例示了被配置为实现特定源转码组播的设备100的示例。设备100包括被配置为从上游源接收组播流的上游接口 102。如本文示例实施例中将要描述的,上游接口可以接收由第一编解码器格式化的组播流的一个副本或者可以接收由相应的多个编解码器格式化的流的多个副本。下游接口 106被用于向下游订户提供组播流。在一示例实施例中,组播流的上游订阅消息可以通过下游接口 106被接收并且可以通过上游接口 102被路由至组播流的上游源。路由和转码逻辑104基于通过下游接口 106接收的那些订阅消息将组播流数据包从上游源路由至下游订户。如果下游订户可以接收由第一编解码器格式化的组播流,该流被无变化地路由至下游订户;然而,如果下游订户无法接收由第一编解码器格式化的组播流,路由和转码逻辑104创建组播流的复制品并将复制品转码为与下游订户兼容的格式。本文所用的“逻辑”包括但不限于硬件、固件、软件和/或每一个的组合,用以执行功能或动作,和/或引起另一个组件的功能或动作。例如,基于所需的应用或需求,逻辑可以包括软件控制的微处理器,诸如专用集成电路(ASIC)的离散逻辑,可编程/编程的逻辑装置,包含指令等的存储器装置,或者硬件实现的组合逻辑。逻辑还可以完全用存储在非永久有形介质上的软件实现,当由处理器执行时,该有形介质执行所描述的功能。逻辑可以适当地包括一种或多种。在一示例实施例中,路由和转码逻辑104被配置为将由第一编解码器编码的组播流转发到组播流的第一下游订户。路由和转码逻辑104还被配置为复制组播流并将组播流转码到第二下游订户的第二编解码器。路由和转码逻辑104将复制且转码后的组播流转发到第二下游订户。在一示例实施例中,路由和转码逻辑104响应于从采用第三编解码器的第三下游订户接收到组播流订阅消息形式的请求,来创建组播流的附加副本。为第三编解码器将附加副本转码,且转码后的附加副本被转发到第三下游订户。在一示例实施例中,路由和转码逻辑104响应于接收到来自新下游订户的接收新编解码器的组播流的请求,来判断是优选该新编解码器用于传送上游通信还是继续使用当前的编解码器。如果路由和转码逻辑104确定使用新编解码器,则路由和转码逻辑104改变组播流的上游订阅以采用新编解码器。路由和转码逻辑104将由新编解码器编码的组播流转发到新下游订户,并且按需要对组播流进行复制和转码以向其他下游订户提供组播流。例如,如果路由和转码逻辑104将第一编解码器的流提供给第一下游订户并且将第二编解码器的流提供给第二下游订户,并且新订户请求第三编解码器的组播流且第三编解码器被确定为优选的编解码器,则路由和转码逻辑104将创建组播流的第一副本和第二副本。第一副本将被转码到第一编解码器并被提供给第一订户。第二副本将被转码且提供给第二订户。在一示例实施例中,路由和转码逻辑104可采用预定义列表来确定优选哪个编解码器。例如,管理员可以按照优先权顺序输入一个列表。在另一不例实施例中,其他参数(诸如带宽消耗)可以用于确定优选哪个编解码器。例如,路由和转码逻辑104可基于哪个编解码器消耗的带宽更少来确定优选哪个编解码器。在一示例实施例中,路由和转码逻辑104将每个(S,G,C[k])存储为由至少一个下游订户订阅的每个编解码器类型C[k]的一个路由表条目。当路由和转码逻辑104关于(S,G)对插入从C[a]到C[b]的转码服务时,路由和转码逻辑104在路由表内存储(S,G,
7C[a])具有一转码成(S,G,C[b])的分支,例如,从具有匹配源地址S、组播地址G和通过编解码器C[a]标识的有效载荷的上游接收的任何数据包将在内部被复制原始数据包被发送到具有订阅(S,G,C[a])的所有那些下游接口,而复制品在内部被馈送到负责为具有订阅(S,G,C[b])的所有那些下游接口生成数据包的相应转码服务会话。下文描述的图2描述了执行此功能的一示例实施例。请注意,上游接口数量和下游接口数量并不限于本文所说明的示例中示出的数量,因为挑选这些数量仅仅是为了方便说明,本领域技术人员应当很容易理解,任何物理上可以实现数量的上游接口和下游接口均适合于实现本文描述的示例实施例的原理。而且,可以提供任何物理上可以实现数量的下游组播流。此外,虽然本文所说明的示例描述了第一订户和第二订户,本领域技术人员应当很容易理解(也将在下文图4中描述的示例中进行说明),第一和/或第二订户可以是一个组。例如,第一订户可以包括多个下游路由器。图2说明了用于实现路由和转码逻辑104的方框图的示例。在所说明的实施例中,组播流202 (S,G,C[a])从上游源被接收。响应于接收到数据包,路由和复制逻辑204在表206中执行查找以确定该流的下游订户。在所说明的示例中,第一下游订户接收无变化的组播流202。第二下游订户接收由第二编解码器(C[b])编码的流。因此,流的复制品通过路径208提供给将流从编解码器C[a]转码至编解码器(C[b])的转码服务210。复制且转码后的流212被提供给第二订户。在特定实施例中,相同的下游接收者,例如,不能实现SSTM的路由器可以接收流202和流212 二者。图3说明了一种系统300的示例,其中,第一上游路由器302提供转码服务,且多个下游路由器304之一也提供转码服务。在此示例中,路由器Rl 302和路由器R2 304能够实现SSTM。从上游源接收采用第一编解码器的组播流,即流(S,G,C[a])310。路由和转码逻辑308 (其在一示例实施例中可以如路由和转码逻辑104的一示例实施例中所描述的那样进行配置)确定如何向下游分发流310和流312。在此示例中,路由和转码逻辑308确定R2 304接收无变化的流310,而路由器(R3) 306采用编解码器C[b]从而接收流312。作为来自Rl 302的流(S,G)的下游订户的R2 304能够接收无变化的、采用第一编解码器的组播流(S,G,C[a])310。由于R2为能够实现SSTM的路由器,所以路由和转码逻辑314(其在一示例实施例中可以如路由和编码逻辑104的一示例实施例所描述的那样进行配置)确定R2 304的流310的下游分发。在此示例中,流310被无变化地分发,并且流310的复制且转码后的副本即采用第二编解码器C[b]的(S,G,C[b])316被向下游分发。路由和转码逻辑308将流310的复制且转码后的副本(S,G,C[b]) 312提供给R3306。R3 306向下游分发流312。在一示例实施例中,R3 306也是SSTM路由器,然而,R3306可能不能接收流(S,G,C[a]) 310,因此路由和转码逻辑308将流(S,G,C[a])310转码成适合R3 306的流(S,G,C[b])312,R3 306然后可以向下游提供复制且转码后的流(未示出)。图4说明了一种系统400的示例,其中,上游路由器Rl 402为下游路由器提供全部转码服务。采用第一编解码器(C[a])的组播流(S,G)即(S,G,C[a])408从上游源(未示出)提供并且被分发给路由器R2 404和R3 406。在所说明的示例中,路由和转码逻辑410(其在一示例实施例中可如路由和转码逻辑104的一示例实施例中所描述的那样进行配置)确定R2 404应接收采用第一编解码器的组播流(S,G,C[a])408和采用第二编解码器的组播流(S,G,C[b])412。路由和转码逻辑还确定应将采用第二编解码器的组播流(S,G,C[b])412提供给路由器R3 406。R2 404将采用第一编解码器的组播流(S,G,C[a])408和采用第二编解码器的组播流(S,G,C[b])412向下游分发。R3 406将采用第二编解码器的组播流(S,G,C[b])412向下游分发。如前所述,如果组播路径上的全部路由器均能够实现SSTM,则作为结果得到的SSTM树应针对最有效的带宽使用提供最佳转码位置。考虑图3和图4中所说明的示例。理想地,(S,G,C[a])和(S,G,C[b])的下游路径在能够实现SSTM的路由器处使用不同的网络接口。这意味着有两种能够实现SSTM的下游路由器,一个订阅(S,G,C[a]),而另一个订阅(S,G,C[b])。由于不需要传输在没有转码服务的情况下所必需的(S,G,C[b])数据包,故实现了上游带宽节约。例如,在图3中,在Rl 302和R2 304的上游不传输(或接收)任何(S,G,C[b])数据包,且在图4中,在Rl 402的上游不传输(或接收)任何(S,G,C[b])数据包。图5是说明了一种计算机系统500的方框图,在该系统上可以实现一示例实施例。根据示例实施例,计算机系统500可以被配置为实现路由和转码逻辑104(图I)、路由和复制逻辑204 (图2)、转码服务210 (图2)、转码逻辑308和/或314 (图3)和/或转码逻辑410 (图4)。计算机系统500也适合于实现方法600 (图6)、方法700 (图7)和/或方法800 (图8),这些将在下文中进一步详细描述。计算机系统500包括总线502或其他用于传送信息的通信机制以及与总线502耦接用于处理信息的处理器504。计算机系统500还包括主存储器506,例如随机存取存储器(RAM)或耦接至总线502的动态存储装置,该存储装置用于存储要由处理器504执行的信息和指令。主存储器506也可用于存储在要由处理器504执行的指令执行期间的临时变量或其他中间信息。计算机系统500还包括只读存储器(ROM) 508或者其他耦接至总线502的静态存储装置,该静态存储装置用于存储处理器504的静态信息和指令。提供了诸如磁盘或光盘的存储装置510,并将其耦接至总线502以用于存储信息和指令。示例实施例的一方面涉及执行特定源转码组播的计算机系统500的使用。根据一示例实施例,特定源转码组播由计算机系统500提供,以响应处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列。这种指令可以从另一种计算机可读介质,如存储装置510读入主存储器506。执行包含在主存储器506中的指令序列会使处理器504执行本文描述的处理步骤。多处理布置的一个或多个处理器也可以用于执行包含在主存储器506中的指令序列。在一可替代实施例中,硬接线电路可以用来替代软件指令或者与软件指令相结合来实现一示例实施例。因此,本文描述的实施例并不限于硬件电路和软件的任意特定组合。本文所用的术语“计算机可读介质”是指任何参与提供指令给处理器504来执行的介质。这种介质可以具有许多形式,包括但不限于非易失介质和易失介质。非易失介质包括,例如光盘或磁盘,诸如存储装置510。易失介质包括诸如主存储器506的动态存储器。此处所用的有形介质可以包括易失和非易失介质。计算机可读介质的常见形式例如包括软盘、软磁盘、硬盘、磁卡、纸带、具有空图案的任何其他物理介质、RAM、PROM、EPROM、FLASHPROM、CD、DVD或任何其他存储器芯片或存储器匣、或者任何计算机可以读出的其他介质。计算机系统500还包括耦接至总线502的上游通信接口 512。上游通信接口 512将双向数据通信耦接计算机系统500提供给连接至第一网络(未示出)的上游链路514。计算机系统500还包括耦接至总线502的下游通信接口 516。下游通信接口 516将双向数据通信耦接计算机系统500提供给连接至第二网络(未示出)的下游链路518。鉴于以上描述的前述结构和功能特征,将参考图6-7来更好地理解根据一示例实施例的方法。然而,出于使解释简单的目的,图6-7中的方法按照执行顺序来示出和描述,但应该了解和理解的是,示例实施例并不限于所说明的顺序,因为某些方面会以不同的顺序发生或者与本文示出和描述的其他方面并行发生。此外,实现根据一示例实施例的一方面的方法并不要求所说明的全部特征。本文描述的方法适合于通过硬件、通过处理器执行软件或其组合来实现。图6说明了用于提供下游转码服务的方法600的示例。方法600可以通过路由和转码逻辑104 (图I)、路由和转码逻辑308 (图3)、路由和转码逻辑314 (图3)、路由和转码逻辑410和/或处理器504 (图5)来实现。在602,从上游源接收组播流的数据包。该数据包采用第一编解码器。在604,确定是否采用第一编解码器和/或通过另一个例如第二编解码器、第三编解码器等向下游分发数据包。例如,组播流可以被提供给采用多种编解码器的多个订户,和/或被提供给采用多种编解码器的一个或多个单个订户。例如在图3中,Rl 302将采用第一编解码器的数据包的副本提供给R2 304,将采用第二编解码器的数据包的副本提供给R3 306;且在图4中,Rl 402将组播流两次分发给R2 404,首先是采用第一编解码器的组播流然后是采用第二编解码器的副本,再将采用第二编解码器的流的副本提供给R3 406。在606,采用和上游源相同的编解码器并能不通过转码(否)来接收数据包的下游订户接收数据包(或者数据包副本)。数据包被无变化地转发给这些下游订户,例如,有效载荷不变。在608,采用不同编解码器(是)的下游订户接收数据包的复制且转码后的副本。在一示例实施例中,下游订户可以接收数据包的多个副本,例如,转码至第二编解码器的一个副本,转码至第三编解码器的另一个副本和/或采用第一编解码器的数据包的副本等。这样,数据包按照需要被复制且转码。图7说明了当新的下游组播流被请求时用于提供转码服务的方法700的示例。方法700可以通过路由和转码逻辑104(图I)、路由和转码逻辑308(图3)、路由和转码逻辑314 (图3)、路由和转码逻辑410和/或处理器504 (图5)来实现。在702,从新的下游订户接收对组播流的请求。对组播流的请求包括编解码器类型。在704,确定是否已经通过被请求的编解码器将组播流提供给下游订户。请注意,被请求的编解码器可以与上游编解码器不同,例如,另一个下游订户可能已经正在接收组播流的复制且转码后的数据包。如果下游订户已经正在接收以相同方式编码的组播流(是),则在706,将流提供给新的下游订户。如果需要,新订户可以接收组播流的数据包的复制且转码后的副本。如果在704确定尚未提供组播流(否),则在708,确定是否采用被请求的编解码
1器进行上游通信。例如,如果用于新的下游订户的编解码器比当前正用于与上游源进行通信的编解码器利用更少的带宽和/或处理器资源等,则用于新的订户的编解码器可以用于上游通信。在一示例实施例中,可以采用优选编解码器列表来在考虑了诸如各编解码器的内容质量和带宽、由转码带来的任何不可逆质量退化、用于转码的本地资源可用性等各种因素的情况下,确定采用哪个编解码器进行上游通信。如果在708确定采用新编解码器进行上游通信(是),则在710,上游编解码器被切换成新编解码器。切换成新的编解码器后,采用原始上游编解码器的去向下游订户的数据包将被转码。例如,如果第二编解码器作为用于上游通信的编解码器安装,则采用第一编解码器的下游订户的数据包将被从第二编解码器转码到第一编解码器。如果在708,确定继续使用原始编解码器进行上游通信(否),则在712,对资源进行分配以将数据包从原始编解码器转码到用于新的下游订户的新编解码器。可选择地,可以为来自新订户的上游数据包建立转码,以转码至上游编解码器。一旦可以执行转码,就将组播流提供给新的下游订户。上述为示例实施例。当然,本文不可能描述每种可能想到的组件或方法的组合,但是本领域的普通技术人员应该认识到,示例实施例的许多别的组合和置换是可能的。因此,本申请意欲囊括落在所附权利要求的精神和范围内的所有这样的替代、修改和变形,且所附权利要求的精神和范围以其被公平、合法、公正地赋予的广度来解释。
权利要求
1.一种设备,包括 上游通信接口,被配置为从源接收由第一编解码器编码的组播流; 下游通信接口; 路由和转码逻辑,耦接至所述上游通信接口和所述下游通信接口 ; 其中,所述路由和转码逻辑被配置为将由第一编解码器编码的组播流转发到所述组播流的第一下游订户; 其中,所述路由和转码逻辑被配置为复制所述组播流并将所述组播流转码到第二下游订户的第二编解码器;并且 其中,所述路由和转码逻辑被配置为将复制且转码后的组播流转发到第二下游订户。
2.如权利要求I所述的设备,其中,所述路由和转码逻辑对接收到来自所述组播流的第三下游订户的请求做出响应,其中,所述路由和转码逻辑被配置为创建所述组播流的第二副本; 其中,所述路由和转码逻辑还被配置为为第三编解码器转码所述组播流的第二副本;并且 其中,所述路由和转码逻辑被配置为将所述组播流的转码后的第二副本转发到第三下游订户。
3.如权利要求I所述的设备,其中,所述路由和转码逻辑响应于接收到来自第三下游订户的接收用于第三编解码器的组播流的请求,来确定第三编解码器是否优选用于传送上游通信; 其中,所述路由和转码逻辑被配置为响应于确定第三编解码器是优选用于传送上游通信的来改变针对所述组播流的上游订阅以采用第三编解码器; 其中,所述路由和转码逻辑将由所述第三编解码器编码的组播流转发到第三下游订户; 其中,所述路由和转码逻辑被配置为创建所述组播流的第一副本,为第一编解码器转码所述组播流的第一副本,并且将所述组播流的转码后的第一副本转发到第一下游订户;以及 其中,所述路由和转码逻辑被配置为创建所述组播流的第二副本,为第二编解码器转码所述组播流的第二副本,并且将所述组播流的转码后的第二副本转发到第二下游订户。
4.如权利要求3所述的设备,其中,所述路由和转码逻辑基于预定义列表来确定优选的编解码器。
5.如权利要求3所述的设备,其中,所述路由和转码逻辑基于编解码器消耗更少带宽来确定优选的编解码器。
6.如权利要求I所述的设备,其中,所述路由和转码逻辑将由下游订户订阅的组播流的每个编解码器类型的条目存储在路由表中。
7.如权利要求6所述的设备,其中,所述路由和转码逻辑针对每种类型的编解码器确定是要转发接收到的组播流,还是要复制所述组播流并且针对编解码器类型转码所述组播流并且转发所述流的转码后的副本。
8.如权利要求I所述的设备,其中,所述路由和转码逻辑还被配置为将所述组播流的复制且转码后的副本转发到第一下游订户。
9.一种方法,包括 从上游源接收针对第一编解码器而格式化的组播流; 将所述组播流转发至采用第一编解码器的至少一个下游订户; 接收来自第二下游订户的对所述组播流的请求,其中,第二下游订户请求针对第二编解码器而格式化的组播流; 确定是要继续从上游源接收针对第一编译码器而格式化的组播流,还是要接收针对第二编解码器而格式化的组播流; 响应于确定要接收针对第二编解码器而格式化的组播流,请求上游源提供针对第二编解码器而格式化的组播流; 响应于确定要接收针对第二编解码器而格式化的组播流,将针对第二编解码器而格式化的组播流转发到第二下游订户;以及 响应于确定要接收针对第二编解码器而格式化的组播流,为第一编解码器转码组播流的副本并将组播流的转码后的副本转发到所述至少一个下游订户。
10.如权利要求9所述的方法,其中,基于预定义列表来确定是要继续从上游源接收针对第一编译码器而格式化的组播流,还是要接收针对第二编解码器而格式化的组播流。
11.如权利要求9所述的方法,其中,基于编解码器消耗更少带宽来确定是要继续从上游源接收针对第一编译码器而格式化的组播流,还是要接收针对第二编解码器而格式化的组播流。
12.如权利要求9所述的方法,还包括将由下游订户订阅的组播流的每个编解码器类型的条目存储在路由表中。
13.如权利要求9所述的方法,还包括 接收来自第三下游订户的对组播流的请求,其中,第三下游订户请求针对第三编解码器而格式化的组播流; 确定是要继续从上游源接收针对第二编译码器而格式化的组播流,还是要接收针对第三编解码器而格式化的组播流; 响应于确定要接收针对第三编解码器而格式化的组播流,请求上游源提供针对第三编解码器而格式化的组播流; 响应于确定要接收针对第二编解码器而格式化的组播流,将针对第三编解码器而格式化的组播流转发到第三下游订户; 响应于确定要接收针对第二编解码器而格式化的组播流,为第一编解码器转码组播流的副本并将组播流的转码后的副本转发到所述至少一个下游订户;以及 响应于确定要接收针对第三编解码器而格式化的组播流,为第一编解码器转码组播流的第二副本并将组播流的转码后的第二副本转发到所述采用第一编解码器的至少一个下游订户。
14.如权利要求9所述的方法,还包括 确定第二下游订户也将被提供采用第一编解码器的组播流的副本;以及响应于确定第二下游订户也将被提供采用第一编解码器的组播流的副本,将采用第一编解码器的组播流的副本转发到第二下游供应商。
15.如权利要求9所述的方法,还包括存储具有组播流的至少一个下游订户的每个编解码器类型的路由数据。
16.如权利要求15所述的方法,还包括针对每个编解码器类型确定是要转发组播流还是要转发组播流的复制且转码后的副本。
17.—种设备,包括 上游通信接口,被配置为从源接收由第一编解码器编码的组播流; 下游通信接口 ;以及 用于路由和转码的装置,可操作用于通过下游接口将所述组播流转发到采用第一编解码器的第一下游订户; 其中,所述用于路由和转码的装置还可操作用于为第二编解码器复制且转码所述组播流,并通过下游接口将复制且转码后的组播流转发到第二下游订户。
18.如权利要求17所述的设备,其中,用于路由和转码的装置还可操作用于将复制且转码后的组播流也转发到第一下游订户。
19.如权利要求17所述的装置,其中,用于路由和转码的装置还可操作用于确定是要采用第一编解码器还是第二编解码器用于与所述源通信;以及 其中,所述用于路由和转码的装置可操作用于与所述源通信来指示出要采用的编解码器。
20.如权利要求17所述的装置,其中,所述用于路由和转码的装置还可操作用于接收来自采用第三编解码器的第三下游订户的对第二组播流的第一上游请求; 其中,所述用于路由和转码的装置还可操作用于确定第二组播流的源的编解码器;其中,所述用于路由和转码的装置还可操作用于将第一请求转码到第二组播流的源的编解码器,并转发转码后的第一上游请求; 其中,所述用于路由和转码的装置还可操作用于接收来自采用第四编解码器的第四下游订户的对第二组播流的第二上游请求以维护使第四编解码器与第二组播流相关联的数据; 其中,所述用于路由和转码的装置还可操作用于为第四编解码器复制且转码第二组播流,并将复制且转码后的第二组播流转发到第四订户。
全文摘要
在一示例实施例中,描述了一种设备,包括被配置为从源接收由第一编解码器编码的组播流(202)的上游通信接口,下游通信接口,以及耦接至所述上游通信接口和所述下游通信接口的路由(204)和转码(210)逻辑。所述路由和转码逻辑被配置为将由第一编解码器编码的组播流无变化地转发到组播流(202)的第一下游订户。所述路由和转码逻辑被配置为复制组播流(212)并将所述组播流转码到第二下游订户的第二编解码器,所述复制且转码后的组播流被转发到第二下游订户。
文档编号H04L12/18GK102934394SQ201180011408
公开日2013年2月13日 申请日期2011年2月9日 优先权日2010年2月26日
发明者赖成家 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1