对通信流量分级的多信道通信的制作方法

文档序号:7948961阅读:308来源:国知局
专利名称:对通信流量分级的多信道通信的制作方法
技术领域
本发明涉及通信系统尤其是点-多点通信系统的问题。在传统的点-多点通信系统中,网络支持中心实体(central entity)与多个用户端设备(customer premises equipment,CPE)之间的双向数据通信。点-多点通信系统的实例包括有线调制解调器系统(cable modem system)、固定无线系统以及卫星通信系统。在每种系统中,从中心实体到CPE的通信路径通常称为下行信道,而从CPE到中心实体的通信路径通常称为上行信道。
其中一种点-多点系统是有线调制解调器系统,它通常包括能够与多个CPE进行通信的头端,每个CPE都提供有线调制解调器的功能。例如,在有线调制解调器系统中,CPE可以是有线调制解调器、机顶盒,或者有线网关。有线调制解调器系统的上行信道可包括多个信道,这些信道可被分配给多个CPE,这些信道以不同的频率运行而彼此独立。但是,下行信道通常由单个广播信道组成。
DOCSISTM(电缆传输数据业务接口规范)涉及一组由CableLabs(有线电视实验室)公布的规范,这些规范定义了有线头端和有线调制解调器设备的行业标准。在某种程度上,DOCSISTM阐述了有线调制解调器系统各个方面的要求和目标,包括运行支持系统、管理、数据接口,以及有线系统中的网络层、数据链路层和物理层的传输。目前DOCSISTM规范的版本是2.0,包括DOCSISTM射频接口(RFI)规范SP-RFIv2.0-I03-021218(以下简称为“DOCSISTMRFI规范”),本文引用并结合该规范的全部内容。
DOCSISTM支持从头端到有线调制解调器的下行物理(PHY)层传输标准ITU-T J.83B(以下简称为“附录B”)。通信技术的发展要求增加更多的带宽,这会导致信道容量的不足,尤其是下行传输的信道容量不足。例如,由于对视频点播(VOD)、高清电视(HDTV)、数字业务的需求增加,以及扩大的模拟信道阵容,即使以750Mhz的频率运行的有线设备也遭遇容量瓶颈。目前已经提出了很多方案来帮助缓解下行带宽的问题,包括模拟频谱开拓和高级视频编码技术。
因此,需要一种克服传统通信系统和方法的上述缺陷的方法、系统和/或计算机程序。

发明内容
一种包括管理节点(如头端)和一个或多个远程节点(如有线调制解调器)通信系统。通过RF信道在所述管理节点和所述一个或多个远程节点之间传输数据分组。将多个RF信道捆绑,这样,可通过捆绑的RF信道中的一个或多个RF信道传输数据分组。
所述捆绑包括上层捆绑和下层捆绑。在上层捆绑中,通信系统还包括传送器(forwarder)和多个调制器,例如边缘正交振幅调制器(edge QAM)或边缘正交频分调制器(edge OFDM)。每个调制器都连接到不同的RF信道或RF信道组。根据第一实施例,传送器确定一个或多个数据分组将传输到哪个调制器。在第二实施例中,传送器确定一个通信流(flow)或多个通信流将传输到哪个调制器。
在下层捆绑中,调制器确定在与自己所连接的RF信道中,使用哪个RF信道将一个数据分组或多个数据分组传输到远程节点。根据一个实施例,调制器为分配给自己的通信流中的每个数据分组确定使用哪个RF信道来传输。


