用于级联和捎带数据分组的方法和设备的制作方法

文档序号:7885968阅读:193来源:国知局
专利名称:用于级联和捎带数据分组的方法和设备的制作方法
技术领域
本发明涉及双向通信系统领域,并且特别涉及双向通信系统中数据分组的级联和捎带(piggybacking)。
背景技术
诸如因特网之类的分组网络为全世界的数据和音频通信以比公共交换电话网络(PSTN)低很多的成本提供一种有效的运载工具。同样地,越来越多地需要扩展经由因特网的通信能力。尽管对现有技术存在若干抑制该目标的限制。
在努力增加限制带宽双向通信系统中的数据传输率时,级联被用来减少向电缆调制解调器终端系统(CMTS)请求带宽的量。
级联是一种在Docsis 1.0/1.1RFI规范中描述的方法,该方法允许数据分组在上行流方向(即从调制解调器到CMTS或头端)通过将大量单个数据分组结合成一个级联的数据分组从而更有效地传输数据分组。在一个使用级联的例子中,与对每个数据分组作出不同的带宽请求相反,DOCSIS电缆调制解调器对多个数据分组仅仅作出一个带宽请求(以一个级联数据分组的形式)。虽然Docsis 1.0/1.1RFI规范描述了实现级联的协议,但是该规范没有指出应该如何以及什么时候进行,以及如何最好地优化级联的使用。一个缺点在于,级联典型地通过等待直至将要上行流传输到CMTS的必要数量的数据分组排队等待在电缆调制解调器(CM)来实现,并且通常不知道要上行流传输的下一个数据分组什么时候到达CM队列。这可导致未知的传输延迟。
称为“捎带”的第二种方法也在Docsis 1.0/1.1RFI规范中描述,它允许更有效地利用上行流带宽。为了实现捎带,必要数量的数据分组必须排队等待在CMIC的分组描述符队列上。如果给定这个条件,CMIC将自动使第一数据分组生成一个对第二数据分组的捎带请求。类似地,如果当准备发送第二数据分组时存在第三数据分组,那么在发送第二数据分组时将通过CM生成对第三数据分组的捎带请求。只要在数据分组描述符队列中存在其所有权比特(ownership bit)被置位的等待发送的数据分组,就继续这个捎带操作。尽管当前的捎带方法一次只能传输一个可得到的数据分组。
发明概要本发明提供了一种用于在双向通信系统中有利地结合数据分组的级联和捎带的方法和设备,以便减少处理时间和增加数据传输率。
在本发明的一个实施例中,一种方法包括,响应包括低于阈值数量的数据分组的双向通信设备的第一传输队列,将数据分组从双向通信设备中的第二传输队列转移到第一传输队列,所转移的数据分组至少包含两个级联的数据分组。所述方法还包括在转移后将所转移的数据分组确定为第一传输队列中准备发送的数据分组,并指示在最初准备发送的数据分组中存在随后准备发送的数据分组,最初准备发送的数据分组和随后准备发送的数据分组存在于第一传输队列中的准备发送的数据分组序列中。
在本发明的另一个实施例中,一种设备包括一个用于存储数据分组和第一组指令的第一传输队列,一个用于存储超过将要存储在第一传输队列中的数据分组的预定阈值数量的数据分组和第二组指令的第二传输队列。该设备还包括一个处理器,在执行第一组指令和第二组指令时,它被配置用来,响应包含少于阈值数量的数据分组的第一传输队列,将数据分组从第二传输队列转移到第一传输队列,所转移的数据分组至少包含两个级联的数据分组,将所转移的数据分组确定为第一传输队列中的准备发送的数据分组,并指示在最初准备发送的数据分组中存在随后准备发送的数据分组,最初准备发送的数据分组和随后准备发送的数据分组存在于第一传输队列中准备发送的数据分组序列。
附图简述通过结合附图考虑下列详细描述能够容易理解本发明的教导,在附图中

