专利名称:用于数据包的动态通道映射与最优化调度的设备与方法
技术领域:
本发明通常涉及信号处理。更具体地说,本发明涉及一种用于诸如视频及音频包 的数据包的动态通道映射及最优调度的技术。
背景技术:
存在与常规信号处理技术相关的许多限制。举例来说,现有数据包调度算法通常 计算起来昂贵或对于诸如视频与音频的实时信号来说没有最优化。传统信号处理的另一限 制为将包括视频、音频和/或数据包的信号静态指派给诸如固定数目射频(“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”)与安装在用户家中以用于连接个人计算装置与因特 网的复数个电缆调制解调器之间传送I P数据。作为一实例,替代硬件可用于向用户电视 机传播视频并且向用户收音机或电话听筒传播音频。在将来,越来越多的内容格式将会统 一并经共用分布网络向家庭或企业传输。尽管CMTS 120可传送所述统一信号,但本发明并 不限于使用CMTS 120。图1所概述的实施过程仅为本发明的一个具体实施例。在此特定实 施例中,局部供应单元140可处理CMTS 120的某些高级网络控制服务。所述服务可用于将 电缆调制解调器接收器初始化、将通道效能最优化并实施文件与消息传送协议等等。图1的实例中包括了适于实践本发明的若干示范性内容源。视频点播(“V0D”) 服务器150存储电影、广告或其它视频程序设计以向用户电视机进行点播传送。此外,VOD 服务器150使交互式重放特征成为可能,诸如暂停、快进或慢进、倒放、随机存取及其类似 特征。视频超高速缓存服务器152接收并存储来自许多源180中的任何一个(诸如来自 人造卫星)的现场视频内容,并能够以相似的交互式容量点播传送给用户。将开关或路由 器的一或多个端口对接至适当的因特网网关装置使得能够存取因特网154。HTML超高速缓 存服务器156可存储频繁存取的因特网网页以增加对这些所选页的存取速度。此也可减小 经过因特网接口的重复性通信量的量。节目指南可以HTML格式存储在节目指南服务器158 中以传送到用户终端102。存取控制服务器170保留与各个用户相关的授权权利的记录、更 新账单记录并发出权利与控制消息,使得用户的解码终端可选择性地对视频及音频节目解
Γ t [ O在本发明的一实施例中,配置诸如下游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提供这些地址。因此,在前述封包结束后,可立刻紧跟一封包 而其中间无任何显著间隙或间距。一旦超过了存储器单元的最大地址,用于写入的后续地 址即可被重设为存储器单元的起始地址。另一实施方案可包括(例如)一用以有效管理可
7用存储器的自由清单。从存储器单元读取数据包的过程通常比写入过程更复杂,这是由于其中通常实现 了优先考虑与调度过程。在此状况下,读取地址产生器306可如图4所示被模型化。数据 包分类器402识别对应于各引入的数据包的流并基于数据包标题中的信息来指派优先权。根据本发明的一实施例,图5的流程图描述了一示范性数据包分类器402。在于 502处接收后续数据包后,在504确定流的对应身份(“流-idz”),并且在506处将数据包 存储在RAM中。接着指派一标记以代表所述数据包,所述标记包含其中存储有数据包的RAM 地址与需要确定的数据包优先权。一种用以确定实时视频及音频流的优先权的方式为考虑 最近可能时间,在此期间后续数据包必须被传送至其中将呈现视频或音频的接收器。所展 示的在图5中实施的基于最早截止时间优先(“EDF”)的调度器基于此截止时间与数据包 优先权之间的相反关系。对于实时视频与音频流而言,可单独确定各数据包截止时间。举例来说,使用MPEG 输送流协议而编码的视频与音频数据包可包括嵌入式时间戳,其通常为一用于各新的“存 取单元”或“帧”的时间戳。所述时间戳指定在接收器处处理数据包的时间。即接收器在接 收器处的时间变得等于(或大于)对应于那个单元的时间戳时将开始对后续存取单元进行 解码。如果未接收到整个存取单元并且到此时其并不存在于接收器的缓冲器中,那么重放 过程将会发生中断并且将需要额外步骤来恢复正确的重放同步。当接收器能够与由产生时间戳的编码器所使用的时钟同步时,此用于对重放过 程进行计时的方法很有效。由于此原因,经MPEG编码的输送流包括诸如节目时钟参考 (“PCR”)的嵌入式时间参考信息,接收器使用所述时钟参考信息来重建原始时钟。与时间 戳不同的各时间参考指定在从编码器发出时间参考时原始时钟的值。在无线电通信通道 中,此时间基本上与在接收器处接收时间参考的时间相同。在所述时间参考样本之间,所述 时钟以27Mhz的经MPEG指定的速率连续外推。即使此局部时钟产生器的精确频率与稳定 性将取决于在编码器处所使用的局部时钟,接收器仍应能够使用(例如)锁相频率跟踪回 路与嵌入于位流中的时间参考参数来将此原始时钟同步并将其恢复。图5中的数据包分类器流程图过程包括一种用于将在不同流上检测到的时间戳 转换为单一共用时钟参考的方法。在508处,当在具有流-idi的数据包中检测到时间参考 时(如在504确定),将其用于在510处计算ATRi,其为在接收器处的“当前局部时间”t (例 如基于局部27Mhz时钟)与时间参考值之间的差值。在512,当在数据包中检测到时间戳并且对应流-id为“i”时,在514处将那个数 据包的新的优先权设定为等于此时间戳与对应于此流的最近ATRi的总和。在512处,在 无时间戳的情况下每次接收到数据包时,假定对应于与相同流的先前数据包相同的存取单 元(即相同帧),并且因此在516处优先权将保持未变。然而,应注意,某些MPEG编码模型 不需要各连续存取单元都包括一时间戳。如果允许所述不常见的时间戳(或无论任何原因 未检测到特定数据包的时间戳),那么可向不包括时间戳的存取单元指派一推断出的时间 戳,所述时间戳通过(例如)基于帧速率从先前时间戳外推而获得。所述帧速率也可从数 据包标题中所含的信息推断出。在流程500中可使用一用于优先考虑非实时流中的数据包(即不指定精确呈现速 率的应用数据包)的替代示范性方法,如在511处所确定。所述流的实例为对应于因特网数据的那些流或甚至将被超高速缓存处理以在随后时间重放的音频或视频或根本不需要 实时重放的音频或视频。在缺少任何外部指定的服务质量(“Q0S”)约束(其在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通道的命令,而且其无需经历使接收器在一显著时段内不可 用的冗长重新同步步骤便能够完成重新调节过程。但即使D0CSIS1. 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通
11道“B”。在各个状况下,水平轴代表在由数据包分类器402所确定的初始优先权(P)与当 前时间(“t”)之间的差值,并且垂直轴代表新的优先权(“P”)与当前时间(t)之间的差 值。注意,新的优先权P’具有流相依性。即被归合成特定RF通道的流初始以某一任意次 序排序且在RF通道A的状况下由自1至η变化的排序索引来代表并且在RF通道B的状况 下由1至m变化的排序索引来代表。向相同用户寻址的流指派有相同的索引。举例来说, 如果图1的用户终端102同时接收正在两个不同电视机显示器上呈现的两个节目与一向个 人计算机供应因特网数据的数据流,那么向因特网数据流、两个视频流及与所述两个电视 机节目中的各个节目相关的任何音频与数据流指派单一共用索引。应注意,在根据本发明的某些状况下,例如由于特定接收器的硬件或软件限制,对 一具体流的动态通道重新指派(跳跃)可能在某些流上会被禁止。在所述状况下,对应流 可从索引编为从1到n(或对于RF通道B来说,为从1到m)的流组中排除。一种用以确保 这些流不选择用于通道重新指派的方式为简单地避免修改这些被排除的流的优先权。即可 将新优先权P’设定为等于与被排除流(即对其禁用动态通道跳跃能力的流)相关的各数 据包的初始优先权P。另一方面,如果数据包不对应于被排除流,那么只要初始优先权差值 (P-t)大于预定阈值Tk,便可将新的或经修改的优先权(P’)设定为仅等于初始优先权(P)。 如果初始优先权差值降至低于此阈值,那么将经修改的优先权差值(P' "t)设定为等于所 述阈值。在此特定实例中,向每次流分类指派从最小阈值“Tmin,”至最大阈值“Tl. ”变化 的不同阈值。随着索引“k”减小,阈值Tk增大。第一,最大阈值T 1显著。通常选择此阈值以至少与在对应接收器上实施通道跳 跃所需要的时间间隔一样大。更精确地说,其应至少与始于在将一通道跳跃命令发送到目 标接收器时并终于在接收器能够接收新RF通道上的数据包时的时间间隔一样大。由于接 收器在此通道重新调节时间间隔过程中不能接收新的数据包,所以如果后续数据包具有一 将在转移过程中期满的截止时间,那么转移过程便不应起始。通过确保具有索引1的流始 终指派有足够高以保持至少T 1的截止时间期满时间(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的流的接收器。如上所述,D0CSIS1. 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至η)。在1112处,将每一此索引简单地递减1。以此方式,具有索引2的 流被重新指派一索引1,并且因此是即将获得动态通道重新指派的下一个流。举例来说,在 k= 1的流的通道重新指派前曾与k = 2相关的通道A的流现在变得与k = 1相关。取决 于精确实施方案,可能有必要采取步骤来确保单一通道重新指派不会触发接二连三的通道 重新指派。在根据本发明的一具体实施例的一实施方案中,后续通道跳跃被延期,直至恰被 重新指派一索引1的流已具有时间来获得至少Tl的优先权差值(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++或其它面 向对象的编程语言与开发工具来实施。本发明的另一实施例可以替代机器可执行软件指令 或与之结合的硬连线电路来实施。总之,本发明提供了一种用于调度经一或多个通信通道的数据包传输的设备与方 法。所属领域的技术人员可不难认识到,在本发明、用以实现与本文所述的实施例所实现的 结果大体上相同的结果的其使用与其配置中可进行许多变化与替代。因此,并不希望将本 发明限制为所揭示的示范性形式。许多变化、修改及替代结构将在如权利要求书中所表达 的所揭示的本发明的范畴与精神内。为解释的目的,前述说明使用具体命名法来提供对本发明的透彻理解。然而,对于 所属领域的技术人员将很明显,不需要具体细节来实践本发明。因此,为说明与描述的目的 而呈现了对本发明的具体实施例的前述说明。其并非意在具有穷举性或将本发明限制为所 揭示的精确形式;很明显,鉴于上述教示,许多修改与变化都可行的。选择并描述实施例以 最佳地解释本发明的原理及其实际应用,由此其使得所属领域的其它技术人员能够以如适 于所涵盖的特定使用的各种修改来最佳地利用本发明与各种实施例。希望以上权利要求书 与其均等物来界定本发明的范畴。
权利要求
一种用于传输复数个数据流的方法,所述方法包含确定一与一第一流相关的第一子组数据包括实时数据;基于确定所述第一子组包括实时数据,对所述第一子组数据分类以区别所述第一子组数据与一与一第二流相关的第二子组数据;和选择所述第一子组以经由一第一通道而非经由一第二通道传输。
2.根据权利要求1所述的方法,其进一步包含通过将所述传输从所述第二通道切换到 所述第一通道来经由所述第一通道传输所述第一子组。
3.根据权利要求1所述的方法,其中所述第一通道与所述第二通道为射频(“RF”)通道。
4.根据权利要求1所述的方法,其中将所述第一子组分类包含 给予所述第一子组优先权;和以一第一优先权来标记所述第一子组。
5.根据权利要求4所述的方法,其中给予所述第一子组优先权包含 确定所述第一子组是否包括一时间指示符;和如果所述时间指示符被包括于所述第一子组中,那么将所述第一优先权形成为所述时 间指示符的一函数。
6.根据权利要求5所述的方法,其中给予所述第一子组优先权进一步包含 确定所述第一流子组的另一子组是否包括一时间指示符;和如果所述时间指示符不包括在所述第一子组中,那么将所述第一优先权形成为一与所 述另一子组相关的优先权的一函数。
7.根据权利要求6所述的方法,其中所述时间指示符为一时间戳。
8.根据权利要求4所述的方法,其进一步包含 确定所述第二子组数据是否包括实时数据;和基于确定所述第二子组不包括实时数据,对所述第二子组分类。
9.根据权利要求8所述的方法,其中将所述第二子组分类包含 给予所述第二子组优先权;和以一第二优先权标记所述第二子组。
10.根据权利要求9所述的方法,其中给予所述第二子组优先权包含 确定所述第二子组与一指示所述第二子组的参数相关;将所述参数标准化;和将所述第二优先权形成为所述标准化参数的一函数。
11.根据权利要求10所述的方法,其中所述参数为一服务质量(“Q0S”)约束。
12.根据权利要求4所述的方法,其中选择用于传输的所述第一子组包含 确定所述第一子组适合于传输;和当一与所述第二通道相关的阈值处于或约处于一阈限度时,选择用于传输的所述第一 通道。
13.根据权利要求12所述的方法,其中确定所述第一子组适合包含给予所述第一子组及与一第三流相关的一第三子组的数据优先权,以便分别向所述第 三子组与所述第一子组指派一第三优先权与一第一优先权,其中所述第三优先权高于所述第一优先权;确定一缓冲器不能够接收所述第三子组;和 确定另一缓冲器能够接收所述第一子组。
14.根据权利要求12所述的方法,其中选择用于传输的所述第一通道包含 确定所述第二通道处于或约处于所述阈限度;和对所述第一子组重新分类以实行所述第一通道的所述选择。
15.根据权利要求14所述的方法,其中对所述第一子组重新分类包括将一经转换的第 一优先权形成为一经修改的优先权差值的一函数。
全文摘要
本发明涉及用于数据包的动态通道映射与最优化调度的设备与方法。根据本发明的一实施例,一种方法将一组数字流(404)组合为一组数字多路复用。此可包括(例如)识别当前以一可导致通道的标称容量被超过的速率接受数据包的第一通信通道。同时识别当前以不太可能导致通道的标称容量被超过的速率接受数据包的第二通信通道。选择包含指派至第一通信通道的多路复用的一或多个流以形成所选流。此外,可将所选流的数据包从对应于第一通信通道的多路复用重新指派至对应于第二通信通道的多路复用。在某些实施例中,指示一或多个所选流的一或多个接收器从对应于第一通信通道的频率重新调谐到对应于第二通信通道的频率。
文档编号H04L12/56GK101945051SQ20101029272
公开日2011年1月12日 申请日期2003年11月26日 优先权日2002年11月27日
发明者亚当·汤姆, 彼得·蒙塔, 爱德华·克劳斯 申请人:Rgb网络有限公司