专利名称:用于数据包的动态通道映射与最优化调度的设备与方法
技术领域:
本发明通常涉及信号处理。更具体地说,本发明涉及一种用于诸如视频及音频包的数据包的动态通道映射及最优调度的技术。
背景技术:
存在与常规信号处理技术相关的许多限制。举例来说,现有数据包调度算法通常计算起来昂贵或对于诸如视频与音频的实时信号来说没有最优化。传统信号处理的另一限制为将包括视频、音频和/或数据包的信号静态指派给诸如固定数目射频(“RF”)通道的固定数目通信通道。如果一或多个信号的数据率可变并且因此可随时间而改变,则此限制可能成为问题。因此,在任何给定时间,一或多个RF通道可过度利用并且不能容纳所有等待数据包,而其它RF通道则可能利用不足并具有过剩带宽。这不仅导致浪费带宽而且也可能导致在实时视频和/或音频服务的重放中丢失数据包与中断期以及在等待关于其它非实时服务的数据时导致过剩延迟。
鉴于上述内容,需要通过将通信量有效地分布于各种通信通道中来改进对诸如视频与音频信号的实时信号的数据包调度过程的效率,同时减小计算耗用并降低通信通道内的带宽利用率。
发明内容
根据本发明的一实施例,一种示范性方法将一组数字流组合为一组数字多路复用。数字多路复用指包括两个或两个以上经多路传输的视频、音频和/或数据流的信号。所述方法包括识别以(例如)接近或开始超过通道标称容量的速率接收数据包的第一通信通道。所述数据包可包括音频数据包、视频数据包、数据包或其类似物,并且可排序并定时以进行连续实时呈现。如本文所述的术语“数据包”一般用于描述包括既不代表实时音频又不代表实时视频的数据的数据包。同时识别以小于通道标称容量的速率接收数据包的第二通信通道。选择包含向第一通信通道指派的多路复用的一或多个流以形成所选流。所选流的数据包可从对应于第一通信通道的多路复用向对应于第二通信通道的多路复用重新指派。在某些实施例中,指示一或多个所选流的任何接收器(例如)从对应于第一通信通道的频率重新调节到对应于第二通信通道的频率。
根据本发明的另一实施例,一种示范性方法可包括将复数个数字流组合为一数字多路复用,其中所接收的数据包被存储在存储器中。对于各自含有实时数据的数据包的一或多个实时流来说,确定后续数据包(例如在接收器处)到达的截止时间,并且出现基于(例如)在所述截止时间前的一时间间隔的优先权。对于各自含有非实时数据的数据包的一或多个非实时流来说,优先权可基于(例如)后续数据包存储在存储器中的时间、任何预先存在的服务质量约束或其类似物。非实时流的实例包括电子邮件、HTTP数据、文件传送及其类似物。在某些实施例中,如果后续数据包无法在不溢出任何用于接收(诸如在接收器处)所述数据包的缓冲器的情况下被传输,则可排除考虑一或多个流。可识别(例如)具有最高优先权并且未考虑排除的流以传输数据包。对应于此所识别的流的后续数据包可通过从存储器中检索其并将其附加在包含数字多路复用的数据流来选择。
结合随后详细说明连同附图,可更充分地了解本发明,其中图1说明了实施本发明的特征的电缆分布系统。
图2说明了根据本发明的一实施例可利用的电缆调制解调器终端系统。
图3说明了根据本发明的一具体实施例在电缆调制解调器终端系统中可利用的示范性数据包读取/写入机制。
图4说明了根据本发明的一实施例的示范性读取地址产生器。
图5说明了根据本发明的一实施例所执行的示范性数据包分类器操作。
图6说明了根据本发明的一实施例响应一中断所执行的数据包调度器操作。
图7说明了由一根据本发明的一实施例配置而成的数据包调度器所执行的示范性排序操作。
图8说明了根据本发明的一实施例由一数据包调度器所利用的示范性优先权转换模块。
图9A-9B说明了根据本发明的各种实施例可利用的优先权转换映射功能。
图10说明了根据本发明的一实施例一种用于操作RF通道控制器的示范性方法。
在图式的若干视图中,相似参考数字指示对应部分。
具体实施例方式
本发明提供了一种用于调度经一或多个通信通道的数据包传输的设备与方法。包括代表视频与音频的数据的所述数据包在本文中分别称作视频数据包与音频数据包。然而,包括既不代表实时音频又不代表实时视频的数据的数据包在本文中称作“数据”包。根据一实施例,一示范性调度方法检查数据包(及因此的数据包流)是否包括被认为是实时或非实时的数据。接着,通常通过基于本发明的技术来确定其优先权来选择一特定流。举例来说,优先权可基于时间(诸如截止时间)、与路由策略的约束相似的约束(诸如服务质量(“QoS”)约束)或其类似物来确定。一用于执行本发明的其中一种调度方法中的至少一部分的示范性设备为电缆调制解调器终端系统模块,诸如通道格式器。本发明同时提供了一种用于动态改变一或多个数字流经由其可流动的通信通道的设备与方法,尤其是如果通信通道处于经受不可接收的数据包损失的危险中时。举例来说,一种示范性方法可首先监视特定流是否与潜在溢出的缓冲器相关,且其次可采取正确的行动来控制数据包损失。
图1中展示了示范性电缆分布系统100的高级方框图,其中系统100包括一根据本发明的具体实施例的设备。用户终端102处理数据并可包括电缆调制解调器、数字或模拟视频/音频置顶解码器、经组合的电缆调制解调器/置顶混合解码器、个人计算装置或任何其它类似装置。所述用户终端102通常通过混合光纤同轴(“HFC”)分布系统130而被链接到电缆头端,所述混合光纤同轴(“HFC”)分布系统130通常主要包括更接近于头端位置的光纤并主要包括更靠近住宅的同轴电缆106。
在此实例中,局域网(“LAN”)108用于互连在头端可存取的各种装置。一或多个高速开关或路由器110可互连与LAN 108相关的装置。以太网网间协议(“IP”)路由装置通常可用并可加以配置以匹配一特定头端系统的尺寸、规模与通过量需求。
一示范性电缆调制解调器终端系统(“CMTS”)通常包括用于将开关或路由器110(或具有相似功能性的任何其它适当网络装置)对接到混合光纤同轴(“HFC”)分布网络130的下游与上游组件。将下游CMTS模块122设计为对经HFC网络130而传输到用户终端102的视频、音频与非实时数据格式化。尽管将“视频”与“音频”表示为数据,但是如最后一句中所使用的术语“非实时数据”可通常用于描述诸如构成邮件、浏览网页的结果、控制信息等等的数据的数据,其不需要实时传送或根据预定速率传送。尽管在某些状况下非实时数据对时间敏感,但通常不存在传送的截止时间。
上游CMTS模块124自用户终端102接收代表非实时数据、音频和/或视频的数据并对用于分布的数据重新格式化。应注意,下游与上游模块通常可组合为单一CMTS单元120,其主要用于在广域网络(“WAN”)与安装在用户家中以用于连接个人计算装置与因特网的复数个电缆调制解调器之间传送IP数据。作为一实例,替代硬件可用于向用户电视机传播视频并且向用户收音机或电话听筒传播音频。在将来,越来越多的内容格式将会统一并经共用分布网络向家庭或企业传输。尽管CMTS 120可传送所述统一信号,但本发明并不限于使用CMTS 120。图1所概述的实施过程仅为本发明的一个具体实施例。在此特定实施例中,局部供应单元140可处理CMTS 120的某些高级网络控制服务。所述服务可用于将电缆调制解调器接收器初始化、将通道效能最优化并实施文件与消息传送协议等等。
图1的实例中包括了适于实践本发明的若干示范性内容源。视频点播(“VOD”)服务器150存储电影、广告或其它视频程序设计以向用户电视机进行点播传送。此外,VOD服务器150使交互式重放特征成为可能,诸如暂停、快进或慢进、倒放、随机存取及其类似特征。
视频超高速缓存服务器152接收并存储来自许多源180中的任何一个(诸如来自人造卫星)的现场视频内容,并能够以相似的交互式容量点播传送给用户。将开关或路由器的一或多个端口对接至适当的因特网网关装置使得能够存取因特网154。HTML超高速缓存服务器156可存储频繁存取的因特网网页以增加对这些所选页的存取速度。此也可减小经过因特网接口的重复性通信量的量。节目指南可以HTML格式存储在节目指南服务器158中以传送到用户终端102。存取控制服务器170保留与各个用户相关的授权权利的记录、更新账单记录并发出权利与控制消息,使得用户的解码终端可选择性地对视频及音频节目解密。
在本发明的一实施例中,配置诸如下游CMTS模块122的下游通道处理器来优先考虑和/或管理视频、音频与数据包。从上游通道接收到的信息可相似地由上游CMTS模块124来处理。上游路径中的信息通常来源于各种用户终端102并可包括因特网数据、语音或视频消息或信号,其用于交互式控制流至电视机、收音机或任何其它视觉或听觉装置的多媒体内容的重放。所述信号的处理通常涉及滤波、将信号从模拟转换为数字、解调、误差检测与误差校正和/或译码。
图2中展示了下游CMTS模块122的示范性方框图。内容由网络收发器202从局部头端网络(例如从以太网网络)接收并转发到随机存取存储器单元(“RAM”)204或所属领域中已知的任何其它类型的存储器或存储器。内容随后从RAM 204被检索并由CMTS通道格式器206处理。CMTS通道格式器206预备用于经图1的HFC网络130传输的内容。可配置主机CPU 210以基于电缆传输数据接口规范(“DOCSIS”)或其它相似标准来处理CMTS系统的任务。此外,主机CPU 210可包括在媒体存取控制(“MAC”)与下游传输收敛层两者处的分包、扰频、数据交错与随机化、对误差控制的分组编码及网格编码、调制及其它相似的通信过程。
如图2所示,在CMTS通道格式器的输出端处的信号可包括一或多个RF输出通道208(即仅RF1,或RF1、RF2、...RFn)。在CMTS通道格式器的输入端207处接收到的数据包可包括一指定特定RF通道(其已指派有数据包以用于传输)的识别符。
RAM 204的目的是根据一适时调度允许对引入的数据包进行排序、优先考虑并配置给可用下游RF通道。指派优先权,从而“实时”视频与音频数据包在其视频与音频解码单元用光解码数据前到达图1的用户终端102。相反,“非实时”可以根据诸如服务质量约束、最佳努力基础或其它类型的熟知规格的其它规格来传送。
关于各RF通道的带宽,可经由各RF通道208传输的信息(即视频、音频和/或数据)的总量通过(例如)预先选择的调制与误差编码参数来确定。因为使用可变位速率(“VBR”)编码算法来频繁压缩视频与音频流,并且因为因特网数据流通常是猝发的且因此实质上也是时间变化的,所以很难采用一用于向一给定RF通道208指派视频、音频与数据流的静态分配策略。所述静态指派可导致其中某些RF通道未被充分利用而余出过剩带宽而其它RF通道则被过度利用并无法容纳需要发送的所有数据包的情况。
由于大多数常规CMTS系统并不用于传送实时视频与音频,所以通道过度利用的结果通常不太严重。即在所述过度利用的时期内,最终使用者可在存取因特网时尤其在诸如TCP等信令协议时帮助检测并启动遗失数据包的重新传输时注意到增加的延迟。但所述信令协议通常对诸如视频与音频的实时流不十分有效。将用户终端102中的解码单元设计为将经压缩的数据解码以在电视机屏幕上连续呈现或由音频再现系统呈现。如果在等待一丢失的视频或音频数据包被重新传输时解码与呈现过程停止,那么不能对观众隐藏此中断。当采用更有效的视频与音频压缩方法时,延迟通常更为严重,且恢复时间更长。
图3描绘了根据本发明的一实施例将从网络收发器202所接收的数据包写入RAM 204的示范性过程及从RAM 204读取数据包并将其转发至CMTS通道格式器206的过程。写入控制器302与读取控制器304可实施为(例如)使用由软件产生的描述符清单的直接存储器存取(“DMA”)过程,其中每一描述符规定一源地址、一目标地址及待传送的字节数目。在此实例中,将写入控制器302设计为指派按顺序递增的地址。即用以开始后续传送的地址通过以下方式获得取对应于先前传送的地址并将其增加一(例如)等于前述传送的大小的量。写入地址产生器308提供这些地址。因此,在前述封包结束后,可立刻紧跟一封包而其中间无任何显著间隙或间距。一旦超过了存储器单元的最大地址,用于写入的后续地址即可被重设为存储器单元的起始地址。另一实施方案可包括(例如)一用以有效管理可用存储器的自由清单。
从存储器单元读取数据包的过程通常比写入过程更复杂,这是由于其中通常实现了优先考虑与调度过程。在此状况下,读取地址产生器306可如图4所示被模型化。数据包分类器402识别对应于各引入的数据包的流并基于数据包标题中的信息来指派优先权。
根据本发明的一实施例,图5的流程图描述了一示范性数据包分类器402。在于502处接收后续数据包后,在504确定流的对应身份(“流-id z”),并且在506处将数据包存储在RAM中。接着指派一标记以代表所述数据包,所述标记包含其中存储有数据包的RAM地址与需要确定的数据包优先权。一种用以确定实时视频及音频流的优先权的方式为考虑最近可能时间,在此期间后续数据包必须被传送至其中将呈现视频或音频的接收器。所展示的在图5中实施的基于最早截止时间优先(“EDF”)的调度器基于此截止时间与数据包优先权之间的相反关系。
对于实时视频与音频流而言,可单独确定各数据包截止时间。举例来说,使用MPEG输送流协议而编码的视频与音频数据包可包括嵌入式时间戳,其通常为一用于各新的“存取单元”或“帧”的时间戳。所述时间戳指定在接收器处处理数据包的时间。即接收器在接收器处的时间变得等于(或大于)对应于那个单元的时间戳时将开始对后续存取单元进行解码。如果未接收到整个存取单元并且到此时其并不存在于接收器的缓冲器中,那么重放过程将会发生中断并且将需要额外步骤来恢复正确的重放同步。
当接收器能够与由产生时间戳的编码器所使用的时钟同步时,此用于对重放过程进行计时的方法很有效。由于此原因,经MPEG编码的输送流包括诸如节目时钟参考(“PCR”)的嵌入式时间参考信息,接收器使用所述时钟参考信息来重建原始时钟。与时间戳不同的各时间参考指定在从编码器发出时间参考时原始时钟的值。在无线电通信通道中,此时间基本上与在接收器处接收时间参考的时间相同。在所述时间参考样本之间,所述时钟以27Mhz的经MPEG指定的速率连续外推。即使此局部时钟产生器的精确频率与稳定性将取决于在编码器处所使用的局部时钟,接收器仍应能够使用(例如)锁相频率跟踪回路与嵌入于位流中的时间参考参数来将此原始时钟同步并将其恢复。
图5中的数据包分类器流程图过程包括一种用于将在不同流上检测到的时间戳转换为单一共用时钟参考的方法。在508处,当在具有流-id i的数据包中检测到时间参考时(如在504确定),将其用于在510处计算ΔTRi,其为在接收器处的“当前局部时间”t(例如基于局部27Mhz时钟)与时间参考值之间的差值。
在512,当在数据包中检测到时间戳并且对应流-id为“i”时,在514处将那个数据包的新的优先权设定为等于此时间戳与对应于此流的最近ΔTRi的总和。在512处,在无时间戳的情况下每次接收到数据包时,假定对应于与相同流的先前数据包相同的存取单元(即相同帧),并且因此在516处优先权将保持未变。然而,应注意,某些MPEG编码模型不需要各连续存取单元都包括一时间戳。如果允许所述不常见的时间戳(或无论任何原因未检测到特定数据包的时间戳),那么可向不包括时间戳的存取单元指派一推断出的时间戳,所述时间戳通过(例如)基于帧速率从先前时间戳外推而获得。所述帧速率也可从数据包标题中所含的信息推断出。
在流程500中可使用一用于优先考虑非实时流中的数据包(即不指定精确呈现速率的应用数据包)的替代示范性方法,如在511处所确定。所述流的实例为对应于因特网数据的那些流或甚至将被超高速缓存处理以在随后时间重放的音频或视频或根本不需要实时重放的音频或视频。在缺少任何外部指定的服务质量(“QOS”)约束(其在518处测试)的情况下,在522处,可将数据包的优先权设定为等于被增加了常数Q的当前局部时间t。可选择Q值以在非实时通信量与实时视频及音频之间提供适当平衡。以此方式,若在511处如此判定,只要在当前时间与视频及音频优先权截止时间之间的时间间隔不会变为小于Q,即可对非实时通信量给予优先权。然而,一旦时间间隔变为小于Q,则实时数据包的优先权变得大于非实时数据包的优先权。实时数据包的此优先权优点可持续,直至已传输了存取单元的所有数据包并且随后发生优先权变化。
在某些实施例中,非实时数据包(诸如包含普通因特网通信量的那些非实时数据包)的传输可经受现有QOS协议。为适应非实时数据包的网络连接需求,可能需要基于时间戳与时间参考而在不经受实时QOS协议的各种流之间建立相对优先权。理想上,所述替代QOS约束可转换为用于调度实时视频及音频以及不包括QOS约束的非实时流的重放的相同优先权规模。用于将预先存在的QOS协议映射为普通优先权规模的方法通常取决于所考虑的特定QOS模型。只要可适当保持不同QOS类别的相对次序,在520处的映射便无需严格或过分精确。
一旦数据包已由图4的数据包分类器402指派了优先权,便可在524处向其指派一标记。此标记接着存放在与特定流相关的先进先出存储器(“FIFO”)404中。所述标记包括至少两个参数所指派的数据包优先权与存储器(例如RAM)中数据包的地址。保持相似的FIFO以用于各数据包流,其各自含有对应于在那个流上接收到的数据包的优先权与地址的标记序列。如在526处所确定,在每次将新的标记插入先前为空的FIFO 404中时,在528处将中断信号420发送到图4的数据包调度器406。
数据包调度器406的任务是连续监视在各FIFO 404的输出端处的后续标记405并根据这些后续标记所指定的优先权对各种流进行排序。所得有序清单称作优先权队列408。图6中展示了一描述响应中断420的数据包调度器406的示范性操作的简单流程图。流程600为根据本发明的一实施例一用于更新优先权队列408的优先权清单的过程的一实例。在数据包分类器402发生中断后,在FIFO 404的输出端处存在一新的后续标记,其对应于与触发所述中断的数据包相关的流。由于特定FIFO 404先前为空(即如在526处所确定此数据包首先存在于FIFO中),所以所述流当前未列在优先权队列408中,并且因此必须插入一新的记录。在602处,接收用于所述数据包的流识别符与数据包优先权。在604处,数据包调度器406通过比较与新记录相关的优先权与现有优先权队列408的记录来确定此新记录应在何处插入优先权队列408。
由于优先权队列408根据优先权排序,所以此过程简单地涉及定位优先权分别小于及大于(或等于)新记录的优先权的所述连续记录对并且将新记录插入此对之间。如果并不存在具有更高(或相等)优先权的记录,那么将新的记录置于优先权队列408的前端,并且相似地,如果并不存在具有较低优先权的记录,那么将新记录插入优先权队列408的末端。用于创建并保持所述已排序的列的计算上有效的方法已熟知并且因此将不再进一步详尽地讨论。
图7为一流程图,其描绘了根据本发明的一具体实施例如由图4的数据包调度器406所执行的对优先权进行排序的示范性方法。在702处,在每次CMTS通道格式器(举例来说)预备接受新的数据包时,在704处数据包调度器406选择对应于优先权队列408中的最高优先权流的后续数据包并且确定此数据包是否适于选择。举例来说,如果数据包的传输将导致用于在接收器处接收数据包的一或多个缓冲器溢出,那么将所述数据包视为不适于选择。在用于接收经MPEG格式化的输送流的顺从于MPEG的接收器的状况下,通常存在在某些条件下可溢出的两个缓冲器。所述第一缓冲器称为输送缓冲器。保持一独立的输送缓冲器以用于各视频、音频或待由特定接收器解码的任何其它数据包类型。在某些实施例中,各输送缓冲器的尺寸与耗尽率可能是(例如)根据MPEG规范,并且尽管实际接收器实施过程可能根本不涉及输送缓冲器,但MPEG顺从性要求解码、多路复用或重新多路复用系统确保所述假想缓冲器不会溢出。
接收单一视频、音频或数据流的所有数据包的通道缓冲器为在某些条件下可能溢出的另一类缓冲器。通道缓冲器通常大于输送缓冲器(在视频的状况下尤为如此),但不象输送缓冲器,通道缓冲器不具有固定耗尽率。在由对应解码时间戳瞬间指定的时刻,整体存取单元通常从通道缓冲器移除。在输送缓冲器的状况下,MPEG标准指定最小通道缓冲器尺寸并且类似地正是另一实体(诸如编码、多路复用或重新多路复用系统)确保这些缓冲器不会溢出的责任。
在本发明的一实施例中,在710处,数据包调度器406首先识别对应于后续记录的流ID。数据包调度器同时保持输送缓冲器(以在712处确定是否为满)与通道缓冲器(以在714处确定是否为满)两者的模型。如此,数据包调度器406可在任何给定时间确定缓冲器是否具有用于一个以上数据包的空间。如果没有,那么数据包调度器406必须避免发送数据包并且改为识别且确定具有后续最高优先权的数据包的适用性。如果在706处不存在适当的数据包或如果优先权队列408为空,那么在708处改为发送一零数据包。在MPEG规范中描述了零数据包。
一旦在716处选择了适当的后续数据包(例如通过检索地址),数据包即可如在720处传输或其可在718处根据特定CMTS实施过程的需求来修改。举例来说,在718处,可能需要修改MPEG数据包识别域(“PID”)或添加、删除或修改IP标题,或插入或修改DOCSIS MAC标题。作为另一实例,可修改用于优先考虑过程中的时间参考(“PCR”)以说明在数据包于RAM中等待时所招致的延迟。可通过添加一等于含有时间参考的数据包的接收时间与传输时间之间的差值的时间参考校正来校正此延迟。将此过程通称为“PCR重新印戳”。
在某些实施例中,可向各个时间参考添加一固定负偏压以允许更多空间从而经调度最优化使通道通过量最大化。如果完成了此,那么应施加相同的偏压作为对用于调度的数据包优先权的正校正。此用于说明在将于接收器处处理数据包前的稍后的截止时间。最后,关于时间参考,MPEG需求通常在不会被超过的连续PCR之间设定最大时间间隔。最优数据包排序算法可轻易地导致违反此规则。根据本发明的另一实施例,数据包调度器406可通过监视时间间隔(由于传输最后时间参考)并通过在需要时插入额外时间参考来防止此违反。在此状况下,数据包调度器406可通过产生具有PCR且不具有有效负载的新的数据包来避免将现有数据包对准。
一旦在720处已选择了一数据包以用于传输,数据包调度器406的最后任务即为更新优先权队列408。在从对应流FIFO 404移除了标记(用于所选数据包)后,必须检查后续标记的优先权。在722处,如果不存在被包含于FIFO 404中的其它标记,那么在724处,在优先权队列708中的此流的记录必须移除。在726处,如果FIFO 404并不空并且由后续标记指定的优先权与由前述标记指定的优先权相同,那么无需进行别的操作。由于MPEG存取单元通常包含具有相等优先权的许多数据包,所以当处理MPEG流时,此可为一频繁状况。然而,在726处,如果FIFO 404并不空并且由后续标记指定的优先权与由前述标记指定的优先权相同,那么在优先权队列408中的此流的对应记录应重新定位以保持基于递减优先权的适当排序。
根据本发明的一具体实施例,用于根据图4中所说明的优先权系统对数据包进行分类并调度的示范性方法通常涉及一示范性系统,其中向单一RF通道静态配置各个流。
但提供诸如CMTS或其它通道格式化装置的示范性系统也在本发明的范畴与精神内,所述示范性系统以此方式动态地更改流的指派(从一个通信通道至另一个通信通道),以最优化通道资源的使用。所述流重新指派可被经济地引入电缆调制解调器网络的其中一个原因是用于动态频率改变的某些准备已被采纳为电缆传输数据接口规范(“DOCSIS”)电缆调制解调器标准的版本1.1。即已证实顺从于DOCSIS 1.1的电缆调制解调器不仅能够接收指示其重新调节为不同RF通道的命令,而且其无需经历使接收器在一显著时段内不可用的冗长重新同步步骤便能够完成重新调节过程。但即使DOCSIS1.1也无法规定通道跳跃应完全无缝。
通常,在重新调节电缆调制解调器的时间间隔期间或在获取新通道上的信号的过程中,将丢失某些数据包,或如果CMTS选择在两个RF通道上复制相同数据包同时发生转移时,某些数据包将被接收两次或变得无序。幸运的是,此对于其中TCP协议用于检测并校正诸如此等的误差的大多数因特网存取应用来说并不成为一个严重的问题。不幸的是,此解决方法对于实时视频与音频流不太有效。诸如归因于接收器的重新调节与重新同步或归因于在检测到不可校正的误差或损耗后请求重新传输的那些延迟的延迟可导致在随后试图重新同步期间紧随额外延迟产生可见并可听的误差。
本发明的一方面是提供用以控制从一通信通道到另一通信通道的转移的额外机制,所述两个通道可能为或可能不为RF通道。在一实施例中,这些额外机制与可向各引入的数据包指派一优先权值的图4数据包分类器402的操作结合。根据一实施例,图5中说明了一种对示范性数据包分类器指派优先权的示范性方法。在对应于实时流的数据包的状况下,如结合图5所述,优先权可定义为数据包可到达接收器的最近可能时间。但根据本发明的另一实施例,实现如本文所述对此优先权截止时间的修改以预备用于动态重新指派给不同RF通道的各种流。尽管随后描述了一种将一初始优先权(“P”)转换为一新优先权(“P’”)的可能的修改,但其它相似修改也在本发明的范畴与精神内。
此示范性修改的第一目的为提供一种用于识别何时RF通道变得已被过度利用到存在无法及时传递某些数据包的短期危险来避免中断在接收器处的实时重放过程的点。所述修改的第二目的是提供一种用于通过将至少一个流从过度利用的RF通道切换到另一较少利用的RF通道来减小此危险的方法。通过对由如图5所示的数据包分类器402指派的优先权应用一转换过程可实现任一目的或所述两个目的。
如图8所示,一具体实施例可通过在FIFO 404的输出端处并在数据包调度器406前插入优先权转换模块802来实施。由所述优先权转换模块802所执行的修改的实例为图9A与9B所示的映射功能。说明了两个RF通道图9A中的RF通道“A”与图9B中的RF通道“B”。在各个状况下,水平轴代表在由数据包分类器402所确定的初始优先权(P)与当前时间(“t”)之间的差值,并且垂直轴代表新的优先权(“P’”)与当前时间(t)之间的差值。注意,新的优先权p’具有流相依性。即被归合成特定RF通道的流初始以某一任意次序排序且在RF通道A的状况下由自1至n变化的排序索引来代表并且在RF通道B的状况下由1至m变化的排序索引来代表。向相同用户寻址的流指派有相同的索引。举例来说,如果图1的用户终端102同时接收正在两个不同电视机显示器上呈现的两个节目与一向个人计算机供应因特网数据的数据流,那么向因特网数据流、两个视频流及与所述两个电视机节目中的各个节目相关的任何音频与数据流指派单一共用索引。
应注意,在根据本发明的某些状况下,例如由于特定接收器的硬件或软件限制,对一具体流的动态通道重新指派(跳跃)可能在某些流上会被禁止。在所述状况下,对应流可从索引编为从1到n(或对于RF通道B来说,为从1到m)的流组中排除。一种用以确保这些流不选择用于通道重新指派的方式为简单地避免修改这些被排除的流的优先权。即可将新优先权P’设定为等于与被排除流(即对其禁用动态通道跳跃能力的流)相关的各数据包的初始优先权P。另一方面,如果数据包不对应于被排除流,那么只要初始优先权差值(P-t)大于预定阈值Tk,便可将新的或经修改的优先权(P’)设定为仅等于初始优先权(P)。如果初始优先权差值降至低于此阈值,那么将经修改的优先权差值(P′-t)设定为等于所述阈值。在此特定实例中,向每次流分类指派从最小阈值“Tmin,”至最大阈值“T1.”变化的不同阈值。随着索引“k”减小,阈值Tk增大。
第一,最大阈值T1显著。通常选择此阈值以至少与在对应接收器上实施通道跳跃所需要的时间间隔一样大。更精确地说,其应至少与始于在将一通道跳跃命令发送到目标接收器时并终于在接收器能够接收新RF通道上的数据包时的时间间隔一样大。由于接收器在此通道重新调节时间间隔过程中不能接收新的数据包,所以如果后续数据包具有一将在转移过程中期满的截止时间,那么转移过程便不应起始。通过确保具有索引1的流始终指派有足够高以保持至少T1的截止时间期满时间(P-t)的优先权,在任何时间起始通道跳跃应是可能的。
第二,最小阈值Tmin也是显著的。如果优先权差值(P-t)减小至低于此阈值,那么当前RF通道变得已被过度利用到其中存在不能够将所有数据包及时传递到所要的接收器以满足与实时流的各数据包相关的截止时间的合理危险的点。此对于其中截止时间与在图8的数据包分类器402处所确定的优先权P相同以及优先权差值为在截止时间期满前的剩余时间的状况来说是直观的。具有最低优先权差值的流是具有最高索引的流并且这些应该是到达其各自阈值的第一流。在此实例中,假定优先权差值对于RF通道A中的各个流减小。此由图9A中的箭头方向指示。
在可起始通道跳跃前,必须识别出最能够接受具有索引1的流的RF通道。通常,最佳选择为当前在具有最高索引的流(或者等价地为无法选择用于通道重新指派的流)上保持最长期满截止时间(P-t)的通道。这些为绕过优先权阈值处理过程的“被排除流”。在此实例中,已选择了RF通道B以接受从包括RF通道A的其它RF通道重新指派的流。应注意,所述规定仅是暂时性的并且应以规则时间间隔且在每次通道跳跃发生后重新评价。
根据本发明的一具体实施例,将图8的RF通道控制器850模块设计为控制通道跳跃并且图10中对其进行更详细的描述。当在1004处优先权差值变得小于或等于任何实时流上的Tmin时,在1002处做出起始一通道跳跃的决定。在某些实施方案中,可能需要保护以防止可由装备故障或其它系统故障所触发的不稳定性。一种用于实现此目的的方式为检查将要用于触发通道转移的任何流上的优先权差值中的连贯变化。
当将要重新指派一流时,将一包括新的RF频率信息的通道跳跃命令发送到在1008处确定的对应于具有索引1的流的接收器。如上所述,DOCSIS1.1标准允许动态通道跳跃并且通道跳跃命令的格式被包括在规范中。在1110处,一旦已发送出通道跳跃命令,RF通道控制器850将所述流从当前RF通道的索引1重新指派至新RF通道上后续最高可用索引。举例来说,如果新RF通道上的现有流从1到m变化,那么如908所概念性地展示,在1114处所述流将被指派给一m+1的索引。RF通道控制器850也应确保直至满足两个条件中的一个时才向此新RF通道上的这些流传输数据包。这些条件为(1)固定时间间隔Tf应期满,或(2)对应于这些流的接收器应向回报告其预备接收此新通道上的数据包。在图10中,对数据包传输的此约束是通过在1116处移除对应于将被重新指派的每一流的优先权队列中的记录项来实施的。这就确保了将不会从这些流中的任一流中选择数据包。同时,在1118处将对数据包调度器406的中断设定为在时间间隔Tf后发生。此时,所述记录项将被重新插入图8的优先权队列408中并且根据后续各数据包的优先权来排序。数据包调度器中断过程展示于图6中并且先前已予以描述。
RF通道控制器850也必须重新指派仍指派至先前RF通道(例如通道A)的剩余流的索引(例如2至n)。在1112处,将每一此索引简单地递减1。以此方式,具有索引2的流被重新指派一索引1,并且因此是即将获得动态通道重新指派的下一个流。举例来说,在k=1的流的通道重新指派前曾与k=2相关的通道A的流现在变得与k=1相关。取决于精确实施方案,可能有必要采取步骤来确保单一通道重新指派不会触发接二连三的通道重新指派。在根据本发明的一具体实施例的一实施方案中,后续通道跳跃被延期,直至恰被重新指派一索引1的流已具有时间来获得至少T1的优先权差值(P-t)。到此时,系统应已被调整至重新指派具有索引1的最后流,并且因此应不需要第二通道跳跃。
根据本发明的另一具体实施例的一替代实施过程尤其有效。代替比较在当前时间数据包的阈值Tk与优先权差值(P-t)的是,而RF通道控制器850可能比较在将来的某一时间(例如在时间t+Tmin)阈值Tk与优先权差值。假定经完全利用的通道的通过量可为常数,那么所属领域的技术人员应能够确定到固定时间间隔期满时将已被传输的数据包的数目。此外,由于已向由数据包分类器402检查的各数据包指派了优先权,所以可预期到时间间隔结束将已发送哪些数据包并且哪些数据包仍将保持处于队列中。因此,在将来的此时通道的整体利用可简单地通过观察对应于优先权队列408中的标记的这些后续数据包的优先权差值(P-t)来确定。
预期在将来的瞬间及时加载通道的其中一个优点为动态通道重新指派的效果变得明显。如果从调度过程的外推中排除一或多个流,那么剩余流的额外数据包将在外推时间间隔期间传输,并且因此一旦时间间隔已期满便将实现更大的优先权差值(P-t),因此,除非数据包继续以超过通道的通过量的速率到达,否则将不可能需要第二通道重新指派。
已描述用于从中央存储器单元读取数据包并且使用数据包分类器来向复数个FIFO指派对应的数据包标记并使用数据包调度器来读取数据包标记且将数据包输出到CMTS通道格式器的方法具有两个重要优点。第一,视频、音频与数据数据包以一种最优方式得以优先考虑,所述最优方式确保了及时传递数据包以避免实时视频与音频的呈现被中断同时使所有其它流上的等待时间最小化。第二,优先考虑与调度过程在计算上是有效的。优先权队列保持根据优先权所排序的不同流的最新清单,并且所述记录仅需要以相对不常见的基础来调整。这就使得可能使用单一不昂贵的处理器来管理对许多RF通道进行的排序与调度过程。
通过使用动态通道配置策略获得了额外效率。已描述了用于管理各个可用通信通道的流并且周期性地选择、预备和重新指派从一个通信通道至另一通信通道的某些流的方法与设备。
本发明的一实施例是关于一种具有一计算机可读取媒体的计算机存储产品,所述计算机可读取媒体在其上具有用于执行各种计算机实施的操作的计算机代码。所述媒体与计算机代码可为为本发明的目的而专门设计并构造的媒体与计算机代码,或者其可为对于计算机软件领域的技术人员来说已熟知且可用的种类的媒体与计算机代码。计算机可读取媒体的实例包括(但不限于)磁性媒体,诸如硬盘、软盘以及磁带;光学媒体,诸如CD-ROM以及全息装置;磁光媒体,诸如可光读的磁盘;以及专门配置为存储并执行程序代码的硬件装置,诸如专用集成电路(“ASIC”)、可编程逻辑装置(“PLD”)以及ROM与RAM装置。计算机代码的实例包括诸如由编译器所产生的机器代码与含有高级代码的文件,所述文件由计算机使用解释器来执行。举例来说,本发明的一实施例可使用XML、Java、C++或其它面向对象的编程语言与开发工具来实施。本发明的另一实施例可以替代机器可执行软件指令或与之结合的硬连线电路来实施。
总之,本发明提供了一种用以保证网络装置与网络-装置配置的系统与方法。所属领域的技术人员可不难认识到,在本发明、用以实现与本文所述的实施例所实现的结果大体上相同的结果的其使用与其配置中可进行许多变化与替代。举例来说,诸如“打开”、“执行”、“移动”等等的其它存取权利与诸如文件和/或装置同步的其它行动、命令组的一或多个指令等等可用于补充本文所述的安全组定义的实施。因此,并不希望将本发明限制为所揭示的示范性形式。许多变化、修改及替代结构将在如权利要求书中所表达的所揭示的本发明的范畴与精神内。
为解释的目的,前述说明使用具体命名法来提供对本发明的透彻理解。然而,对于所属领域的技术人员将很明显,不需要具体细节来实践本发明。因此,为说明与描述的目的而呈现了对本发明的具体实施例的前述说明。其并非意在具有穷举性或将本发明限制为所揭示的精确形式;很明显,鉴于上述教示,许多修改与变化都可行的。选择并描述实施例以最佳地解释本发明的原理及其实际应用,由此其使得所属领域的其它技术人员能够以如适于所涵盖的特定使用的各种修改来最佳地利用本发明与各种实施例。希望以上权利要求书与其均等物来界定本发明的范畴。
权利要求
1.一种用于将复数个流组合为一数字多路复用的方法,其中一或多个所述流包括经排序并经计时以用于连续实时呈现的数据包,所述方法包含基于一截止时间确定在所述复数个流的其它后续数据包前将要传输一实时流的一后续数据包;确定一缓冲器是否具有接受所述后续数据包的容量;如果所述缓冲器具有容量,那么选择所述后续数据包作为所述数字多路复用的一部分来传输;和如果所述缓冲器不具有容量,那么选择所述其它后续数据包中的一个作为所述数字多路复用的一部分来传输。
2.根据权利要求1所述的方法,其中确定将要传输所述后续数据包包含将所述截止时间转换为所述实时流的一第一优先权,其中所述第一优先权为最高优先权。
3.根据权利要求2所述的方法,其中每次将另一后续数据包确定为一新的存取单元的第一数据包时更新所述实时流的所述第一优先权。
4.根据权利要求1所述的方法,其中所述截止时间是从一时间戳获得的。
5.根据权利要求4所述的方法,其中所述时间戳与一后续存取单元相关。
6.根据权利要求1所述的方法,其中所述实时流被分割为多个存取单元,其中每个存取单元由一或多个数据包组成。
7.根据权利要求6所述的方法,其进一步包含确定所述实时流的所述后续数据包是否为一新的存取单元的一第一数据包。
8.根据权利要求6所述的方法,其中所述存取单元的每一个为一视频帧的一代表。
9.根据权利要求6所述的方法,其中所述存取单元的每一个为一音频帧的一代表。
10.根据权利要求2所述的方法,其中所述其它后续数据包中的所述一个后续数据包具有一特定流。
11.根据权利要求10所述的方法,其中选择所述其它后续数据包中的所述一个后续数据包包含向所述特定流指派一第二优先权,其中所述第二优先权与最高优先权不同。
12.根据权利要求11所述的方法,其中所述第二优先权代表一与所述其它后续数据包中的所述一个后续数据包相关的等待时间,其中所述特定流为一非实时流。
13.根据权利要求11所述的方法,其中所述第二优先权代表一与所述其它后续数据包中的所述一个后续数据包相关的预先存在的服务质量(“QOS”)约束,其中所述特定流为一非实时流。
14.根据权利要求11所述的方法,其中所述第二优先权代表与所述其它后续数据包中的所述一个后续数据包相关的一等待时间和一预先存在的QOS约束两者,其中所述特定流为一非实时流。
15.一种用于将复数个流组合为复数个数字多路复用的方法,其中所述数字多路复用的每一个经由一对应的通信通道被传输至复数个接收装置,所述方法包含识别具有正经由一第一通信通道传输的一第一量的数据的所述复数个数字多路复用的一第一数字多路复用,其中所述第一量超过所述第一通信通道的一第一阈值;识别具有正经由一第二通信通道传输的一第二量的数据的所述复数个数字多路复用的一第二数字多路复用,其中所述第二量不超过所述第二通信通道的一第二阈值;选择正经由所述第一数字多路复用传输的所述复数个流的一子组;及将所述子组重新指派给所述第二数字多路复用。
16.根据权利要求15所述的方法,其进一步包含通知所述复数个接收装置中的至少一接收装置从所述第一通信通道重新调谐到所述第二通信通道。
17.根据权利要求15所述的方法,其中将所述第一阈值与所述第二阈值设定为分别控制与所述第一通信通道及所述第二通信通道相关的数据损失。
18.根据权利要求15所述的方法,其中所述重新指派步骤包括致使所述子组不再被包括于所述第一数字多路复用中;延迟所述子组中的所述流的传输;和致使所述子组被包括于所述第二数字多路复用中。
19.根据权利要求18所述的方法,其中所述延迟步骤包含将所述子组延迟一时间间隔,所述时间间隔至少与所述至少一接收装置从所述第一通信通道重新调谐到所述第二通信通道期间的一时间间隔一样长。
20.根据权利要求19所述的方法,其进一步包含给予所述复数个流的每一个流优先权;对于每一数字多路复用而言,选择一相对于所述数字多路复用的其它流具有最高优先权的流;和传输对应于每一所述数字多路复用的每一所选流的一后续数据包。
21.根据权利要求15所述的方法,其进一步包含为将从所述第一数字多路复用重新指派至所述第二数字多路复用的所述流的子组中的每一个流的一后续数据包确定一截止时间。
22.根据权利要求21所述的方法,其中向所述子组流指派一相对较高的优先权,直至所述截止时间前剩余的一时间至少与将所述至少一接收装置从所述第一通信通道重新调谐到所述第二通信通道所需的一时间间隔一样长。
23.根据权利要求15所述的方法,其中所述第一通信通道与所述第二通信通道为射频通道,其各自具有不同的中央频率。
24.一种用于传输复数个数据流的方法,所述方法包含确定一与一第一流相关的第一子组数据包括实时数据;基于确定所述第一子组包括实时数据,对所述第一子组数据分类以区别所述第一子组数据与一与一第二流相关的第二子组数据;和选择所述第一子组以经由一第一通道而非经由一第二通道传输。
25.根据权利要求24所述的方法,其进一步包含通过将所述传输从所述第二通道切换到所述第一通道来经由所述第一通道传输所述第一子组。
26.根据权利要求24所述的方法,其中所述第一通道与所述第二通道为射频(“RF”)通道。
27.根据权利要求24所述的方法,其中将所述第一子组分类包含给予所述第一子组优先权;和以一第一优先权来标记所述第一子组。
28.根据权利要求27所述的方法,其中给予所述第一子组优先权包含确定所述第一子组是否包括一时间指示符;和如果所述时间指示符被包括于所述第一子组中,那么将所述第一优先权形成为所述时间指示符的一函数。
29.根据权利要求28所述的方法,其中给予所述第一子组优先权进一步包含确定所述第一流子组的另一子组是否包括一时间指示符;和如果所述时间指示符不包括在所述第一子组中,那么将所述第一优先权形成为一与所述另一子组相关的优先权的一函数。
30.根据权利要求29所述的方法,其中所述时间指示符为一时间戳。
31.根据权利要求27所述的方法,其进一步包含确定所述第二子组数据是否包括实时数据;和基于确定所述第二子组不包括实时数据,对所述第二子组分类。
32.根据权利要求31所述的方法,其中将所述第二子组分类包含给予所述第二子组优先权;和以一第二优先权标记所述第二子组。
33.根据权利要求32所述的方法,其中给予所述第二子组优先权包含确定所述第二子组与一指示所述第二子组的参数相关;将所述参数标准化;和将所述第二优先权形成为所述标准化参数的一函数。
34.根据权利要求33所述的方法,其中所述参数为一服务质量(“QOS”)约束。
35.根据权利要求27所述的方法,其中选择用于传输的所述第一子组包含确定所述第一子组适合于传输;和当一与所述第二通道相关的阈值处于或约处于一阈限度时,选择用于传输的所述第一通道。
36.根据权利要求35所述的方法,其中确定所述第一子组适合包含给予所述第一子组及与一第三流相关的一第三子组的数据优先权,以便分别向所述第三子组与所述第一子组指派一第三优先权与一第一优先权,其中所述第三优先权高于所述第一优先权;确定一缓冲器不能够接收所述第三子组;和确定另一缓冲器能够接收所述第一子组。
37.根据权利要求35所述的方法,其中选择用于传输的所述第一通道包含确定所述第二通道处于或约处于所述阈限度;和对所述第一子组重新分类以实行所述第一通道的所述选择。
38.根据权利要求37所述的方法,其中对所述第一子组重新分类包括将一经转换的第一优先权形成为一经修改的优先权差值的一函数。
39.一种用于传输复数个流的每一个流的设备,所述设备包含一分类器模块,其配置为向所述复数个流的每一个流的每一数据包的数据指派一指示一优先权的标记,其中所述标记指示所述流的每一个流是否包括时间敏感性数据;和一数据包调度器模块,其配置为如果一接收缓冲器可存储一特定流的每一所述数据包那么选择用于传输的每一所述数据包。
40.根据权利要求39所述的设备,其进一步包含一与所述复数个流的每一个相关联并配置为存储一子组标记的缓冲器。
41.根据权利要求39所述的设备,其进一步包含一配置为存储与一或多个流相关的相对优先权的优先权队列模块。
42.根据权利要求39所述的设备,其进一步包含一优先权转换器,其配置为修改所述优先权以在如果所述特定流可用于选择时选择用于传输所述特定流的所述每一数据包的一通信通道。
全文摘要
根据本发明的一实施例,一种方法将一组数字流(404)组合为一组数字多路复用。此可包括(例如)识别当前以一可导致通道的标称容量被超过的速率接受数据包的第一通信通道。同时识别当前以不太可能导致通道的标称容量被超过的速率接受数据包的第二通信通道。选择包含指派至第一通信通道的多路复用的一或多个流以形成所选流。此外,可将所选流的数据包从对应于第一通信通道的多路复用重新指派至对应于第二通信通道的多路复用。在某些实施例中,指示一或多个所选流的一或多个接收器从对应于第一通信通道的频率重新调谐到对应于第二通信通道的频率。
文档编号H04L12/28GK1717905SQ200380104412
公开日2006年1月4日 申请日期2003年11月26日 优先权日2002年11月27日
发明者爱德华·克劳斯, 彼得·蒙塔, 亚当·汤姆 申请人:Rgb网络有限公司