图1描绘了包含本发明一个实施例的双向通信系统的高级框图;图2描绘了级联的数据分组的框图;图3描绘了典型的媒体访问控制报头的框图;图4描绘了适合在图1的通信系统中使用的电缆调制解调器的一个实施例的高级框图;以及图5描绘了用于根据本发明在双向通信系统中级联和捎带数据分组的方法的流程图。
为了易于理解,如果可能,使用相同的参考标号来指明附图共有的相同元素。
发明详述将在利用加州欧文城的Broadcom公司制造的型号为3350DOCSIS电缆调制解调器IC的调制解调器的背景下描述本发明。然而,本领域的技术人员将理解,本发明同样可由利用其他电缆调制解调器IC等等的电缆调制解调器来实现。而且本发明的原理可应用到除了上行流通信的电缆调制解调器以外的其他双向通信设备。有利地,本发明提供了一种方法和设备,用于结合双向通信系统中的级联和捎带数据分组从而减少处理时间和增加数据传输率。
图1描绘了包含本发明实施例的双向通信系统的高级框图。图1的双向通信系统100包含个人计算机(PC)110、电缆调制解调器(CM)120、连接到诸如因特网服务供应商(ISP)135之类接入网的电缆调制解调器终端系统(CMTS)130,和诸如因特网140之类的网络。如图1所示,电缆调制解调器(CM)120允许PC用户高速访问因特网140。CM 120从PC 110或其他用户前端设备(CPE)接收数据分组以便随后向CMTS 130传输。CM 120被包含在电缆调制解调器IC(图示为Broadcom 3350 DOCSIS单芯片电缆调制解调器IC)和该IC特定的电缆调制解调器应用软件的一部分中。Broadcom 3350 DOCSIS单芯片电缆调制解调器IC包含分组描述符队列和软件(未示出),并与电缆调制解调器应用软件结合操作以便启动双向通信。
CMTS 130控制到CM 120的信息流,这称为下行流传输,还控制从CM 120到CMTS 130的信息流,这称为上行流传输。CMTS 130发送其分组到因特网服务供应商(ISP)网络,该网络然后将该分组转发到因特网140。虽然图1的双向通信系统100被描绘为PC与因特网之间的通信系统,本领域的技术人员将理解,本发明可有利地在其他包含多个PC或其他CPE到因特网或其他IP或数据分组网络之间的通信的双向通信系统中实现。
在图1的双向通信系统100中,上行流方向可得到的带宽典型地低于下行流方向可得到的带宽。为了更有效地利用可得到的上行流带宽,根据本发明的实施例,CM 120在新型配置中将级联和捎带的结合插入到上行流传输中。本发明个别的级联和捎带方法可利用现有通信软件和硬件来实施,这对于本领域的技术人员是很明显的而且在这里不再详细说明。然而,本发明用于在双向通信系统中结合级联和捎带方法以便减少处理时间和增加数据传输率的方法和设备是未知的,并且在这里将进行详细的描述。
图2示出了一个级联的数据分组。图2的级联数据分组200由在媒体访问控制(MAC)层上的两个个别的数据分组2101和2102组成,这两个分组组合在一起。级联报头211被添加到级联数据分组200以便存储稍后用于解压或提取级联的数据分组的信息。在例如DOCSIS1.0/1.1RFI规范中描述了各种级联方法。
在一个实施例中,为了实现级联,由电缆调制解调器从用于用于上行流传输的LAN侧(或CPE)设备接收的大量个别的数据分组被组合到带有适当数据分组报头的单个数据分组中。级联通过等待直至被上行流传输到CMTS的必要数量的数据分组排队等待在电缆调制解调器才实现。一旦获得必要数量的数据分组,就级联数据分组,附加一个报头,并将所级联的数据分组上行流传输给CMTS。如果个别发送数据分组,那么将使用单独的请求来发送每个数据分组。对于级联的数据分组只需要发送单个请求。
图3示出了如在MAC层看到的典型数据分组300。每个数据分组有一个MAC报头310,该报头进而由大量的字段组成;其中一个是扩展报头字段320。扩展报头的大量实现已在DOCSIS RFI 1.0/1.1规范中被定义。DOCSIS RFI 1.0/1.1定义了大量扩展报头字段,如果准备发送另一个数据分组(除了当前正被发送的那一个数据分组之外),那么该扩展报头字段允许作出一个请求。在当前正被发送的数据分组的扩展报头中请求下一个数据分组的带宽的过程称为捎带请求。该方法允许只利用单独一个初始请求(随后的请求被捎带)发送多个数据分组。
图4描绘了适于在图1的通信系统100中使用的电缆调制解调器120的一个实施例的高级框图。图4的电缆调制解调器120包含处理器410以及存储器420。存储器420用于存储信息和应用软件例程等。存储器420也包括软件队列425。处理器410与诸如电源、时钟电路、缓冲存储器等等之类的传统支持电路430以及辅助执行存储在存储器420中的软件例程的电路协同工作。在替换实施例中,处理器410集成在电缆调制解调器IC中以便节约金钱和印刷电路板空间。同样地,在此作为软件处理讨论的一些处理步骤预期可以在硬件中实现,例如,实现为与处理器410协同工作以便执行不同步骤的电路。电缆调制解调器120还包含输入-输出电路440,该电路440形成与电缆调制解调器120通信的各种功能元件之间的接口。例如,在图1的实施例中,电缆调制解调器120与PC 110经由信号路径S 1通信而且经由信号路径S2与因特网140通信。电缆调制解调器120还包含电缆调制解调器IC(图示为Broadcom 3350 DOCSIS单芯片电缆调制解调器IC)450。电缆调制解调器IC 450与所存储的软件例程结合操作以便启动双向通信。电缆调制解调器IC 450包含分组描述符(PD)队列455。
虽然图4的电缆调制解调器120实质上被描绘为根据本发明编程以便执行各种控制功能的通用计算机,但是该功能可以在硬件中实现,例如,实现为专用集成电路(ASIC)。同样地,在此描述的处理步骤被概括地解释为由软件、硬件或其结合来等效执行。
参考图1-4,在一个实施例中,最大数目数据分组(示出3个或者是单独的或者是级联的数据分组)被放在电缆调制解调器IC 450的分组描述符队列455中的数据分组序列中,其所有权比特被置1(准备发送)。任何已接收的,或在PD队列455中的三个数据分组中的第一个数据分组被上行流传输给CMTS 130之前接收到的附加数据分组(超过3个)被放置在软件队列425中。虽然电缆调制解调器IC 450的PD队列455中的最大数目的分组在上面描绘为三个(3),但是本领域的技术人员将理解,数据分组的最大数目可为大于二(2)的任何数。
在CM 120为最初数据分组(第一数据分组)发送初始的带宽请求给CMTS 130之前,CM 120确定在PD队列455中是否存在预定的最大数目的准备发送的数据分组。如果预定的最大数目的准备发送的数据分组不存在于PD队列455中,那么就检查软件队列425中的数据分组。
如果在软件队列425中可得到单个数据分组,那么该数据分组的所有权比特被置位并被放到PD队列455中以便增加PD队列中准备发送的数据分组的总数。如果多个数据分组在软件队列425中是可得到的,那么该数据分组被组合为一个级联的数据分组200(可组合的数量基于速率限制考虑和在数据分组描述符队列中可得到的空间)并将其所有权比特置位放在PD队列455中。在Broadcom 3350 IC中,当级联在其中被启动时,通过软件交互来进行级联。
继续从软件队列425到PD队列455转移数据分组的过程直至PD队列获得预定最大数目的准备发送的数据分组或直至软件队列425不再有任何数据分组。根据本发明的原理,如果在软件队列425中没有数据分组并且在PD队列455中有少于两个数据分组,那么暂停整个过程,因为数据分组不可再被捎带或级联。
在一个替代的实施例中,当PD队列455中至少有两个准备发送的数据分组时,数据分组从软件队列425转移到PD队列455的过程停止。也就是说,与上述方法(其中继续该方法直至PD队列455获得最大数目准备发送的数据分组)相反,如果在PD队列455中有两个准备发送的数据分组,那么不再有数据分组从软件队列425被转移到PD队列455。二是对于要执行的本发明的捎带和级联方法而言PD队列455中所需数据分组的最小数目。
在退出转移数据分组的过程之后,然后向CMTS 130发送请求足够多小时隙(mini-slot)的请求以便发送第一数据分组。当CMTS 130接收到该请求时,CMTS 130评估所接收到的请求并将适当的许可(grant)发送回CM 120。一旦接收到对第一数据分组的许可,CM 120就准备发送第一数据分组给CMTS 130。在发送第一数据分组给CMTS130之前,随后数据分组的指示被插入到第一数据分组的扩展报头320中。插入到第一数据分组的扩展报头320中的随后分组的指示包含发送随后数据分组(第二数据分组)所需的小时隙(发送分组所需的带宽部分)的数目的指示。第一数据分组中对随后数据分组所需小时隙的数目的指示担当要传输给CMTS 130的第二分组的捎带请求。当CMTS 130接收第一发送数据分组时,CMTS 130认出第一发送数据分组的扩展报头320中的捎带请求(如果存在)并发布对随后数据分组的新许可。同样地,缓解了CM 120的PD队列455中对随后数据分组分离请求的需要。在Broadcom 3350 IC中,当捎带特征被启动并且除了一个当前正被处理的数据分组外至少有另一个数据分组准备被上行流发送时,自动产生捎带请求。
在CM 120接收到对随后数据分组的许可之后,然后CM就回过来确定PD队列455中是否存在预定的最大数目的准备发送的数据分组。和以前一样,如果预定最大数目的准备发送数据分组不存在于PD队列455中,那么就检查软件队列425中的数据分组并重复转移过程。还是如以前所说明的,在第二数据分组传输给CMTS 130之前,CM 120评估PD队列455中其所有权比特被置一(准备传输)的任何另外的数据分组。如果确实存在任何这样的数据分组,对小时隙的请求被放在第二数据分组的扩展报头320中,指示等待被传输的随后数据分组(第三数据分组)的大小。继续整个过程直至在软件队列425中没有数据分组剩下并且PD队列455中准备发送的数据分组的数目不大于一。
图5描绘了用于在双向通信系统中结合级联和捎带方法来减少处理时间和增加数据传输率的方法500的一个实施例的流程图。虽然方法500将在利用Broadcom 3350DOCSIS电缆调制解调器IC的调制解调器的背景下说明,但是本领域的技术人员将会理解,本发明同样可由利用其他电缆调制解调器IC的电缆调制解调器来实现。而且,本发明的原理能用于除了电缆调制解调器以外的用于上行流通信的其他双向通信设备。
当从CM的分组描述符队列发送一个数据分组时,或可替换地,当在CM的软件队列中接收到一个数据分组时,在步骤502进入方法500。
在步骤504,方法500确定有多少数据分组准备从CM的分组描述符队列发送到CMTS。假设在允许传输数据分组给CMTS之前CM的分组描述符队列被配置为排队等候N(预定量)个数据分组,如果分组描述符队列中准备发送的数据分组的数目大于或等于N,那么该方法前进到步骤506-2;如果数据分组描述符队列中准备发送的数据分组的数目小于N,则该方法进入步骤506。
在步骤506,方法500确定在CM的软件队列中是否有任何数据分组。如果在CM的软件队列中没有数据分组,则该方法前进到步骤506-2。如果CM的软件队列中有数据分组,则方法500进入步骤508。
在步骤506-2,方法500验证CM的分组描述符队列中存在大于1个准备发送的数据分组。如果在分组描述符队列中有大于1个准备发送的数据分组,则该方法进入步骤510;如果在PD队列中没有大于一个准备发送的数据分组,那么退出方法500(此时,该过程可再次在步骤502开始)。如果在分组描述符队列中没有大于一个准备发送的数据分组,那么退出方法500,因为本发明的捎带部分不能实现而且可经由传统方法将单独的准备发送的数据分组发送给CMTS。
在步骤508,方法500确定CM的软件队列中有多少个数据分组。如果在CM的软件队列中只存在一个单独的数据分组,那么该方法进入步骤508-2;然而如果在CM的软件队列中存在多个数据分组,那么该方法进入步骤508-4。
在步骤508-2,数据分组从软件队列中被移出并转发到分组描述符队列而且被标记为准备发送(准备发送的分组)给CMTS。然后该方法返回步骤504。
在步骤508-4,数据分组被组合为级联的数据分组(带有一个级联报头),从软件队列移出并转发到分组描述符队列而且标记为准备发送给CMTS。应当注意,如果CM的软件队列中可得到的数据分组的数目超过可级联到单个数据分组中的数据分组的数目,那么可能最大的级联数据分组从序列中可得到的数据分组创建,而且可得到数据分组的剩余部分留在CM的软件队列中。可被级联的数据分组的数目基于速率限制考虑和数据分组描述符队列中可得到的空间。然后方法返回到步骤504。
在上述方法500的实施例中,方法500在完成步骤508-2或508一4之后返回到步骤504。返回到步骤504的一个目的是试图在进入步骤510之前用N个数据分组(数据分组的最大数目)来填满PD队列。本领域的技术人员将会理解,本发明可以配置为在步骤508-2或508-4之后返回步骤506-2,并且这仍在本发明的范围内。在该方法返回到步骤506-2的替代实施例中,在PD队列中没有最大数目的准备发送的数据的情况下继续该方法。也就是说,只要CM的分组描述符队列中有至少两个数据分组,该方法就可以进行并执行该方法的捎带部分。
在步骤510,随后准备发送的数据分组的指示器被插入到CM的分组描述符队列中最初准备发送的数据分组的扩展报头中。也就是说,在数据分组从CM传输到CMTS之前,执行搜索以便识别CM的分组描述符队列中随后准备发送的数据分组。如果存在随后准备发送的数据分组,那么将对数据分组的指示插入到CM的分组描述符队列中最初准备发送的数据分组(第一准备发送的数据分组)的扩展报头中以便从CMTS产生对随后准备发送数据分组的许可。插入到最初准备发送的数据分组的扩展报头中的指示器识别接纳数据分组所需的小时隙的数目。
在步骤512,包含随后准备发送的数据分组的指示器的最初准备发送的数据分组从CM传输给CMTS。
在步骤514,在CMTS评估了从CM发送的最初的准备发送的数据分组,并且识别随后准备发送的数据分组的存在之后,CM从CMTS接收对随后准备发送的数据分组的许可。然后方法500返回到步骤504。当CM的分组描述符队列中没有至少两个准备发送的数据分组并且没有数据分组要从CM的软件队列转移到分组描述符队列时,退出方法500。
虽然前面所述集中于本发明的一些实施例,但是可以设计本发明的其他和进一步的实施例而不偏离其基本范围。同样地,本发明的正确范围根据随后的权利要求书来确定。
权利要求
1.一种方法,包含响应双向通信设备(120)中包含少于阈值数目的数据分组的第一传输队列(455),执行下列步骤将数据分组从所述双向通信设备(120)中的第二传输队列(425)转移(120)到所述第一传输队列(455),所述转移的数据分组包含至少两个级联的数据分组;将所述转移的数据分组确定(120)为所述第一传输队列(455)中的准备发送的数据分组;以及在最初准备发送的数据分组中指示(120)存在随后准备发送的数据分组,所述最初准备发送的数据分组和所述随后准备发送的数据分组存在于所述第一传输队列(455)中准备发送数据分组的序列中。
2.如权利要求1所述的方法,其特征在于,随后准备发送数据分组存在的指示被插入到所述最初准备发送的数据分组的报头(320)中。
3.如权利要求1所述的方法,其特征在于,所述指示在上行流传输最初准备发送的数据分组之前被执行。
4.如权利要求1所述的方法,还包含向适合识别最初准备发送数据分组中随后准备发送数据分组的存在的指示的控制设备(130)上行流传输(120)所述最初准备发送的数据分组;以及接收对至少用于随后准备发送的数据分组的带宽的许可。
5.如权利要求1所述的方法,其特征在于,重复所述转移步骤直至所述第一传输队列(455)中准备发送数据分组的数目等于所述阈值数目。
6.如权利要求1所述的方法,还包含在所述指示步骤之前验证(120)至少有两个准备发送的数据分组存在于所述第一传输队列(455)中。
7.如权利要求1所述的方法,其特征在于,所述准备发送的数据分组是各自所有权比特被置为第一状态的数据分组。
8.如权利要求1所述的方法,其特征在于,所述双向通信设备(120)是电缆调制解调器。
9.如权利要求8所述的方法,其特征在于,所述电缆调制解调器(120)包含电缆调制解调器IC(450)。
10.如权利要求9所述的方法,其特征在于,所述电缆调制解调器IC是Broadcom 3350 DOCSIS电缆调制解调器IC。
11.如权利要求10所述的方法,其特征在于,所述第一传输队列(455)是所述Broadcom 3350 DOCSIS电缆调制解调器IC中的分组描述符队列。
12.如权利要求8所述的方法,其特征在于,所述第二传输队列(425)是所述电缆调制解调器中的软件队列。
13.一种设备,包含第一传输队列(455),用于存储数据分组和第一组指令;第二传输队列(425),用于存储超出要存储在所述第一传输队列(455)中的预定阈值数目数据分组的数据分组和第二组指令;以及处理器(410),在执行所述第一组指令和所述第二组指令时,被配置用于响应包含少于阈值数目的数据分组的第一传输队列(455),执行下列步骤将数据分组从所述第二传输队列(425)转移到所述第一传输队列(455),所述转移的数据分组包含至少两个级联的数据分组;将所述转移的数据分组确定为所述第一传输队列(455)中准备发送的数据分组;以及在最初准备发送的数据分组中指示存在随后准备发送的数据分组,所述最初准备发送的数据分组和所述随后准备发送的数据分组存在于所述第一传输队列(455)中的准备发送数据分组的序列中。
14.如权利要求13所述的设备,其特征在于,随后准备发送数据分组存在的指示被插入到所述最初准备发送数据分组的报头(320)中。
15.如权利要求13所述的设备,其特征在于,所述双向通信设备(120)是电缆调制解调器。
16.如权利要求15所述的设备,其特征在于,所述电缆调制解调器包含电缆调制解调器IC(450)。
17.如权利要求16所述的设备,其特征在于,所述电缆调制解调器IC是Broadcom 3350 DOCSIS电缆调制解调器IC。
18.如权利要求17所述的设备,其特征在于,所述第一传输队列(455)是所述Broadcom 3350 DOCSIS电缆调制解调器IC中的分组描述符队列。
19.如权利要求15所述的设备,其特征在于,所述第二传输队列(425)是所述电缆调制解调器中的软件队列。
20.一种设备,包含用于级联多个数据分组(200)的装置;以及用于捎带多个级联的数据分组(300)的装置。
全文摘要
一种用于在双向通信设备(120)中级联(200)和捎带(300)数据分组的方法和设备包含,响应双向通信设备(120)中包含少于阈值数目的数据分组的第一传输队列(455),将数据分组从所述双向通信设备(120)中的第二传输队列(425)转移(120)到所述第一传输队列(455),所转移的数据分组包含至少两个级联的数据分组。该方法和设备还包含在转移后将所转移的数据分组确定(120)为所述第一传输队列(455)中准备发送的数据分组,并在最初准备发送的数据分组中指示存在随后准备发送的数据分组,所述最初准备发送数据分组和所述随后准备发送的数据分组存在于所述第一传输队列(455)中准备发送数据分组的序列中。
文档编号H04L12/28GK1692604SQ03803460
公开日2005年11月2日 申请日期2003年2月5日 优先权日2002年2月6日
发明者T·F·古斯曼 申请人:汤姆森许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1