附图构成本说明书的一部分,与具体实施方式
一起对本发明进行说明,进一步地解释本发明的原理,使相关领域的技术人员能够实施本发明。这些附图中,相同的附图标记在各幅附图中用于表示相同的或功能相似的部件。此外,附图标记最左边的阿拉伯数字表示该附图标记第一次出现时所在附图的图号。
图1是根据本发明的一个实施例的示例性通信系统的高层(high level)示意图;图2是根据本发明的一个实施例的光纤和同轴混合线缆(hybrid fibercoaxial,HFC)的网络的示意图,其示出了头端和多个有线调制解调器之间的数据通信的路径;图3是根据本发明的一个实施例的示例性有线调制解调器终端系统(CMTS)的示意图;图4是根据本发明的一个实施例的有线调制解调器的示意图;图5A是根据本发明的一个实施例的具有捆绑RF信道的示例性通信系统的高层(high level)示意图;图5B是根据本发明的一个实施例的具有组合器的示例性通信系统的高层(high level)示意图;图6是根据本发明的一个实施例的示例性通信系统的高层(high level)示意图,该通信系统中,通过使用下层捆绑和上层捆绑来捆绑RF信道;图7是根据本发明的一个实施例的具有多个传送器的示例性通信系统的高层示意图;图8是根据本发明的另一个实施例的具有多个传送器的示例性通信系统的高层(high level)示意图;图9是根据本发明的一个实施例的调度数据分组传输的方法流程图;图10是根据本发明的一个实施例的分配数据分组的方法流程图;图11是根据本发明的一个实施例的监控拥塞的方法流程图;图12是根据本发明的一个实施例的通信系统的示意图;图13是根据本发明的一个实施例的传输下行数据分组的操作流程示意图;图14是根据本发明的一个实施例的DSSM数据分组各层的MAC层数据分组格式的示意图;图15是根据本发明的另一个实施例的DSSM数据分组各层的MAC层数据分组格式的示意图;图16是根据本发明的一个实施例的MAC层数据分组的MPEG报头的示意图;图17是根据本发明的一个实施例的接收下行数据分组的操作流程示意图;图18是根据本发明的另一个实施例的接收下行数据分组的操作流程示意图;图19是根据本发明的另一个实施例的通信系统的示意图;图20是根据本发明的一个实施例的下行调度的操作流程示意图;图21是根据本发明的一个实施例的非DSSM和DSSM数据分组的调度的示意图;图22是根据本发明的一个实施例的动态下行调度的操作流程示意图;图23a-23c是根据本发明的另一个实施例的动态下行调度的操作流程示意图;图24是根据本发明的另一个实施例的非DSSM和DSSM数据分组的调度的示意图;图25是由开放系统互联(OSI)参考模型定义的系统的各系统层的示意图。
具体实施例方式
虽然文中描述的本发明的实施例涉及包括有线调制解调器终端系统和有线调制解调器的有线调制解调器系统,但相关领域的技术人员显然能意识到,本发明也能够应用到其它通信系统,包括但不限于卫星系统、光通信系统、有线电话系统和/或以上的任意组合。相关领域的技术人员显然会意识到,本发明能够应用于任何的点-多点系统。
1.0概论图1示出了根据本发明的一个实施例的示例性通信系统100的高层(highlevel)示意图。通信系统100以基于数据分组的通信(例如互联网协议(IP)通信)的双向传输为基础,能够进行语音通信、音频通信、数据业务、视频、消息、图像、其它类型的媒体和/或多媒体通信,或者以上的任意组合。
参考图1,通过通信网络106在有线电视系统头端102和多个有线调制解调器108a-108n之间进行数据分组通信的双向传输。例如,通信网络106可包括光纤和同轴混合线缆(HFC)网络。通信网络106能够支持有线的和/或无线的传输媒介,包括卫星、陆地(例如光纤、铜缆、双绞线、同轴等)、无线电波、微波、自由空间光的和/或任何其它形式的传输方法。在一个实施例中,通信网络106包括支持频率叠加架构(frequency stacking architecture)的变频装置。
有线头端102通常包括至少一个有线调制解调器终端系统(CMTS)104。CMTS104是有线头端102的一部份。有线头端102管理有线头端102和有线调制解调器108a-108n之间的数据上行和下行传输,其中,每个有线调制解调器108a-108n都位于各自的用户端上。CMTS104根据时分复用(TDM)技术,将信息下行广播到有线调制解调器108a-108n,形成连续传输的信号。可使用运动图像专家组(MPEG)传输转换子层(transmission convergence sublayer)来格式化这些下行信号,但是本发明不局限于这种方案。例如,正如相关领域技术人员所意识到的,可对本发明的实施方案进行配置以使其支持其它的数据格式。
此外,CMTS104通过多个共享的上行信道接收来自有线调制解调器108a-108n的数据。来自有线调制解调器108a-108n的上行数据可采用时分多址(TDMA)技术或者同步码分多址(S-CDMA)技术进行传输。
例如,CMTS 104可通过向有线调制解调器108a-108n分别传输上行信道描述符(upstream channel descriptor,UCD)消息和MAP消息来建立上行时隙结构以及分配上行带宽。CMTS 104还可使用MAP消息和时隙计数值来预测来自有线调制解调器108a-108n的脉冲到达。在一个实施例中,UCD和MAP消息由DOCSISTM规范定义,DOCSISTM规范由CableLabs制定,它规定了有线通信系统的接口要求。
根据实施例,CMTS 104连接多达4个相邻的6兆赫兹(MHz)的载波,每个载波是完全兼容DOCSIS-2.0的下行信道。连接到CMTS 104的载波不必相邻。应当知道,对于不同的系统架构,其载波的数量和载波的规范可以是不同的。例如,按照欧洲标准,CMTS 104可连接多个8Mhz的载波。
如图1所示,CMTS 104还作为通信网络106和分组交换网络112之间的接口,在适当时候,将从有线调制解调器108a-108n接收的数据分组传输给分组交换网络112,以及将从分组交换网络112接收的数据分组传输给有线调制解调器108a-108n。
分组交换网络112是有线、无线或者组合有线与无线的局域网(LAN)、广域网(WAN)和/或光网络(例如组织内部互联网、本地互联网、全球互联网(包括万维网(WWW))、虚拟专用网等)的一部份。CMTS 104使用分组交换网络112与外接到通信系统100的其它设备或应用程序通信。所述设备或应用程序可以是服务器、网页浏览器、操作系统、其它类型的信息处理软件(如字处理软件、电子制表软件、财务管理软件等)、电视机或无线电发射机、其它的有线调制解调器108、其它的CMTS 104等。
除了CMTS 104之外,有线头端102还包括用于在进CMTS 104和分组交换网络112之间建立连接的一个或多个路由器,以及为执行必须的网络管理任务所需的一个或多个服务器。作为其它的例子,头端102还可以包括一个或多个卫星接收器、视频调制器和/或电话交换机。
每一个有线调制解调器108a-108n都可作为与其相连的用户设备110a-110n与通信网络106之间的接口。具体来说,每个有线调制解调器108a-108n将通过通信网络106接收的下行信号转换成IP数据分组,再传送给对应的与其相连的用户设备110a-110n。可以对有线调制解调器108a-108n进行配置,以传输一种或多种业务给用户设备110a-110n。这些业务包括但不限于电话、电视广播、付费电视、互联网通信(如WWW)、无线电广播、传真、文件数据传输、电子邮件服务(email)、消息、视频会议、实时或延时媒体传播(例如演讲、辩论、表演、商业信息片、新闻报告、体育赛事、音乐会等)和/或类似业务。
此外,每个有线调制解调器108a-108n可以将从对应的用户设备110a-110n接收的根据IP或者其它适合的协议(如异步传输模式)打包的数据转换成适宜在通信网络106上传输的上行脉冲信号。上行被分割成一个或多个上行信道。每个上行信道承载从有线调制解调器108a-108n传向CMTS 104的数据分组脉冲。在上行中,每个信道被分成多个可分配的时隙,有线调制解调器108a-108n将一个脉冲信号发送到一个被分配的时隙中。如上所述,时隙结构由CMTS 104定义和分配。
参考图1,为使附图清晰,图中每个有线调制解调器108a-108n只支持一个用户设备。但是,通常每个有线调制解调器108a-108n都能够支持多个用户设备以在通信系统100上进行通信。这些用户设备可以是个人计算机、数据终端设备、电话设备、宽带媒体播放器、网络控制器,或者其它能够在分组交换网络上传输和接收数据的设备。
根据一个实施例,CMTS 104和有线调制解调器108a-108n联合起来,以支持互联网协议(IP)、传输控制协议(TCP)、用户数据协议(UDP)、实时传输协议(RTP)、资源预约协议(RSVP)等协议。
在一个实施例中,有线调制解调器108a-108n和CMTS 104是兼容DOCSISTM的有线调制解调设备。换言之,有线调制解调器108a-108n和CMTS 104用于根据DOCSISTM规范提供的协议和/或格式进行通信。
通信系统100提供CMTS 104和有线调制解调器108a-108n之间的下行同步多信道(downstream synchronous multichannel,DSSM)通信。在本文中,将支持DSSM通信的设备或装置称为“可支持DSSM(DSSM-capable)”;将不支持DSSM通信的设备或装置称为“不支持DSSM(非DSSM-capable)”。例如,“不支持DSSM”的设备或装置包括“遗留有线调制解调器”(“legacy cablemodem”)。这样,本发明完全将“遗留(legacy)”和“可支持DSSM”设备的操作和/或管理结合起来,这两种设备都能够在相同的通信网络中进行通信。
图2是根据本发明的一个实施例的示例性光纤和同轴混合线缆(HFC)网络200的示意图,该网络支持数据在头端102和有线调制解调器108a-108n之间的传输。例如,有线运营商通常使用通信网络106为用户提供互联网访问、有线电视和/或付费节目业务。
在图2所示的例子中,通信网络106中的每个节点220大概与500个有线调制解调器108电连接。在图2的实施例中,有线调制解调器108通过同轴电缆230连接到节点220。通信网络106包括放大器240,例如,这种放大器支持例如较远距离的有线调制解调器108与节点220之间的电连接。对电信号进行放大可以提高头端102和有线调制解调器108之间的通信的信噪比(SNR)。同轴电缆230a-230d通过同轴电缆230f、230g电连接到有线调制解调器108,而同轴电缆230f、230g连接在放大器240和节点220之间。
每个节点220都电连接到集线器250,通常通过光纤260连接。集线器250通过光纤270与头端102进行通信。每个集线器250通常能够支持与20,000个有线调制解调器108进行通信。
连接在头端102和每个集线器250之间的光纤270构成一个光纤环,该光纤环通常能够支持约100,000个有线调制解调器108与头端102之间的通信。头端102能通过传输线路280与互联网、其它头端和/或任何其它的合适设备或网络进行通信。例如,传输线路280可以是T1线路或T2线路。
图3是通信系统100的CMTS 104的示例性实施例的示意图。该示例性实施例用于举例,不限制本发明的范围。CMTS 104既可处理物理(PHY)层的信号,又可处理媒介访问控制(MAC)层的信号。CMTS 104包括CMTS MAC 310,其为MAC层的每个分组功能提供硬件支持,这些功能包括例如分片(fragmentation)、级联(concatenation)、有效载荷报头压缩/扩充,和/或检错功能。提供这些支持将减少系统中央处理单元(CPU)320的处理量,而系统CPU320可用于提高CMTS104的整体性能。
CMTS MAC 310的上行处理器312执行数据加密标准(DES)加密、分片重组、解串联、有效载荷扩充、分组加速、上行管理信息库(managementinformation base,MIB)统计收集,和/或对所得结果分组进行优先排队。每个输出队列都被独立配置,以将数据分组提供给外设部件互连(PCI)接口或千兆媒介独立接口(GMII)(未示出)。
CMTS MAC 310的下行处理器314接收优先队列中的数据分组,并根据DOCSISTM规范进行有效载荷报头压缩、DOCSISTM报头创建、DES加密、循环冗余校验(CRC)、报头校验序列的创建,及运动图像专家组(MPEG)封装和/或复用。在一个实施例中,下行同步动态随机访问存储器(SDRAM)330用于支持对从CMTS MAC 310接收的输出队列的数据进行分组、处理和存储。
当CMTS MAC 310处理完信号后,存储器392能够与CMTS MAC 310进行交互以存储这些信号。存储器392也能存储用于支持CMTS MAC 310的处理操作的各种辅助数据。这些辅助数据分组括但不限于安全协议、标识符、规则、策略等,下面将更加详细的描述。
根据一个实施例,存储器392存储将要在一个或多个处理器或硬件辅助设备(如现场可编程门阵列(FPGA)或特定用途集成电路(ASIC))上运行的软件应用程序。例如,该一个或多个处理器将使用该软件应用程序来处理从CMTSMAC 310接收的控制消息、语音和/或数据。在一个实施例中,软件应用程序包括分类器/路由器和带宽(BW)分配控制器。BW分配控制器管理上行和/或下行调制以及带宽分配。分类器/路由器为与有线调制解调器108进行的通信提供分类和/或优先排序的规则和策略。分类器/路由器也将来自有线调制解调器108的信号通过分组交换网络112路由到目的地。
在一个实施例中,通过PCI接口(未示出)和PCI总线340在外部对CMTSMAC 310进行配置和管理。作为一个替代方案,能够使用位于CMTS MAC 310之外的路由/分类引擎350远程地操作CMTS MAC 310。
根据一个实施例,第一和第二上行SDRAM 360用于最小化CMTS 104中的内部总线的延迟。例如,在一个实施例中,第一上行SDRAM 360a可操作地支持密钥(keys)和重组,第二上行SDRAM 360b可操作地支持分组报头压缩(packet header suppression,PHS)和输出队列。
串行外围接口(SPI)主端口(未示出)被用来控制MAC层组件和PHY层组件之间的接口。例如,SPI主端口可用于控制CMTS MAC 310和上行接收器370之间的接口和/或CMTS MAC 310和下行调制器380之间的接口。
CMTS MAC 310产生已调制数据,然后将这些数据传输给一个或多个有线调制解调器108。例如,由CMTS MAC 310产生的数据将由下行调制器380调制到载波信号上,接着由下行发射器390下行传输所述数据。上行接收器370从有线调制解调器108接收信息,该信息是按照TDMA或S-CDMA编码的数据分组的脉冲。
图4是通信系统100的有线调制解调器108的示例性实施例的示意图。该示例性实施例用于举例,不是用来限制本发明。有线调制解调器108被配置以通过同轴连接器405从通信网络106接收信号,或者将信号传输给通信网络106。因此,以下将用术语“接收器部分”和“发射器部分”来描述有线调制解调器108。
接收器部分包括双工(diplex)滤波器410、射频(RF)调谐器415、声表面波(SAW)滤波器420、放大器425和下行接收器430。接收过程从双工滤波器410接收来自CMTS 104的下行信号开始。双工滤波器410分离这些下行信号并将这些信号发送给RF调谐器415。在一个实施例中,下行信号具有54-860MHz的频率范围内的频谱特性。RF调谐器415将信号下转换以及将下转换后的信号提供给SAW滤波器420。SAW滤波器420仅仅使在特定带宽内的下转换后信号的频谱分量通过。放大器425将滤波后的信号放大,以及将放大后的信号传输给下行接收器430。根据一个实施例,在下行接收器430到RF调谐器415之间提供自动增益控制。
下行接收器430解调经放大的信号。例如,下行接收器430根据正交振幅调制(AQM)技术例如64-AQM或256-AQM解调经放大的信号,以恢复原始(underlying)信息信号。下行接收器430也将该原始信息信号从模拟形式转换成数字形式。接着,下行接收器430将数字化的原始信息提供给媒介访问控制(MAC)435。
MAC 435对该数字数据进行处理,例如,这些数字数据分组括将传输给用户设备的以太网数据分组。MAC 435的功能可在硬件、软件、固件或以上的组合中实现。在图4的示例性实施例中,MAC 435的功能是同时在硬件和软件中实现的。随机访问存储器(RAM)455和/或只读随机存储器(ROM)460存储MAC 435的软件功能。CPU 450执行MAC 435的软件功能。MAC 435通过共享通信媒介440与CPU 450、RAM 455以及ROM 460通信。例如,该共享通信媒介可包括计算机总线或者多个数据访问网络(access data network)。
参考图4,MAC 435还通过共享通信媒介440与以太网接口445电连接。在合适的时候,MAC 435将从下行接收器430接收的以太网数据分组传输到以太网接口445,以便传输给其所连接的用户设备。
有线调制解调器108的发射器部分包括上行脉冲调制器465、低通滤波器470、功率放大器475以及双工滤波器410。发射过程从MAC 435接收数据分组开始。根据一个实施例,数据分组包括最初通过以太网接口445从用户设备接收到的数据。在另一个实施例中,作为有线调制解调器网络管理和维护(upkeep)的一部份,MAC 435生成数据分组。MAC 435根据DOCSISTM规范提出的协议格式化这些数据分组。MAC 435将数据分组提供给上行脉冲调制器465。上行脉冲调制器465将数据分组转换成模拟形式以及根据特定的调制技术将数据分组调制到载波信号上。例如,该调制技术可以包括但不限于四分之一相移键控(QPSK)技术、8-QAM技术、16-QAM技术、32-QAM技术、64-QAM技术。
上行脉冲调制器465将调制后的载波信号提供给低通滤波器(LPF)470。LPF 470一般通过具有期望带宽内的频谱特性的信号,频率范围大概在5-42MHz。功率放大器475将接收自LPF 470的信号放大,并将放大后的信号提供给双工滤波器410。上行脉冲调制器465通常调整功率放大器475的增益。双工滤波器410将放大后的信号分离,以及在预定的脉冲时机内通过通信网络106上行传输放大后的信号。
2.0下行多信道图25示出了由开放系统互联(OSI)参考模型定义的系统(例如通信系统100)层结构的示意图。参考图25,通信系统100包括通信源(trafficsource)2580、CMTS栈2510、CM栈2520以及CPE 110。通信源2580可以是网页浏览器、呼叫服务器、视频服务器、数据库服务器、电话、对等连接的终点或者任何的适合的源。CPE 110可以是用户个人计算机(PC)、网络(如LAN、WAN)、IP语音(VOIP)的专用分组交换(PBX)盒、IP电话机、路由器、企业内部互联网等。
下行传输流是从通信源(traffic source)2580的应用层2530a、TCP或UDP2540a,或IP层2550a经过CMTS栈2510和CM栈2520到达CPE 110的IP层2550b、TCP或UDP 2540b或应用层2530b。下行传输流从通信源2580经过分组交换网络112到达CMTS栈2510。例如,分组交换网络112可以包括CMTS网络侧接口(CMT8-Network Side interface,CMTS-NSI)。在CMTS栈2510中,下行传输流经层2560a、IP层2550c以及层2570a。下行传输流从CMTS栈2510经由一个或多个RF信道550到达CM栈2520。在CM栈2520中,下行传输流过层2560b、IP层2550d以及层2570b。下行传输经由接口,例如有线调制解调器到用户终端设备(CMCI)接口(SP-CMCI-108-020830),从CM栈2520流到CPE 110。下行传输流经过CPE 110层到IP层2550b、TCP或UDP层2540b或应用程序2530b。
上行传输流是从CPE 110的应用层2530b、TCP或UDP 2540b,或IP层2550b经由CM栈2520和CMTS栈2510到达通信源2580的IP层2550a、TCP或UDP2540a,或应用层2530a。例如,上行传输从CPE 110经由CMCI接口流到CM栈2520。在CM栈2520中,上行传输流过层2570b、IP层2550c以及层2560b。上行传输经由一个或多个RF信道550从CM栈2520到达CMTS栈2510。在CMTS栈2510中,上行传输流过层2570a、IP层2550c以及层2560a。上行传输经由分组交换网络112从CMTS栈2510流到通信源2580。上行传输流经过通信源2580层,到达IP层2550a、TCP或UDP层2540a,或应用层2530a。
信息以数据分组的形式在通信系统100的各层之间传输。通信流(flow)是多个数据分组,这些数据分组的组合构成了视频、图像、动画应用程序、文本应用程序、表格、文件传输协议(FTP)应用程序等。通信系统100的UDP层2540之间的通信流(flow)称为流(stream)。通信系统100的TCP层2540之间的通信流(flow)称为会话(session)。这里所用的“通信流”(flow)一般定义为兼容UDP、TCP和/或其它任何合适的协议。
图5A根据本发明的一个实施例的具有捆绑的RF信道550的示例性通信系统100的高层示意图。在图5A中,头端102和有线调制解调器108通过RF信道550连接。头端包括传送器(forwarder)510和多个边缘调制器520a-p。例如,在一个方案中,边缘调制器520a-p与CMTS 104组合在单个盒体或底架中。在另一方案中,边缘调制器520a-p和CMTS 104设置在不同的盒体或底架中。在另外一个方案中,边缘调制器520a-p设置在不同的盒体或底架中。
边缘调制器520a-p能够使用任何适合的调制技术或者这些调制技术的组合。在第一实施例中,边缘调制器520a-p是边缘正交幅度调制器(边缘QAM)。在第二实施例中,边缘调制器520a-p是边缘正交频分复用调制器(边缘OFDM)。传送器510通过对应的以太网链路540连接到每个边缘调制器520。每个边缘调制器520包括调制器530,并通过对应的RF信道550连接到有线调制解调器108。
参考图5A,CPE 110的用户可以点击网页的链接,该链接能够加载多种应用程序,例如FTP、文本、一个或多个图像、表格和/或动画的应用程序。可以为每种应用程序创建独立的通信流。例如,可以为每个被加载的图像创建独立的通信流。一般而言,可以为每个用户创建多个通信流。
虽然图5A所示的通信系统100包括单个用户/CPE 110,但是通信系统100能够包括多个用户/CPE 110。不同的用户可以关联不同的服务质量(QoS)要求。如果第一用户在第二用户点击某个链接之前点击一个链接,也许该第一用户不一定需要比第二用户更先接收到与自己所点击的某个链接关联的通信流。
如果网页浏览器请求文字,接着请求图像,那么,可以传输图像流之后再传输文字流。但是,合适的传输要求该文字流中的文字能够被用户以适当的顺序接收。TCP通常给通信流中的数据分组排序,但UDP通常不排序。例如,UDP可能丢弃次序紊乱的数据分组。在通信系统100的下层中数据分组可以按顺序传输,而不管在上层是否按顺序传输这些数据分组。
在图5A中,可通过任何一个或多个捆绑RF信道550来传输数据分组。捆绑RF信道表示设备之间的多个物理路径。在图5A的实施例中,捆绑的RF信道550表示传送器510和有线调制解调器108之间的多个物理路径。捆绑RF信道550在逻辑上是相连的,这样,通信系统100的上层将捆绑RF信道550视为单个路径。换言之,上层将捆绑RF信道550视为具有扩展(expanded)带宽的单个信道,而不是各自具有其相关带宽的多个RF信道。
参考图25,术语“上层”是相对的,取决于参考点的层。根据一个实施例,“上层”定义为IP层2550以上的层。如果IP层2550是参考层,那么上层就包括TCP/UDP层2540以及应用层2530;下层包括CMTS栈2510左列2560a的层和右列2570a的层,以及CM栈2520的左列2560b的层和右列2570b的层。
捆绑包括上层捆绑、下层捆绑或者上、下层组合捆绑,其中,上层捆绑发生在通信系统100的上层(例如传送器510),下层捆绑发生在通信系统100的下层(例如边缘调制器520)。例如,上层捆绑可以发生在IP层2550上、TCP/UDP层与IP层2550之间,或者IP层2550和802.2层之间。例如,下层捆绑发生在电缆MAC层和下行(DS)TC层之间。
与上层捆绑相比,下层捆绑更具有优势。下层捆绑由于相对低的延迟变量,所以有更低的延迟。例如,与上层捆绑相关联的传输相比较,下层捆绑相关联的传输基本上是同步的。下层捆绑中使用的缓冲器通常不需要象上层捆绑中所用的缓冲器那么大。通过下面的讨论,单独实施的或是组合实施的上层捆绑和下层捆绑的优点将更加明显。
2.1上层捆绑在图5A中,传送器510执行传送功能,例如对将要通过对应的以太网链路540传输给一个或多个边缘调制器520的通信流进行调度。传送器510将每个通信流分配到特定的一个RF信道550或者一组RF信道550上。根据实施例,传送器510执行一种或多种MAC功能。
图5A中,出于举例目的,每个边缘调制器520与单个RF信道550关联,但是,每个边缘调制器520能与合适数量的RF信道550关联。因此,图5A中,分配到调制器520的通信流将通过与该调制器520关联的RF信道550传输给CM 108。例如,传送器510给指定的调制器520提供端口号、通信流中的数据类型和/或该通信流将传送到的应用程序。
传送器510被配置以将通信流传输到任何一个或多个边缘调制器520a-p中。连接到边缘调制器520a-p的RF信道550a-p,称为捆绑的,可称为“超捆绑组”。这类型的捆绑是“上层”捆绑。
上层捆绑可以用是基于数据分组的或基于通信流的。在基于数据分组的上层捆绑中,传送器510以数据分组为基础(on individual basis)将数据分组分配到通信系统100的一个或多个RF信道550。数据分组的分配与数据分组所在的通信流无关。例如,可将通信流的第一数据分组分配到RF信道550m,将该通信流的第二数据分组分配到RF信道550e,将该通信流的第三数据分组分配到RF信道550j等等。可以基于边缘调制器520的队列负荷或者其它合适的考虑来分配数据分组。在基于数据分组的上层捆绑中,CM 108或其它一些设备必须以合适的顺序排列通信流中的数据分组。因此,与基于通信流的上层捆绑相比,基于数据分组的上层捆绑需要更多的缓冲,导致CM 108的反应缓慢。
在基于通信流的上层捆绑中,传送器510将不同的通信流分配到不同的边缘调制器520、以太网链路540、RF信道550等。因为每个通信流都是独立的,所以CM 108在等待来自第二RF信道550的数据分组时,不必缓冲来自第一RF信道550的数据分组,以使通信流中的数据分组能够按顺序放置。虽然从传送器510到CM 108之间,不同的路径(如RF信道550、以太网链路540等)有不同的延迟,但这些不同的延迟对CM 108的影响是不明显的。
下面还参考基于通信流的上层捆绑对上层捆绑进行进一步的描述,但本发明的范围不局限这种情况。传送器510确定某一个或多个通信流将要传输到哪个边缘调制器520。当传送器510基于每个以太网链路540、边缘调制器520、RF信道550等的负载情况来分发通信流时,其也称为负载平衡。例如,传送器510能够根据被调度给每个边缘调制器520或者给特定边缘调制器520进行调制的数据的量做决定。例如,由于边缘调制器520p队列中的数据比其它边缘调制器520a-o的要少,所以传送器510会将通信流分配给边缘调制器520p。
边缘调制器520基于通信流相关的信息执行正交幅度调制。在图5A中,示例性地示出通信系统100包括16个边缘调制器520,当然通信系统100也可以包括任何合适数目的边缘调制器520。
调制器530能够执行MPEG成帧功能,例如,与从传送器510接收的通信流的数据分组有关的成帧功能。调制器530可以执行一种或多种MAC功能。响应正在由调制器530调制的通信流的数据分组,该通信流通过RF信道550被传输给有线调制解调器108。有线调制解调器108再将通信流转发到CPE 110。
根据本发明的一个实施例,不同的RF信道550与不同的频率关联。例如,不同的调制器520可能以不同的频率在RF信道550传输通信流。在图5B的实施例中,RF信道550被组合到同轴电缆560中,当然也可以将RF信道550组合到其它合适的传输媒介中。图5B中,通信系统100包括连接在边缘调制器520和同轴电缆560之间的组合器570。组合器570对从边缘调制器520接收的信号进行组合,并以不同的频率通过已经组合到同轴电缆560的RF信道550传输这些信号。同轴电缆560连接到有线调制解调器108。有线调制解调器108从同轴电缆560接收通信流,并将通信流传输给CPE 110。
图6是根据本发明的一个实施例的示例性通信系统100的高层示意图,其中,RF信道550使用下层捆绑和上层捆绑方案进行捆绑。参考图6,出于举例目的,通信系统100包括四个边缘调制器520a-d。每个边缘调制器520通过对应的以太网链路540从传送器510接收已经打包的通信流。每个边缘调制器520包括一个或多个调制器530。作为示例,图6所示的每个边缘调制器520包括4个调制器530,当然每个边缘调制器520可包括任意适当数目的调制器530。各个边缘调制器520不需要包括相同数目的调制器530。
与特定的边缘调制器520关联的RF信道550称为RF信道550的群组610。群组610a与边缘调制器520a关联,群组610b与边缘调制器520b关联,等等。在一个实施例中,传送器510将通信流的所有数据分组分配给一个边缘调制器520。例如,将视频流中的所有数据分组都传输到单个边缘调制器520,而不是将视频流中的各部分分配给不同的边缘调制器520。
将通信流中的所有数据分组分配给一个特定的边缘调制器520可减少或者消除对来自群组610的数据分组按顺序放置(即,重组数据分组流)的需求。不对通信流中的数据分组进行重组可以节省时间和金钱。例如,流的重组需要对数据分组进行缓冲,直到有线调制解调器108检测到下一个连续的数据分组。通信流中的数据分组的无序接收将导致延迟。将通信流中的所有数据分组分配给一个群组610,能减小或消除与上层捆绑有关的延迟。
上层捆绑可以在没有下层捆绑的情况下实施,如图5A和图5B所示。但是,与通过RF信道550传输的通信流相比,RF信道550可能相对较窄。例如,传送器510在RF信道550d上传输50兆字节(Mbits)的流视频通信流,例如高清(HD)视频。RF信道550d的带宽是40Mbits。在这个例子中,单个通信流占用RF信道550d的一半带宽。与RF信道550的带宽相比,传输这么大的通信流不是最优方案的。通信流大小与RF信道带宽的高比值将对通信系统100的效率产生负面影响。
传送器510分配通信流时尝试将通信流充分均匀地分配到RF信道550中。在传送器510看来,连接到下层捆绑RF信道550的以太网链路540具有增加的带宽。以太网链路540的带宽等于所有捆绑RF信道550的带宽总和。因此,下层捆绑在通信系统100的上层是透明的。例如,传输器510将RF信道550e-h的群组610b看成单个RF信道,该单个RF信道带宽等于RF信道550e-h的带宽总和。
上面的实施例中,下层捆绑提供了包含4个RF信道550的群组610,该群组610的总带宽是4×40Mbits=160Mbits。因此,组合下层捆绑和上层捆绑,如图6所示,在传输相对大的通信流时,提供了更大的灵活性。与仅仅使用上层捆绑进行捆绑的RF信道550相比,既使用下层捆绑又使用上层捆绑的RF信道550能够传输更多的通信流。
参考图6,传送器510根据4个扩展路径(即以太网链路54a-d)做出负荷平衡决定,而不是根据如图5A和5B所示的16个窄路径。根据一个实施例,使用四个扩展路径使得传送器510能够更有效地进行负荷平衡。
与使用非捆绑的RF信道相比,捆绑RF信道使通信系统100能够支持更多用户/CPE 110。与单个的RF信道550相比,RF信道550的群组610获得更多的统计复用增益。例如,在一些特定的服务质量(QoS)下,具有B Mbits带宽的RF信道550能够支持多达N个用户。QoS以充分支持数据速率、访问延迟、拥塞概率等有关需要的假定为基础。在一定程度上,通信量可能会突发(bursty)。如果RF信道550与另一个RF信道550组合,形成一个带宽为2BMbps的群组610,那么由于统计复用增益,群组610在该特定的服务质量(QoS)下能够支持多于2N个用户。增益值取决于通信量的突发。与单个信道550相比,与RF信道550的群组610相关的统计复用增益G可表示为G=N(r*B)-r*N(B)r*N(B)+1]]>其中,r>1,N(x)是带宽为x的RF信道在特定QoS下所支持的最多用户的数量。
参考图6,被分配到一个边缘调制器520的通信流可被重新分配到另一个边缘调制器520。例如,如果某个通信流最初被分配到边缘调制器520b,而边缘调制器520b变得拥塞,那么,可将该通信流中尚未传输到边缘调制器520b的数据分组重新分配给其它边缘调制器520a、520c或520d。这样,到边缘调制器520b的通信流传输将会终止,通信流中剩余的数据分组将传输到边缘调制器520a、520c或520d。
将通信流从边缘调制器520转到边缘调制器520a、520c或520d将导致有线调制解调器108接收到一个或多个无序的数据分组。可使用多种方法来重组该通信流。根据一个实施例,传送器510等待预定的时间后才开始将通信流中剩余的数据分组传输给边缘调制器520a、520c或520d。如果以太网的最大延迟是5毫秒(ms),那么传送器510在将通信流中的数据分组传输给边缘调制器520b后,至少等待5ms,才开始将数据分组传输给边缘调制器520a、520c或520d。在另一个实施例中,传送器510在传输数据分组之前,对通信流中的数据分组进行编号。
通信系统100可以包括多个传送器,而不是如图5和图6所示的单个传送器。图7是根据本发明的一个实施例的具有多个传送器510a和510b的示例性通信系统100的高层示意图。分组交换网络112连接到传送器510a和510b。传送器510a和510b通过链路710实现互连。链路710可以是以太网链路,但本发明不局限于这种情况。
在图7中,传送器510a连接到边缘调制器520a和520b。传送器510a根据边缘调制器520a和520b的拥塞情况,将数据分组分配到边缘调制器520a和520b。例如,传送器510a将第一通信流分配给边缘调制器520a,将第二通信流分配给边缘调制器520b。传送器510b连接到边缘调制器520c和520d。传送器510b确定将一个或多个通信流传输给边缘调制器520c或520d中的哪一个。
图8是根据本发明的一个实施例的具有多个传送器510a-d的示例性通信系统100的高层示意图。在图8中,分组交换网络112连接到每个传送器510。每个传送器510都连接到对应的边缘调制器520。每个传送器510确定是否将一个或多个通信流传输给对应的边缘调制器520。链路710提供传送器510之间的连通性。
图9是根据本发明的一个实施例的数据分组传输的调度方法的流程图900。但是,本发明不局限于流程图900所描述的这种情况。相关领域的技术人员根据这里的教导将知道,其它功能流程也将落入本发明的实质范围内。
以下将继续结合图5A所示的示例性通信系统100对流程图900进行描述,但本方法不局限于该实施例。
现在返回图9,传送器510确定一个或多个边缘调制器520上的拥塞情况,如步骤910所示。传送器510基于所述的拥塞情况调度数据分组的传输,如步骤920所示。例如,传送器510对一个或多个通信流进行调度,将其传输给拥塞低于临界值的边缘调制器520。例如,这一临界值可以是预定的,或者根据通信系统100的整体拥塞情况而确定。
图10是根据本发明的一个实施例的分配通信流的方法的流程图1000。但是,本发明不局限于流程图1000所提供的描述。相关领域的技术人员根据这里的教导将知道,其它功能流程也落入本发明的实质范围内。
以下将继续参考图5A所示的示例性通信系统100对流程图1000进行描述,但本方法不局限于该实施例。
现在参考图10,传送器510确定通信系统100中,与通信系统中的其它边缘调制器520相比,哪个边缘调制器520的队列中的通信流最少,如步骤1010所示。在步骤1020中,传送器510将一个或多个通信流分配给其队列中通信流最少的边缘调制器520。传送器510将所分配的通信流传输给该边缘调制器520。根据边缘调制器520的拥塞情况,传送器510也可以缓冲已分配的通信流,以便稍后传输。例如,如果边缘调制器520的拥塞超过了临界值,那么传送器510将缓冲已分配的通信流。
图11是根据本发明的一个实施例的监控拥塞情况的方法流程图1100。但是,本发明不局限于流程图1100所提供的描述。相反,相关领域的技术人员根据这里的教导将知道,其它功能流程也落入本发明的实质范围内。
以下将继续参考图5A所示的示例性通信系统100对流程图1100进行描述,但本方法不局限于该实施例。
参考图11,传送器510将通信流中的一个或多个数据分组传输给第一边缘调制器520,如步骤1110所示。步骤1120中,传送器510确定第一边缘调制器520的拥塞情况。决策步骤1130中,如果拥塞情况超出了拥塞临界值,那么,传送器510停止向第一边缘调制器520传输所述通信流中的数据,如步骤1150所示。步骤1160中,传送器510开始向第二边缘调制器520传输所述通信流中的数据分组,流程结束。
决策步骤1130中,如果拥塞情况没有超出拥塞临界值,那么,在决策步骤1140中,传送器确定所述通信流中的所有数据分组是否已经传输完毕。如果所述通信流中的所有数据分组已经传输完毕,那么,流程结束。否则,控制流程返回到步骤1110,将所述通信流中的一个或多个数据分组传输给第一边缘调制器520。
2.2下层捆绑边缘调制器520通过与其对应的群组610中的一个或多个RF信道550将通信流中的数据分组传输给有线调制解调器108。群组610中的RF信道550被称为“捆绑的”,可称为一个群组。这种捆绑是“下层捆绑”。下层捆绑的优点是,重组通信流(其包括已经被分割到多个RF信道的数据分组)的延迟是不显著的。根据一个实施例,这种延迟是可忽略的。因此,下层捆绑是以数据分组为基础的。
在图12中,通信系统100包括一个或多个广泛分布的远程通信节点108a-108d(例如有线调制解调器),这些节点连接到节间基础架构106。示例性地,节间基础架构106包括4个下行信道,但本发明不局限于这种情况。通信系统100还包括结合图3所描述的软件应用程序1230。通信系统100可在任何多媒体分布网络中实施。此外,应当意识到,本发明的方法和系统能管理语音、数据、视频、音频、消息、图像、其它形式的媒体和/或多媒体以及以上的任意组合的交换。
参考图12,“非DSSM capable”和“DSSM capable”通信节点108的操作和/或管理被整合到相同的通信系统100中。在一个实施例中,远程通信节点108a-108b是“DSSM capable”的,远程通信节点108c-108d是“非DSSM capable”的(例如遗留的有线调制解调器)。根据各种系统架构,“非DSSM capable”和“DSSM capable”远程通信节点108的数量是可以改变的。图12所示的4个远程通信节点108是用于举例说明,本发明也可以使用更少的或更多的远程通信节点108。
2.2.1 DSSM通信的操作流程在一个实施例中,通信系统100包括用于“非DSSM-capable”远程通信节点108c-108d和“DSSM-capable”远程通信节点108a-108b的混合通信的方法和/或技术。这可以结合附图13进行阐述。图13示出了本发明的一个实施例的一般操作流程。更具体地,流程图1300示出了将DSSM数据分组传输给DSSM-Capable和/或非DSSM-capable远程通信节点108的示例性控制流程。但是,本发明不局限于流程图1300所提供的描述。相反,相关领域的技术人员根据这里的教导将知道,其它功能流程也落入本发明的实质范围内。
下面将继续结合图12所述的示例性通信系统100来阐述流程图1300,但本方法不受该实施例所限制。
流程图1300的控制流从步骤1301开始,并直接转到步骤1303。步骤1303中,读取数据分组以进行下行处理。头端102接收已经被分配以打包和传输给终端用户的信息(例如包括来自用户业务的控制消息和数据),所述终端用户通信地连接到远程通信节点108。
步骤1306中,实施协议处理以准备下行的数据分组。协议处理包括有效载荷报头抑制、数据加密标准(DES)加密等。在一个实施例中,协议处理遵循DOCSISTM2.0协议的要求,包括创建具有扩展报头(EHDR)、报头校验和(HCS)等的“规则”DOCSISTM报头。如上所述,协议处理可由MAC 310执行。
在步骤1309中,确定是将数据分组将发送到DSSM-capable远程通信节点108a-108b还是发送到非DSSM-capable远程通信节点108c-108d。对于非DSSM-capable数据分组,控制流转到步骤1312。否则,控制流转到1318。
步骤1312中,对非DSSM数据分组进行成帧和封装。在一个实施例中,创建封装报头用以表明该数据分组是非DSSM数据分组。因此,原始的数据分组封装在新的“外部”报头后面。
步骤1315中,在下行的单个信道上(即,在节间架构106上)将数据分组传输到所有的远程通信节点108。
步骤1318中,为DSSM传输准备数据分组。将数据分组分成预定数量的块(piece)。在一个实施例中,该预定数量与可用的下行信道的数量匹配。如上面结合图12所述,头端102包括与四个远程通信节点108通信的4个载波。同样,通信系统100中有4个下行信道对DSSM-capable远程通信节点108a-108b来说是可用的。为进行示例说明,本发明是参照4个相同的信道来阐述的,但实际上信道的数量是可以变化的,这由系统架构所确定。可以使用更多的或更少的信道。
在一个实施例中,使用字节级(byte-level)分割来产生预定数量的块(piece)。这样,步骤1309中所得到的数据分组按照数据分组被接收时的顺序被分到四个可用的信道上,每次一个字节。例如,数据分组的第一字节变成信道0的协议数据单元(PDU)的第一字节,数据分组的第二字节变成信道1的PDU的第一字节,数据分组的第三字节变成信道2的PDU的第一字节,数据分组的第四字节以相同的方式进入信道3;该原始数据分组的第五字节变成信道0的PDU的第二字节,第六字节进入信道1,等等。结果是四个块,这四个可用的信道中每个信道一个块,这四个块的长度均为1字节以内(all withlengths within a byte of each other)。
在另外一个实施例中,使用数据分组级(packet-level)分割来生成预定数量的块。这样,步骤1309中得到的数据分组被分成四单位的MPEG数据分组。例如,第一部分(如数据分组的最先183个字节)变成信道0的PDU,第二部分(例如接下来的183字节)变成信道1的PDU,以此类推。每个单元,也就是每个块(piece),同时在这4个可用的信道上发送。在另一个实施例中,如果实施了数据分组级分割,那么,PDU可以是相同的大小,但是,在远程通信节点108增加缓冲的情况下,在各信道之间的同步要求将不严格。
这里所描述的字节级分割和数据分组级分割是用于举例说明,本发明不局限于这种情况。其它的分割技术也能用于本发明的其它实施例中,也能用于生成多个将要在充分相同的时间内发送到多个可用信道的多个数据分组块。假定这四个信道是相同的(例如相同波特率、调制顺序、交错设定(interleaversettings))。如果可用的信道不相同,那么,按照明确的顺序将字节分配到信道中,以使重组具有确定性,并且所有的块都以充分相同的时间发送到下行信道上。在一个实施例中,根据信道速率将字节分配到每个信道,而不是上述的“轮替(round robin)”分配。例如,如果使用了字节级分割并且信道B比信道A快1倍,那么,将一个字节发送给信道B,接着将两个字节发送给信道A,再将一个字节发送给信道B,以此类推。对于任何的信道宽带比率,可以按照相同的方式确定字节在信道上的精确顺序。如果使用了数据分组级分割并且信道B比信道A快1倍,那么,发送给信道B的PDU的字节大小是发送给信道A的PDU的字节大小的两倍。
步骤1321中,将每个块进行成帧以及封装成DSSM数据分组。在一个实施例中,创建一个封装报头以指出该数据分组的字节(在块内)被分到的信道。这样,这四个块中,每个块都被“封装”在它们各自的新“外部”报头后面。
步骤1324中,这四个块被同时传输到下行的四个信道上。这些块都在相同的时间(如时间戳计数器或其它适当的参考标记)开始传输到这四个信道。为了保证每个信道上后续的数据分组也在相同的时间开始传输,使用一种确定的填充算法(padding algorithm)使每个块都使用相同的传输时间。
步骤1327中,如果接收到额外的下行数据分组,那么,控制流返回到步骤1303,流程重复。否则,控制流结束,如步骤1395所示。
如上所述,为区分DSSM数据分组和非DSSM数据分组和/或标识用于传输非DSSM数据分组块的下行信道,要对这些DSSM数据分组和非DSSM数据分组进行封装。因此,本发明包括用于混合DSSM-capable远程通信节点108a-108b和非DSSM-capable远程通信节点108c-108d的通信量(traffic)的机制。这种混合机制使得DSSM通信量能够被非DSSM-capable的远程通信节点108c-108d无声地丢弃。这样,DSSM-capable远程通信节点108a-108b的数据分组不会给非DSSM-capable远程通信节点108c-108d(如遗留有线调制解调器)带来问题。
在一个实施里中,通过封装报头中“预留”的FC类型域来实现本发明的混合机制。FC类型域在DOCSISTM1.1和2.0规范中被定义为“为将来使用而保留”。如果报头的两字节的FC类型被表示为“2’b10”,那么,需要DOCSISTM1.1或2.0有线调制解调器通过使用长度域来无声地丢弃这些数据分组,以略过这些PDU。这样,封装报头的FC类型域中的“2’b10”标记用于将数据分组标识为DSSM数据分组。这种混合机制可通过参考图14进行解释。
图14示出了根据本发明的一个实施例的DSSM数据分组1412各层的MAC层数据分组的格式。如图所示,如上面参考步骤1303所讨论的,读取初始PDU1402为下行传输作准备。PDU 1402包括数据域、目标地址(DA)、源地址(SA)、有效载荷的类型和长度域(T/L)以及为纠错而计算出的循环冗余校验(CRC)值,其中,所述有效载荷的类型和长度域指定有效载荷的字节数量或表示有效载荷的类型。
在协议处理(如步骤1306)中,为PDU 1402创建报头,其包括帧控制(FC)信息、MAC参数(MAC_PARM)、PDU 1402以及协议报头的长度(LEN)、EHDR以及HCS。一旦协议处理结束,所得到的数据分组1404被分成预定数量的块1404a-1404d。如上面参考步骤1318所述的,在一个实施例中基于轮替(roundrobin)分配或其它技术使用字节级分割来生成块1404a-1404d,确保所有的块1404a-1404d下行传输时占用充分相同的时间量。
如图14所示,为数据分组块1404c创建封装报头以将其标记为DSSM数据分组1412。因此,每个块1404a-1404d都接收到一个封装报头,该封装报头包括MAC_PARM域1418、LEN域1420、HCS域1422的信息,以及代表对应块1404a-1404d的PDU。封装报头还包括FC域1408,它指明块1404a-1404d是否是DSSM数据分组1412。如上所述,“预留”的FC类型域1410使用“2’b10”来标注数据分组为DSSM数据分组1412。FC域1408也包括帧控制参数(FC_PARM)1414的信息,这些信息指明块1404a-1404c已经被分配到哪些可用的下行信道(如步骤1318所述)。FC域1408也包括EHDR域1416,EHDR域1416指出是否存在EHDR。
因此,根据本发明一实施例的DSSM数据分组1412是被分成指定数量的块(如1404a-1404d)的数据分组1404的副产品,并使用以下信息封装。FC类型1410被设为“10”,FC_PARM 1414表明被分配的下行信道(如信道号0,1,2或3),EHDR域1416表明不存在EHDR,MAC_PARM域1418设为“0”,LEN域1420表示块1404a-1404d的PDU的大小,HCS域1422如通常一样指定。
相反,根据本发明的一个实施例,使用报头封装非DSSM数据分组,该报头指明FC类型域1410是除了“10”之外的任何值。例如,非DSSM数据分组的FC类型1410可设为“0”、“保留”等。
如上所述,在使用字节级分割将数据分组(如数据分组1404)分割成预定数量的块(如块1404a-1404d)时,FC类型域(如FC类型1410)为本发明提供一种混合机制。在另一个实施例中,通过在MPEG传输/封装报头中使用进程标识符(program identifier,PID)来实现本发明的混合机制。PID域在DOCSISTM1.1和2.0中被定义为“0x1FFF”以指定遗留数据分组(即非DSSM数据分组)。如果13字节的PID域被表示为“0x1FFF”之外的任何值,那么,就要求DOCSISTM1.1和2.0有线调制解调器无声地丢弃这些数据分组。这样,封装报头的PID域的“0x1FFF”标识符用于将数据分组标记为非DSSM数据分组。这种混合机制可参考图15进行解释。
图15示出根据本发明的另一个实施例的DSSM数据分组1412各层的MAC层数据分组的格式。如图所示,如上面参考步骤1303所述,读取初始PDU 1402以为下行传输做准备。在协议处理(如步骤1306)中,为PDU 1402创建报头以产生数据分组1404,数据分组1404随后被分成预定数量的块1504a-1504c。在该实施例中,使用数据分组级分割(如上面参考步骤1318所述的)来产生块1504a-1504c。
如图15所示,为每个块1504a-1504c创建封装报头以将每个块标记为DSSM数据分组1412。每个块1504a-1504c接收一个封装报头,该封装报头包括MPEG报头1506a-1506c(总称为MPEG报头1506)以及序列号1514a-1514c(总称为序列号1514)。MPEG报头1506在MPEG成帧阶段生成,MPEG成帧允许分割数据分组以利用现有的MPEG帧结构。序列号1514实际上是PDU(即,块1504a-1504c)的第一字节,表示所得到的DSSM数据分组1412a-1412c的排序。序列号1514与FC_PARM 1414(上面已经结合字节级分割做过描述)相似,用于帮助确定数据分组的顺序以进行重组。
图16是用于实现本发明的MPEG报头1506的一个实施例。MPEG报头1506包括同步字节1602、传输差错标识符1604、有效载荷单元开始标识符(PUSI)1606、传输优先级1608、PID 1610、传输加扰控制1612、适配域控制1614、连续计数器1616以及指针域1618。
同步字节1602是一个字节的域,通常包括值“0x47”。但是,一些PHY层编码方案(如J.83附录A)可能会修改这个值。
传输差错标识符1604是一个字节的域,用于检错。发送设备发送时赋予该字节为0,如果接收设备在数据分组(如数据分组1412)中检测到错误,该接收设备可将该域设为1。
PUSI 1606是一个字节的域。PUSI 1606被设定之后表示存在指针域1618,该指针域1618指向数据分组(如数据分组1412)中新的DOCSISTM帧开始的地方。
传输优先级1608是一个字节的域,它通常被设为0,因为兼容DOCSISTM的系统中不使用它。
PID 1610是13字节的域。如上所述,PID 1610在DOCSISTM1.x和/或2.0系统中被设为“0x1FFF”。因此,该值表示非DSSM数据分组(如遗留数据分组)。如果PID 1610包括“0x1FFF”之外的任何值,表明该数据分组(如数据分组1412)为DSSM数据分组。PID 1610的DSSM值可以是任何公开指定的值,或者是在不同系统上可配置的符号。如果PID 1610的值不是“0x1FFF”,遗留的有线调制解调器将忽略该数据分组(方式与上述的字节级分割在两字节的FC类型域1414表示为“2’b10”时丢弃数据分组的方式类似)。
传输加扰控制1612是两字节的域,在兼容DOCSISTM的系统中不使用它,因此通常设为0。
适配域控制1614是两字节的域,对于兼容DOCSISTM的系统,适配域控制1614包括值“01b”,这个值(根据视频传输的ITU-T Rec.H.222定义的电信标准)表明不存储适配域。
连续计数器1616是循环的计数器,每使用这个4字节的域发送一个数据分组(如数据分组1412),计数器1616的值增加1。
指针域1618是一个字节的域。根据DOCSISTM规范,指针域1618包含直接跟随(follow)着指针域1618的数据分组(如数据分组1412)中的字节数,接收解码器(如远程通信节点108a-108d)在寻找DOCSISTMMAC帧的起点之前,必须跳过指针域。只有在PUSI位被设定之后,指针域1618才存在。
当存在指针域1618时,有效载荷(例如块1504a和序列号1514a)包含183字节。参考图15,块1504a包含182字节,序列号1514a包含1个字节。另一方面,如果不存在指针域1618,那么,有效载荷包含184字节。再次参看图15,块1504b包含183字节,序列号1514b包含一个字节。这样,在一个实施例中,包括报头1506的MPEG数据分组(如数据分组1412)的总大小总是188字节。根据DOCSISTM,在没有数据要发送时,有效载荷数据包含“填充字节”(0xFF)。
因此,由数据分组级分割产生的DSSM数据分组1412是被分割成指定数量的块(如块1504a-1504c)的数据分组1404的副产品,并使用如下信息封装。PID 1610被设为“0x1FFF”之外的任何值,序列号1514a-1514c表明重组所得到的DSSM数据分组1412a-1412c的顺序。相反,根据本发明的一个实施例,封装非DSSM数据分组时,其报头中设定PID 1610为“0x1FFF”。
参考图1-5,针对节间基础架构106的所有四个下行信道,都创建封装报头。这样,在步骤1318中,数据分组1404按照FC_PARM域1414、序列号1514等中的编号顺序被分到这四个信道上以进行DSSM传输。如上所述,示出以及描述四个信道是用于举例说明。在本发明的其它实施例中,使用了有更多的或更少的信道,这由系统架构决定。
封装的DSSM或非DSSM数据分组传输之后,由远程通信节点108接收和处理这些数据分组。参考图17,流程图1700示出了本发明的一个实施例的接收下行数据分组的一般操作流程。更具体地,流程图1700示出了在DSSM-capable远程通信节点108a-108b上接收下行数据分组的示例性控制流。但是,本发明不局限于流程图1700所提供的描述。相反,相关领域的技术人员根据这里的教导将知道,其它的功能流程也落入本发明的实质范围内。
流程图1700的描述将继续参考图12所述的示例性通信系统100,但本方法不局限于该实施例。
流程图1700的控制流从步骤1701开始,并直接转到步骤1703。步骤1703中,从节间基础架构106的四个下行信道的一个或多个信道中读取数据分组。如果数据分组是非DSSM数据分组,那么数据分组将从这四个下行信道的其中一个下行信道到达,下面会更详细地阐述。
如果数据分组是DSSM数据分组(如DSSM数据分组1412),那么,原始数据分组(如数据分组1404)的四个块(如块1404a-1404d或1504a-1504c)将从这四个信道到达。因为四个相邻载波之间的物理延迟变化(即,群组延迟变化)小(与符号时间相似),这四个块在几乎同时抵达目的远程通信节点108。换言之,远程通信节点108的四个PHY将在充分相同的时间(在符号周期加上PHY执行引起的任何变化之内)独立地接收到DSSM数据分组块。
步骤1706中,数据分组被解包和解帧。步骤1709中,检测封装报头。在一个实施例中,报头剖析器检测FC类型域1410、PID 1610等,如上所述。
步骤1712中,确定数据分组是DSSM数据分组还是非DSSM数据分组。在一个使用字节级分割的实施例中,如果FC类型域被设为10,就确定该数据分组是DSSM数据分组,控制流转向步骤1715。在一个使用数据分组级分割的实施例中,如果PID 1610被设为“0x1FFF”之外的其它值,该数据分组被确定为DSSM数据分组,控制流转到步骤1715。否则,该数据分组被确定为非DSSM数据分组,控制流转向步骤1718。因此,本发明包括允许DSSM-capable调制解调器接收遗留(legacy)数据分组的机制。
步骤1715中,使用最小的缓冲来重组各个块(如1404a-1404d或1504a-1504c),并且不存在数据分组排序的问题。在一个使用字节级分割的实施例中,按照FC_PARM位(如FC_RARM域1414)所指定的顺序从每个信道的PDU上拉出(pull)字节以重新构造原始的数据分组(如数据分组1404)。在一个使用数据分组分割的实施例中,使用序列号1514来将PDU重组成原始数据分组(如数据分组1404)。
步骤1724中,将所得到的字节流发送给远程通信节点108内的MAC,以在构造字节流时进行协议处理。因此,在将数据分组发送给MAC之前,不需要缓冲整个数据分组。在协议处理时,对重构的数据分组进行HCS和CRC校验,如同从单个载波上接收数据分组一样;也对封装报头进行HCS校验。任何信道上的接收机差错(例如FEC差错)都会导致完全重构的帧的HCS或CRC失败,从而导致整个帧被丢弃。如果CRC和HCS校验通过,该重构的帧继续进行正常的MAC层处理,例如,包括报头分析、DES解密、有效载荷报头抑制(PHS)扩充等。
步骤1718中,DSSM-capable远程通信节点108a-108b处理非DSSM数据分组。为了限制缓冲的要求和避免“网络层多信道”的复杂性,提供一种供给机制(provisioning mechanism),将远程通信节点108a-108b的四个下行信道中的一个信道作为“主下行”(例如通信节点在该信道上监听通过它的SID和DA滤波器的遗留数据分组)。
因此,如果在主下行上接收到非DSSM数据分组,那么控制流转到步骤1724,该数据分组被发送给MAC以进行协议处理。具有接收遗留数据分组的能力使得DSSM-capable有线调制解调器能够接收“遗留”格式的管理消息(即,与早期的DOCSISTM有线调制解调器相比,DSSM-capable有线调制解调器不需要复制MAP或UCD消息),以及还监听打算同时发送给遗留的和DSSM-capable有线调制解调器的多播或广播流,这样就提高了统计复用增益。
在另一方面,如果在主下行信道上没有接收到非DSSM数据分组,那么控制流转到步骤1721。在步骤1721中,非DSSM数据波被完全忽略。
步骤1727中,如果从下行接收到另外的数据分组,那么控制流转到步骤1703,并重复上述的过程。否则,控制流结束,如步骤1795所示。
参考图18,流程图1800描绘了本发明的另一个实施例接收下行数据分组的一般操作流程。更具体地,流程图1800示出了在非DSSM-capable远程通信节点108c-108d上接收下行数据分组的示例性控制流。但是,本发明不局限于流程图1800所提供的描述。相反,相关领域的技术人员根据这里的教导将知道,其它的功能流程也落入本发明的实质范围内。
流程图1800将继续参考图12所示的示例性通信系统100进行描述,但是本方法不局限于该实施例。
流程图1800的控制流从步骤1801开始,并直接转到步骤1803。步骤1803中,从下行信道中读取数据分组。步骤1806中,对数据分组进行解包和解帧。步骤1809中,检测封装报头。步骤1812中,确定该数据分组是非DSSM数据分组还是DSSM数据分组。如果数据分组被确定为非DSSM数据分组,那么控制流转到步骤1815。否则,控制流转到步骤1818。
步骤1815中,对非DSSM数据分组进行协议处理。协议处理包括HCS和CRC校验、报头分析、DES解密、PHS扩展等。
步骤1818中,DSSM数据分组被无声地丢弃。如上所述,使用报头封装各个块(例如块1404a-1404d或1504a-1504c),该报头将该数据分组标记为DSSM数据分组(如DSSM数据分组1412)。当非DSSM capable远程通信节点108c-108d接收到DSSM数据分组并且该DSSM数据分组是通过字节级分割产生的,那么,预留FC类型域1410指示远程通信节点108c-108d使用封装报头的LEN域1420来丢弃整个DSSM数据分组。如果该DSSM数据分组是使用数据分组级分割产生的,那么PID 1510指示远程通信节点108c-108d丢弃整个DSSM数据分组。丢弃DSSM数据分组避免了导致,例如遗留有线调制解调器的故障。遗留有线调制解调器的PHY监听完全有效的位,所以它继续追踪;但这些位直接进入位存储器(bit bucket),对遗留有线调制解调器的操作不产生任何影响。
步骤1821中,如果从下行流中接收到其它的数据分组,那么控制流转到步骤1803,并重复上面的流程。否则,控制流结束,如步骤1895所示。
如上所述,被封装成DSSM数据分组(如DSSM数据分组1412)多个块(如块1404a-1404d或1504a-1504c)在充分相同的时间抵达DSSM-capable远程通信节点108a-108b。这多个块在到达其对应的远程通信节点108a-108b的时间上的任何变化都直接转化为在该远程通信节点108a-108b上所需的额外缓冲空间。本发明包括将到达时间变化量(arrival time variation)保持在最小值的机制。在相同的下行信道中,可以通过要求在各信道上同步MPEG帧、SYNC消息位置以及FEC帧来实现这种机制。
但是,如果信道不相同,有一些方法可用于使到达时间变化量最小化。首先,不同的调制顺序和波特率使得在各信道上同步MPEG帧变得困难。从DSSM-capable远程通信节点108a-108b的“重构”功能来看,这意味着MPEG报头会“打断”在不同时间从不同信道上接收的字节流。这个问题可通过增加足够的缓冲以吸纳所产生的时间变化量来克服。因为MPEG报头仅仅四个或五个字节,这种方法通常是可接受的。
其次,不同的调制顺序和波特率也将妨碍SYNC消息在下行信道上的理想同步,因为在不同的信道发送SYNC消息所花费的时间量不同。另外,因为SYNC消息不允许跨越MPEG帧的边界,所以对头端102而言,要在所有四个信道上发现SYNC消息可能开始的时间是有困难的。SYNC消息有34字节长,因此,每个下行信道上所需的用于吸纳这种变化量的缓冲将大概等于SYNC消息的大小。
第三,不同的调制顺序也要求稍微不同的FEC成帧结构(framingstructure),这种FCE成帧结构不能在下行信道上同步。所幸的是,所产生的到达时间的变化量依然相对较小(最大值是每次84字节)。所以,增加缓冲可能是一个可行的方法。
第四,如果各信道上的交错设定不相同,那么,延迟变化量将会很大(大概几毫秒的数量级;或者更大,例如,如果为支持1024-QAM而增加了更大的交错深度)。这些变化也许会太大,以至于不能通过在远程通信节点108a-108b上进行缓冲来解决。一个解决办法是在头端102的“分割”功能上通过“偏移”每个块的发送时间,使它们到达远程通信节点108a-108b的时间几乎相同。这种方法在接收端(即远程通信节点108a-108b)工作得很好,但是需要对管理通信节点108进行一些架构调整,以处理由“分割”DSSM数据分组而产生的管道流(pipeline issue),接着,当将其它数据分组发送到一些信道上时必须“保持住(hold)”一个或多个块。小心地重新安排在头端102上的步骤,能处理这个问题;或者,头端102能使用大量缓冲来提供必需的延迟。
图13和图17的控制流也可以参考图19进行解释。更具体地,图19示出了管理通信节点108的DSSM-capable远程通信节点108a、DS PHY 1220和MAC310的实施例。图19也示出了从头端102到DSSM-capable远程通信节点108a的下行信道106a-106b。虽然这里只示出了两个下行信道,但是,如上所述,根据系统结构的要求,信道的数量可以更多或更少。同样,如上所述,其中一个下行信道可以是接收非DSSM数据分组的主要信道。
图19示出了根据本发明的一个实施例的用于发送和接收DSSM数据分组及非DSSM数据分组的头端102和DSSM-capable远程通信节点108a的各个部件。如图所示,MAC 310包括下行协议处理器1902、数据分组分割器1904和两个封装器1906a-1906b。下行协议处理器1902对从下行信道中接收的数据分组进行协议分析。如上面参考步骤1306所描述,协议处理包括有效载荷报头抑制、DES加密等。
一旦协议处理完成,数据分组分割器1904获取所得到的数据分组(例如数据分组1404),并将数据分组分割成预定数量的块(如块1404a-1404d、1504a-1504c),如上面参考步骤1318所述。预定数量的块与节间基础构架106中可用的下行信道的数量匹配。因为图19中只示出了两个下行信道106a-106b,数据分组分割器1904将使用字节级分割、数据分组级分割等技术来产生两个块。
封装器1906a-1906b将这些块成帧和封装,如上面参考步骤1321所述。封装器1906a为下行信道106a服务,封装器1906b为下行信道106b服务。因此,如果数据分组分割器1904产生和分配一个块给下行信道106a,那么,封装器1906a将创建一个封装报头以将该数据分组标记为在下行信道106a上传输。同样,如果数据分组分割器1904产生和分配一个块给下行信道106b,封装器1906b将创建一个封装报头以将该数据分组标记为在信道106b上传输。
DS PHY 1220包括DS PHY 1908a和DS PHY 1908b,这两者分别构成头端102与下行信道106a、106b之间的物理层接口。来自封装器1906a-1906b的数据分组分别被PHY 1908a-1908b收集,并转换成物理信号。
物理信号被PHY 1920接收。PHY 1920构成了DSSM-capable远程通信节点108a与下行信道106a、106b之间的物理层接口。PHY 1920包括PHY 1910a和PHY 1910b。PHY 1910a接收来自下行信道106a的物理信号,PHY 1910b接收来自下行信道106b的物理信号。如上面关于步骤1703所述的,原始数据分组(如数据分组1404)的多个块(例如块1404a-1404d,或1504a-1504c)在充分相同的时间被PHY 1910a-1910b独立地接收。
DSSM-capable远程通信节点108a也包括MAC 1918,MAC 1918接收来自PHY 1920的下行信号,并提取语音、数据、请求等等。MAC 1918包括两个解帧器(deframer)1912a-1912b、数据分组重组器1914、协议处理器1916。解帧器1912a为下行信道106a服务,解帧器1912b为下行信道106b服务。这样,解帧器1912a从PHY 1910a接收数据分组并对这些数据分组进行解包和解帧;解帧器1912b从PHY 1910b接收数据分组并对这些数据分组进行解包和解帧。
数据分组重组器1914从解帧器1912a-1912b接收数据分组并重组这些块。如步骤1706-1715所示,数据分组重组器1914对封装报头进行分析,以根据各个块(例如1404a-1404b、1504a-1504c)重组原始数据分组(例如数据分组1404)。
协议处理器1916从数据分组重组器1914上接收重组后的数据分组,并执行协议处理,如步骤1724中所述。在一个实施例中,当数据分组正在被重组时,来自数据分组重组器1914的字节流被传递给协议处理器1916,要注意,这些块的分割(正如由数据分组分割器1904所执行的)和重组(正如由数据分组重组器1914所执行的)分别在MPEG成帧(正如封装器1906a-1906b以及解帧器1912a-1912b所执行的)之前和之后。因此,协议处理器1916所“看”到的是单个的输入流。在一个使用数据分组级分割的实施例中,分割和封装(例如成帧和/或解帧)可由相同的部件执行,而不是如图19所示的由两个分开的部件执行。
如上面结合步骤1718-1724所述,DSSM-capable远程通信节点108a也能够接收和处理非DSSM数据分组。为实现这种能力,可将下行信道106a分配为主信道,这样,仅接收通过信道106a抵达的非DSSM数据分组。通过信道106b抵达的非DSSM将被忽略。数据分组分割器1904上接收到的非DSSM没有被分割成块,而是传输到封装器1906a中。封装器1906a将创建封装报头,该封装报头将该数据分组标记为非DSSM数据分组。PHY 1908a将传递包含该数据分组的物理信号到PHY 1910a。PHY 1910a接收所述物理信号,并将非DSSM数据分组传输给解帧器1912a。解帧器1912a对该非DSSM数据分组进行解包和解帧。数据分组重组器1914对封装报头进行分析,以确定数据分组是DSSM数据分组还是非DSSM数据分组。接着,数据分组重组器1914将非DSSM数据分组传送到协议处理器1916中。
2.2.2调度在本发明的一个实施例中,提供一种对DSSM数据分组和非DSSM数据分组的轮流传输进行有效“调度”(schedule)的机制。如结合图12所讨论的,节间基础架构106包括四个下行信道。在一个实施例中,传输DSSM数据分组需要使用所有的四个信道。因此,DSSM传输的时序(timing)影响一个信道对于所有四个信道上的非DSSM-capable远程通信节点108c-108d的可用性。这导致头端102在决定什么时候传输哪种类型的数据分组方面产生“调度”问题。
参考图20,流程图2000示出了本发明的一个实施例在下行调度时的一般操作流程。更具体地,流程图2000示出了使用MAP区间(interval)来调度下行传输。但是,本发明不局限于流程图2000提供给的描述。相关领域内的技术人员根据这里提供的教导应当意识到,其它的功能流程也落入本发明的实质范围内。
下面将继续参考图12所述的示例性通信系统100来描述流程图2000,但该方法不局限于该实施例。
流程2000的控制流从步骤2001开始,并直接转到步骤2003。步骤2003之后,读取区间参数以定义用于下行传输的MAP区间。在一个实施例中,仅仅在头端102上为下行传输采用“类MAP”结构。无需将下行MAP传输到远程通信节点108a-108d,因为如上所述的封装报头自动地使远程通信节点108a-108d知道自己正在接收哪种类型的数据分组。因此,下行MAP是概念上的工具,用于考虑如何划分下行带宽。
使用这个概念,可将下行看成被分成一系列的“MAP区间”,最好将其假设成固定的持续时间(duration)——可能有些区间涉及通用VOIP分组化(packetization)(例如5或10毫秒)。每个MAP区间被分成两个组块(chunk),一个用于非DSSM传输,另一个用于DSSM传输。这些分配的相对大小可能随着区间的不同而不同,但每个“组块”总是相邻的(即,区间的最初X%为非DSSMcapable远程通信节点108c-108d服务,剩下的(100-X)%用于DSSM传输)。也可以将100%的信道分配给DSSM-capable远程通信节点108a-108b。如果这样配置的话,头端102将忽略“区间”边界,在所有的时间都发送DSSM数据分组。
这样,步骤2003中,头端102的软件应用程序(如软件应用程序1230)将从前面提到的区间参数(例如区间持续时间、组块百分比等)确定MAP“区间”,并将其安排(program)到MAC 310中。单位可以是时间戳计数或者类似的便利参考标记。流量整形(rate-shaping)软件(例如在软件应用程序1230中)通过常规方法(on regular basis)(也许通过将内嵌的“管理消息”作为数据流的一部分)使MAC 130知道将区间的什么部分专用于每种类型的通信流。
步骤2006中,一旦该区间开始,就确定出现的是该区间的DSSM部分还是非DSSM部分。如果该区间目前是非DSSM部分,那么控制流转到步骤2009。
步骤2009中,读取并检验非DSSM数据分组(如遗留数据分组)以在主信道上传输。步骤2015中,确定该数据分组是否适合所分配的时间。如果该数据分组适合所分配的时间,那么步骤2018中,通过合适的信道发送该数据分组。如果区间的“非DSSM部分”中剩下的时间不够发送非DSSM数据分组,那么,步骤2021中,该数据分组被延迟直到下一个非DSSM区间开始。
步骤2024中,提取下一个数据分组,并且,如果其它的非DSSM数据分组是可用的,就重复步骤2006、2009以及2015-2021。如果没有其它的数据分组可用,那么,控制流结束,直到区间的DSSM部分开始,如步骤2095所示。
步骤2006中,一旦区间的DSSM部分开始,那么控制流转到步骤2012。步骤2012中,读取DSSM数据分组并将其分割成块,以在所有可用的下行信道上传输。步骤2018中,通过多个下行信道发送这些数据分组块。步骤2024中,提取下一个数据分组,并且,如果其它的DSSM数据分组是可用的,那么就重复步骤2006、2012和2018。如果没有其它的数据分组可用,那么控制流结束,直到区间的非DSSM部分开始,如步骤2095所示。
为了提高效率,在一个实施例中,在DSSM下行中引入“分片”(fragmentation),这样,如果队列中的下一个DSSM数据分组不能在区间结束时传输完,就传输该数据分组的第一部分,并在下一个区间传输该数据分组的剩余部分。这将保证不浪费区间的任何“DSSM组块(chunck)”。
在一个实施例中,流量整形软件(例如软件应用程序1230)基于对队列深度的监控、给每种类型的远程通信节点108a-108d的确认通信流所分配的带宽的了解(例如确定有足够的遗留时间来承载这些设备上的所有有效(active)电话呼叫)以及对其它系统参数的了解,来调整区间比例。
图21示出了根据本发明的一个实施例的非DSSM数据分组和DSSM数据分组的组合。正如所讨论的,调度区间2106包括非DSSM部分2102(如2102a-2102c所示)和DSSM部分1004(如2104a-2104b所示)。如图所示,调度区间2106的DSSM部分2104a-2104b用于在四个可用的下行信道106a-106d发送数据分组的四个块。非DSSM部分2102a-2102c用于调度非DSSM数据分组如遗留数据分组的传输。使用填充字节填满下行信道106a-106d中任何未被使用的时间2108。
例如,在一个实施例中,当根据图15是使用数据分组级分割时,能够组合遗留通信和DSSM通信,这样,在给定的时间区间中,一些信道可用于承载DSSM通信,而其它信道用于承载遗留通信。图24示出了这种方案。在该示例中,“调度区间”对应于一个MPEG数据分组的持续时间。在一个调度区间中,头端(如头端102)将选择在一些可用信道、所有可用信道或者不在可用信道上传输DSSM数据,并选择在那些未承载DSSM数据的信道上发送遗留数据。在一个实施例中,基于相对的数据优先级、队列大小或者的任何其它考虑来做决定。
如上所述,使用“类MAP”结构是一种有效地调度在相同的下行信道上轮替传输DSSM数据分组和非DSSM数据分组的方法。在另一个实施例中,这种调度以每个数据分组为单位(per-packet basis)的在下行信道的动态使用为基础。例如,可将给定的DSSM数据分组分割到两个、三个或所有的四个下行信道中。下一个数据分组可分割到不同数目的信道和/或以不同的顺序使用这些信道;再下一个数据分组仍可不同地分配,等等。
参考图22,流程图2200描述本发明的另一个实施例进行下行调度时的一般操作流程。更具体地,流程图2200示出了动态地调度下行传输的示例性控制流。但是本发明不局限于流程图2200所提供的描述。相反,相关领域的技术人员根据这里的教导将知道,其它的功能流程也落入本发明的实质范围内。
下面将继续参考图21、图14所述MAC-层数据分组格式以及图12所述的示例性通信系统100对流程图2200进行描述。但本发明不局限于这些实施例。
流程图2200的控制流从步骤2201开始,并直接转到步骤2203中。步骤2203中,读取数据分组以进行下行传输。步骤2206中,对数据分组进行协议处理,如上所述。步骤2209中,确定该数据分组是DSSM数据分组还是非DSSM数据分组。如果确定数据分组是非DSSM数据分组,控制流就转到步骤2212。另一方面,如果确定数据分组是DSSM数据分组,控制流就转到步骤2221。
步骤2212中,确定将在哪个信道发送该非DSSM数据分组以及该信道是否可用于广播非DSSM数据分组。在一个实施例中,保持(hold)数据分组直到该信道变为可用。
步骤2215中,对非DSSM数据分组进行成帧并使用非DSSM封装报头进行封装,如上所述。步骤2218中,通过所选择的信道将非DSSM数据分组广播给远程通信节点108a-108b,以及远程通信节点108c-108d,因为它们可能也在该选择的信道。步骤2233中,确定是否有其它的数据分组可用。
步骤2221中,确定用于发送DSSM数据分组的可用下行信道。步骤2224中,将数据分组分割成与可用信道的数目相同的块。例如,如果步骤2221中确定四个下行信道106a-106d(如图21所示)中只有两个信道可用,那么,步骤2224中,来自步骤2203的数据分组被分成两块。
在上面的一个实施例中,在每块的封装报头的FC_PARM域1414中提供“信道号”(channel number)。信道号也称为“块号”(piece number),用块号0、1、2、3表示字节重组的顺序。向报头添加一个位(bit),作为“最后块”(lastpiece)的标记,其告诉接收端远程通信节点108a-108b该数据分组被分成多少块,从而多少个信道正在使用。因此,如果数据分组被分成两块,第一块用“块0”表示,第二块用“块1”表示,那么,就在“块1”中设置“最后块”标记以表明仅仅使用两个块。
步骤2230中,将两个块发送到两个可用的下行信道。步骤2233中,确定是否还有其它的数据分组可用。如果有其它的数据分组,控制流就转到步骤2203。否则,控制流结束,如步骤2295所示。
如果在步骤2221中,确定所有四个下行信道106a-106d都可用于发送下一个DSSM数据分组,就将数据分组分割成块0、块1、块2和块3,并将“最后块”位添加到块3中。因此,接收端DSSM-capable远程通信节点108a-108b能够匆忙地(on the fly)检测出给定的数据分组正在使用多少个信道,并能够以任何顺序使用这四个信道的任意组合。同样,本发明使DSSM数据分组能够以数据分组为单位动态地使用信道。
本发明也使用下行分片(download fragmentation)的概念。与“块”(piece)相反,“块”同时在所有的信道上发送,而“片段”(fragment)在时间上是分开的。在前端102中,“分片”在分成“块”之前发生。例如,DOCSISTM2.0 PDU可以分成两个片段。第一片段可分成“块”,每块具有自己的封装报头。这些块在两个下行信道上同时传输。一些居间的时间区间可通过,使一些遗留数据分组(而不是其它的DSSM数据分组)能够被发送。居间的时间区间之后,第二片段被分成块,每块都具有自己的封装报头。也可以在可用的下行信道上传输这些块。但是,应当意识到,本发明的下行分片不要求在片段之间发送遗留数据分组的能力。
因为DSSM片段必需按顺序发送,以及一个DSSM数据分组的所有片段必须在下一个DSSM数据分组开始之前发送,所以封装报头中只需要两个位,一个位说明“这是一个片段”,另一个位说明“这个片段是最后的片段”。这些位(可以是相同的)可包括在片段的所有“块”中。如果丢了任何的片段,重组后数据分组的CRC和HCS将失败,所以具有校验的序列号是不必要的。为了将开销最小化,可将必需的两个位放在FC_PARM域1414中。如果证实需要更多的位,可使用EHDR(如EHDR域1416),这会增加系统开销。
如果DSSM片段之间不支持非DSSM数据分组,接收远程通信节点108a-108b照常重构这些块,但头端102不必在片段上添加“数据分组末端”(“end-of-packet”)信号,直到它处理完具有“最后”标记的片段为止。相反,如果DSSM片段之间支持非DSSM数据分组,当接收远程通信节点108a-108b处理DSSM数据分组时,需要一种存储“状态”(state)的能力,处理非DSSM数据分组的能力,以及恢复所存储的状态的能力,并继续处理DSSM数据分组。
参考图23a-23c,流程图2300(如图2300a-2300c所示)示出了本发明的另一个实施例进行下行调度的操作流程。更具体地,流程图2300示出了动态地调度下行分片段传输的示例性操作流程。但是,本发明不局限于流程图2300所提供的描述。相反,相关领域的技术人员从这里提供的教导应当意识到,其它的功能流程也落入本发明的实质范围内。
流程图2300将继续结合图12所示的示例性通信系统100进行描述,但本方法不局限于该实施例。
流程图2300的控制流从步骤2301开始,并直接转到步骤2303。步骤2303中,读取数据分组以进行下行传输。步骤2306中,执行协议处理。如果在步骤2309中,数据分组被确定为非DSSM数据分组,那么控制流转到步骤2312。否则,在步骤2309中,DSSM数据分组的控制流转到步骤2330。
步骤2312中,确定非DSSM数据分组将发送到哪个信道以及该信道是否可用于发送非DSSM数据分组。在一个实施例中,数据分组被保持(hold)直到该信道可用。
步骤2324中,将数据分组成帧和封装成非DSSM数据分组。步骤2327中,将数据分组广播至所有的远程通信节点108。步骤2351中,如果有其它的数据分组可用,控制流返回到步骤2303。
如果在步骤2309中,检测到DSSM数据分组,控制流转到步骤2330。步骤2330中,确定哪些信道可用于发送该DSSM数据分组。步骤2333中,如数据分组分成与可用信道数目匹配的多个块,确定需要多少时间来发送这个数据分组。例如,如果有两个信道可用,就确定需要多少时间来发送两个块。
在步骤2336中,在数据分组被分成预定数量的块(例如与可用的下行信道数匹配)之后,根据所需要的时间量,确定是否需要分片以发送该数据分组。如果在可用的下行信道有足够的时间发送这些数据分组块(未分片),步骤2342中就将数据分组分割成预定数量的块。步骤2345中,对每个块进行成帧,并使用各自的封装报头进行封装,该封装报头将该块标记为DSSM数据分组。步骤2348中,同时在可用的下行信道上将所有的数据分组块发送到远程通信节点108。步骤2351中,如果有其它的数据分组可用,控制流返回到步骤2303。
如果在步骤2336中,确定在可用的下行信道上没有足够的时间发送数据分组块(未分片),就在步骤2339中对数据分组进行分片。步骤2342中,将第一片段分割成预定数量的块。步骤2345中,成帧和封装每个块。步骤2348中,在可用的下行信上同时发送所有的块。步骤2351中,控制流返回到步骤2303,这样,剩下的片段最终也被发送。在一个实施例中,如果居间非DSSM数据分组已经调度为要进行下行传输,那么,或者在该居间非DSSM数据分组之后发送剩下的片段,或者在步骤2342中将剩下的片段分割成更少数量的块,以在当前可用的下行信道上传输。否则,控制流将跳到步骤2330,立即发送剩下的片段,除非要求进行其它的分片。
例如,假定头端102打算发送DSSM数据分组。参考图23a,步骤2330中,确定信道B和信道C是开启的,而信道A和信道D正在传输非DSSM数据分组。还假定信道B和信道C都允许64字节的时间以完成传输。
因此,步骤2339中,将DSSM数据分组分片,使第一片段包括116字节的数据。接着,步骤2342中,将第一片段分成两块(封装之后,每块是64字节长)。步骤2348中,在信道B和信道C上发送这两个块。
还假定在该第一片段在信道B和信道C的传输完成的时刻,在信道A和D的非DSSM数据分组的传输也完成。那么,步骤2330中,确定所有四个信道都是可用的。这样,步骤2342中,将该数据分组的第二片段分成四块,步骤2348中,在所有四个下行信道中传输这四个块。
此后,如果步骤2312中,高优先级的遗留数据分组需要在信道A上发送,那么,步骤2327中,在该DSSM数据分组的传输完成之后,所述遗留数据分组能够在信道A广播,而在步骤2348中,信道B、C和D可用于承载下一个DSSM数据分组。一旦传输完所有的数据分组,控制流结束,如步骤2395所示。
这样,本发明使得所有四个下行信道一直保持满负荷(full)。它也使头端102(由例如软件应用程序1230)能够指定某些DSSM数据分组只能使用某些信道。头端102也允许或者禁止在某些时间内(例如可配置成每5毫秒就保留1毫秒,用于只在信道A上传输遗留语音通信等;或者其它想要的配置)使用某些信道进行DSSM数据分组传输。
在接收远程通信节点108上,本发明结合动态的信道使用以及分片,以使用每个可用信道的空间,在DSSM数据分组开始时,不要求所有的信道必须清除(cleared)非DSSM数据分组。通过分片,使得部分数据分组与其它数据分组相比可以在较少数量的信道上传输。
2.2.3管理/OSS为了使本发明的通信系统100可以(a)向后兼容和(b)便于使用,其必须是可管理的。例如,在图12的实施例中,DSSM-capable远程通信节点108a-108b必须能够确定运行什么模式、通告它们的容量以及知道使用哪些信道。
根据一个实施例,DSSM-capable远程通信节点108a-108b的运行在一些方面(例如扫描、上行信道描述符(upstream channel descriptor,UCD)选择、SYNC、排列(ranging)、动态主机配置协议(DHCP)、ToD(time of day)服务器、普通文件传输协议(TFTP))与DOCSISTM2.0有线调制解调器类似。在DHCP过程中,DSSM-capable远程通信节点108a-108b将在选项60中宣告DSSM支持。
DSSM-capable远程通信节点108a-108b接着向头端102发送REG-REQ消息,就像DOCSISTM2.0调制解调器一样,但它也在REG-REQ消息中宣告DSSM支持(例如在调制解调器容量类型/长度值(TLV)tuple)。非DSSM-capable头端102将忽略这些设定并返回正常的ERG-REQ。DSSM-capable远程通信节点108a-108b将发送REG-ACK,启动基线专有接口(BPI)并以非DSSM模式(例如遗留模式)运行。
DSSM-capable头端102将查看(see)ERG-REQ中的设置,并在REG-RSP中发送TLV,告诉DSSM-capable远程通信节点108a-108b其它的下行频率在哪里。DSSM-capable远程通信节点108a-108b将分析TLV,在硬件中激活DSSM模式(例如调谐调谐器等),接着发送REG-ACK以向头端102表明它将以DSSM模式向DSSM-capable远程通信节点108a-108b发送下行通信。
本发明提供了几个优点。因为DSSM-capable远程通信节点108a-108b和非DSSM-capable远程通信节点108c-108d可以共存于相同的信道上,通信系统100改善了网络的性能(特别是下行性能)。此外,通信系统100通过两种类型的远程通信节点108的统计复用(stat muxing),以及平滑的转移路径(migration path)(例如在进行调度时,不需要将大量的带宽用于少数的DSSM-capable远程通信节点108a-108b),在增加极少成本的情况下提高了单个远程通信节点108的吞吐量,提供了极好的向后兼容性、更高的网络效能。与常规的方法相比,通信系统100也具有非常小的芯片面积(die area)。但是,本发明可能要求接收DSSM-capable远程通信节点108a-108b的数字部份的芯片面积(die area)是四倍大小。本发明能够将单个流传输给MAC以及网络层,从而排除了IP寻址、数据分组排序等的问题。
2.3示例性的系统应用图1至25是概念示意图,用于更好地解释上层捆绑和下层捆绑。应当意识到,本发明的实施例可在硬件、固件、软件及其组合中实施。在一个实施例中,能够在硬件、固件和/或软件中实施各种组件和步骤以执行本发明的功能。就是说,硬件、固件或软件模块的相同部分能够执行一个或多个所示的功能方框(block)(即,部件或步骤)。
在本申请文件中,词语“计算机程序媒介”和“计算机可用媒介”通常指可移动存储单元、安装在硬盘驱动器中的硬盘以及信号(即,电子的、电磁的、光的或其它类型的能够被通信接口接收的信号)等媒介。这些计算机程序产品用于给计算机系统提供软件程序。在一个实施例中,本发明主要是这样的计算机程序产品。
在一个实施例中,使用软件实现本发明的各个方面。所述软件可存储在计算机程序产品中,并可通过可移动存储驱动器、硬盘驱动器或通信接口加载到计算机系统中。当控制逻辑(软件)被处理器执行时,使得处理器执行本发明的功能。
在另一个实施例中,主要在硬件中实现本发明的各方面,例如通过使用硬件组件如特定用途集成电路(ASIC)。应用硬件状态机来执行这里所述的功能对于本领域的技术人员来说是显而易见的。
在另一个实施例中,使用硬件和软件的组合来实施本发明。
上面已经描述了本发明的几个实施例,但是,要意识到,这些实施例只是用于举例,本发明不局限于这些实施例。本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以在形式和细节上进行各种变化。此外,应当理解,本发明的方法、系统和计算机程序产品能够在任何的由中心节点管理的多节点通信环境中实施。所述节点包括但不限于有线调制解调器、机顶盒、头端、通信网关、交换器、路由器、互联网接入设备、服务器、个人计算机、增强型电话机、个人数字助理(PDA)、电视机等。因此,本发明不受任何上述的示例性实施例所限制,而应当由权利要求及其等同物定义。
权利要求
1.一种将数据分组从管理节点传输到至少一个远程节点的系统,其特征在于,该系统包括至少一个远程节点;以及通过RF信道与所述至少一个远程节点连接的管理节点,所述管理节点包括多个与对应的射频信道关联的边缘调制器;以及基于数据分组所关联的通信流将所述数据分组分配到所述边缘调制器的传送器。
2.根据权利要求1所述的系统,其特征在于,所述多个边缘调制器包括与第一组RF信道关联的第一边缘调制器,所述第一边缘调制器对传送器将通信流的数据分组分配到第一边缘调制器作出响应,将通信流的数据分组分配到第一组RF信道的信道上。
3.根据权利要求2所述的系统,其特征在于,所述第一组RF信道包括第一RF信道及第二RF信道,所述第一边缘调制器将通信流的第一数据分组分配给第一RF信道,将所述通信流的第二数据分组分配给第二RF信道。
4.根据权利要求2所述的系统,其特征在于,所述边缘调制器基于第一组RF信道的拥塞情况分配数据分组。
5.根据权利要求1所述的系统,其特征在于,所述传送器基于一个或多个边缘调制器将要调制的数据量分配所述通信流的数据分组。
6.根据权利要求1所述的系统,其特征在于,所述管理节点包括头端,所述至少一个远程节点包括至少一个有线调制解调器。
7.根据权利要求1所述的系统,其特征在于,所述传送器将第一通信流的数据分组分配给第一边缘调制器,将第二通信流的数据分组分配给第二边缘调制器。
8.根据权利要求1所述的系统,其特征在于,所述多个边缘调制器是多个边缘正交幅度调制器。
9.根据权利要求1所述的系统,其特征在于,所述多个边缘调制器是多个正交频分调制器。
10.根据权利要求1所述的系统,其特征在于,所述传送器将第一组多个数据分组分配给第一边缘调制器,所述第一组多个数据分组与第一通信流有关;所述管理节点还包括用于将所述第一组多个数据分组中的至少一个数据分组分割成一些块的分割装置,所述块的数量等于或者少于所述第一边缘调制器所关联的RF信道的数量。
11.根据权利要求10所述的系统,其特征在于,所述分割装置采用字节级分割方式。
12.根据权利要求10所述的系统,其特征在于,所述分割装置采用数据分组级分割方式。
13.根据权利要求10所述的系统,其特征在于,所述分割装置基于第一边缘调制器所关联的RF信道的信道速率,将所述块分配到与第一边缘调制器关联的RF信道。
14.根据权利要求10所述的系统,其特征在于,所述管理节点同时在所述第一边缘调制器所关联的RF信道上传输所述块。
15.根据权利要求10所述的系统,其特征在于,所述管理节点基于确定的填充算法,用相同的时间量传输每一个块。
16.一种在通信系统中将数据分组从管理节点传输到至少一个远程节点的方法,其特征在于,所述方法包括基于数据分组所关联的每个通信流,将数据分组分配到所述管理节点的边缘调制器;以及响应将第一通信流的数据分组分配给第一边缘调制器,第一边缘调制器传输所述第一通信流的数据分组。
17.根据权利要求16所述的方法,其特征在于,还包括对将第一通信流的数据分组分配给第一边缘调制器作出响应,将所述第一通信流的数据分组分配到所述第一边缘调制器所关联的第一组RF信道中的RF信道上。
18.根据权利要求17所述的方法,其特征在于,所述分配第一通信流的数据分组包括将所述第一通信流的第一数据分组分配给第一组RF信道中的第一RF信道以及将所述第一通信流的第二数据分组分配给第一组RF信道中的第二RF信道。
19.根据权利要求17所述的方法,其特征在于,所述分配第一通信流的数据分组包括基于第一组的RF信道的拥塞情况分配所述第一通信流的数据分组。
20.根据权利要求16所述的方法,其特征在于,所述将第一通信流的数据分组分配给第一边缘调制器包括基于将在一个或多个调制器上调制的数据量分配所述第一通信流的数据分组。
21.根据权利要求16所述的方法,其特征在于,还包括响应将第二通信流的数据分组分配给第二边缘调制器,第二边缘调制器传输所述第二通信流的数据分组。
22.根据权利要求16所述的方法,其特征在于,还包括将第一通信流的至少一个数据分组分割成一些块,块的数量等于或少于与所述第一边缘调制器关联的RF信道的数量;以及将所述块分配到与所述第一边缘调制器所关联的对应RF信道上。
23.根据权利要求22所述的方法,其特征在于,使用字节级分割方式来分割至少一个数据分组。
24.根据权利要求22所述的方法,其特征在于,使用数据分组级分割方式来分割至少一个数据分组。
25.根据权利要求22所述的方法,其特征在于,基于与第一边缘调制器关联的对应RF信道的信道速率来分配所述的块。
26.根据权利要求22所述的方法,其特征在于,还包括同时在第一边缘调制器所关联的RF信道上传输所述的块。
27.根据权利要求22所述的方法,其特征在于,还包括基于确定的填充算法传输所述的块,以便以相同的时间量传输所有的块。
全文摘要
本发明涉及一种通信系统,包括管理节点(例如头端)以及一个或多个远程节点(例如有线调制解调器)。通过RF信道在所述管理节点和所述一个或多个远程节点之间传输数据分组。将多个RF信道捆绑,这样,可通过捆绑的一个或多个RF信道传输数据分组。所述捆绑包括上层捆绑和/或下层捆绑。在上层捆绑中,通信系统还包括传送器以及多个边缘调制器。边缘调制器与不同的RF信道或者RF信道组连接。传送器确定将一个或多个数据分组或通信流传输给哪个边缘调制器。在下层捆绑中,将数据分组分割成块。将这些块分配到与边缘调制器关联的对应RF信道上,以传输给远程节点。
文档编号H04N7/16GK101027862SQ200580032452
公开日2007年8月29日 申请日期2005年10月31日 优先权日2004年10月29日
发明者理查德·S·普罗丹, 乔尔·丹齐克, 托玛斯·J·奎格利, 奈基·R·潘特利斯 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1