通信量拥塞控制的制作方法

文档序号:7611632阅读:122来源:国知局
专利名称:通信量拥塞控制的制作方法
技术领域
本发明涉及数据通信网络,更具体地,涉及在通信网络的路由器内的网络处理器和主处理器之间控制通信量拥塞。
背景技术
通常,路由器按照功能分成数据面、控制面和管理面,在网络处理器和主处理器上执行各个功能。
网络处理器的数据面包括快速路径以便以高速向开关发送大量分组,例如分组转发,以及慢速路径以便向主处理器传递例外分组(例外分组是具有大于基本标题的选项标题的分组,并且是大于基本分组尺寸并进行分割的分组),例外分组需要比简单转发更复杂的处理,例如带有控制分组。
主处理器的控制面和管理面经由路由选择协议消息处理来执行用于路由选择表操作员的配置和管理功能。
当超过处理能力的过多通信量要转移到高速网络处理器和主处理器之间的慢速路径内时,上端主处理器不能适当操作。因此,在这样的情形下已经对有效拥塞控制和流量控制进行了研究。
数据缓冲器(共享队列)用于具有不同CPU处理能力的两个处理器之间的流量控制,一种典型的方法是控制发送系统内的数据传输率以防缓冲器溢流出现在接收系统内。
典型的流量控制方法包括1、Tail-drop(尾部丢弃)方法是当满队列或溢流出现时删除后期进入的分组。
2、Stop-and-wait(停止和等待)方法是当发送分组之后接收到ACK信号时发送下一分组。
3、Sliding window(滑动窗口)方法是当发送n个分组之后接收到用于所有数据包的ACK信号时发送下一数据包。
4、Token generation rate dynamic control(标记生成速率动态控制)方法是根据存储在数据缓冲器内的单元是否超过阈值来设定接收数据缓冲器内的阈值和控制标记生成器的标记生成速率。
在Stop-and-wait方法中,在发送一个数据包之后发送数据包之前,发送系统等待来自接收系统的响应。当在接收的数据包内没有错误时,接收系统发送ACK信号,否则发送NACK信号。Stop-and-wait方法可以简单实现。然而,接收到用于前一分组的响应之后,可以发送下一分组,因此一帧占据链接的时间变长,引起低数据处理效率(吞吐量)。
另一方面,在Sliding window方法中,发送系统发送n个数据包而不等待ACK信号。接收系统依次接收最大量的n个数据包,并把它们存储在数据缓冲器内,并且当确认已经接收到所有数据包时,发送用于请求发送下一数据包的ACK信号。
如果某一数据包丢失或有错误,则接收系统请求重新发送相应的数据包。这里,参数“n”称为窗口尺寸,并且表示发送系统在接收到ACK信号之前可以连续发送的数据包数量。与Stop-and-wait方法相比,Slidingwindow方法已经提高了性能,但缺点是它实现起来复杂,因为发送和接收系统必须处理多个数据包。
同样,Token generation rate dynamic control方法只是提出速率限定程度的机制而没有考虑接收方的可用资源(CPU占用率)。
下列专利各自公开了与本发明一样的特征,但没有教导或暗示发明的特征明确地列举在本申请中。

发明内容
本发明的目的是提供控制通信量拥塞的方法和装置,其根据分组重要性确定优先权,并且考虑接收系统的可用资源(例如CPU占用率),以便防止过多通信量从发送系统传递到接收系统,从而保持稳定而平滑的通信处理。
为了实现上述目的,本发明提供一种用于控制通信量拥塞的装置,包括发送处理器,所述发送处理器包括分组分类单元,所述分组分类单元适合于对要在接收处理器内处理的分组和要经由所述发送处理器发送的分组进行分类,所述发送处理器和所述接收处理器具有不同的通信处理速度;缓冲器,所述缓冲器适合于存储从所述分组分类单元发送给所述接收处理器的分组;以及所述接收处理器,所述接收处理器包括标记驱动器和监控单元,所述标记驱动器适合于依据标记存储桶算法输出存储在所述缓冲器内的分组,以响应所述发送处理器的中断信号,并且把所述分组发送给相应的应用,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量。
所述缓冲器包括队列。所述发送处理器和所述接收处理器之一适合于设定标志,指示在向所述缓冲器发送分组之前,资源是否可用于所述接收处理器以处理所述分组。
为了实现上述目的,本发明提供一种用于控制通信量拥塞的装置,包括具有不同通信处理速度的网络处理器和主处理器;所述网络处理器包括分组分类单元和队列,所述分组分类单元适合于对要在所述主处理器内处理的分组和要经由所述网络处理器发送的分组进行分类,所述队列适合于排列从所述分组分类单元发送给所述主处理器的分组;以及所述主处理器包括标记驱动器和监控单元,所述标记驱动器适合于依据标记存储桶算法输出排列在所述队列内的分组,以响应所述网络处理器的中断信号,并且把所述分组发送给相应的应用,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量。
所述网络处理器和主处理器适合于依据中断驱动方法处理它们之间的分组。
所述分组分类单元适合于依据所述网络处理器接收的分组标题,对要发送给开关的分组和要发送给所述主处理器的分组进行分类。
所述队列包括可变长度队列,适合于把具有高优先权的分组排列在高队列内,并且把具有低优先权的分组排列在低队列内。
所述主处理器的标记驱动器包括标记存储桶,适合于依据通信带宽和分组速度来进行设定;标记生成单元,适合于依据来自所述监控单元的信息按照定期确定的速率生成标记;以及分组处理单元,适合于管理队列深度并且处理在所述队列内接收的分组。
所述主处理器的监控单元包括资源监控单元,适合于实时监控系统可用资源;通信量特性分析单元,适合于分析输入通信量的特性;通信量分布图(traffic profile),具有以前已经依据测量的可用资源和通信量特性设定的队列深度和标记生成速率;以及通信量控制单元,适合于控制标记生成和分组处理参数,以便依据来自所述资源监控单元和通信量特性分析单元的信息控制通信量。
为了实现上述目的,本发明提供一种用于控制通信量拥塞的装置,包括网络处理器,第一和第二主处理器,所述网络处理器具有与所述第一和第二主处理器不同的通信处理速度;所述网络处理器包括分组分类单元和队列,所述分组分类单元适合于对要在所述主处理器内处理的分组和要经由所述网络处理器发送的分组进行分类,所述队列适合于排列从所述分组分类单元发送给所述第一和第二主处理器的分组;所述第一主处理器包括标记驱动器,所述标记驱动器适合于依据标记存储桶算法输出排列在所述队列内的分组,以响应所述网络处理器的中断信号,并且把所述分组发送给相应的应用;所述第二主处理器包括监控单元,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量;以及系统内部总线,适合于在所述第一主处理器和第二主处理器之间发送信息。
所述网络处理器和第一主处理器适合于依据中断驱动方法处理它们之间的分组。
所述分组分类单元适合于依据所述网络处理器接收的分组标题,对要转发给开关的分组和要转发给所述第一及第二主处理器的分组进行分类。
所述队列包括可变长度队列,适合于把具有高优先权的分组排列在高队列内,并且把具有低优先权的分组排列在低队列内。
所述第一主处理器的标记驱动器包括标记存储桶,适合于依据通信带宽和分组速度来进行设定;标记生成单元,适合于依据来自所述监控单元的信息按照定期确定的速率生成标记;以及分组处理单元,适合于管理队列深度并且处理在所述队列内接收的分组。
所述第二主处理器的监控单元包括资源监控单元,适合于实时监控系统可用资源;通信量特性分析单元,适合于分析输入通信量的特性;通信量分布图,具有以前已经依据测量的可用资源和通信量特性设定的队列深度和标记生成速率;以及通信量控制单元,适合于控制标记生成和分组处理参数,以便依据来自所述资源监控单元和通信量特性分析单元的信息控制通信量。
为了实现上述目的,本发明提供一种在具有不同通信处理速度的发送处理器和接收处理器之间控制通信量拥塞的方法,所述方法包括识别要从所述发送处理器转发给所述接收处理器的分组;检验分组标志,所述分组标志指示所述接收处理器是否可以接收要转发给所述接收处理器的分组,并且一旦所述标志指示所述接收处理器可以接收所述分组,就把相应分组发送给所述接收处理器;以及所述接收处理器依据标记是否存在把从所述发送处理器接收的分组发送给相应的应用或者不再接收分组。
检验所述标志和发送所述分组包括一旦所述网络处理器生成要转发给所述接收处理器的分组,就识别指示所述接收处理器是否可以接收分组的标志值;当所述标志值设定为指示所述接收处理器不能接收所述分组时,删除所述分组;当所述标志值设定为指示所述接收处理器能接收所述分组时,比较所述分组的优先权;依据所述分组的优先权把所述分组排列在相应优先权队列内;以及排列之后向所述接收处理器发送中断信号。
操作员依据网络特性设定相应数据项,其中与由操作员设定为要优先处理的分组对应的数据项排列在高优先权队列内。
操作员依据网络特性设定相应数据项,其中与不是由操作员设定为要优先处理的分组对应的数据项排列在低优先权队列内。
发送从所述发送处理器接收的分组或不再接收任何分组包括使分组从所述队列中出列以响应标志值,所述标志值指示所述接收处理器可以接收所述分组;比较在分组处理单元内用完的标记量和在标记生成单元内生成的标记量来计算剩余标记;使标志设定为指示所述接收处理器不能接收所述分组的值,以响应作为所述计算的结果而作出没有剩余标记存在的确定;当剩余标记存在时更新用完的标记量,并且把当前接收的分组发送给相应的应用;以及确定可以从所述队列出列的分组是否存在,并且一旦确定没有分组要出列就结束分组处理程序。
所述方法还包括一旦确定要出列的分组存在就使所述分组从相应的队列出列。
所述方法还包括一旦确定所述标志值指示所述接收处理器不能接收所述分组就结束所述分组处理程序。
计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的带宽值和由所述标记生成单元生成的标记值之一的带宽值。
计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的pps值和由所述标记生成单元生成的标记值之一的pps值。
为了实现上述目的,本发明提供一种在具有不同通信处理速度的发送处理器和接收处理器之间控制通信量拥塞的方法,所述方法包括初始化带宽和分组数量;驱动标记生成单元的定时器;比较在分组处理单元内用完的标记量和由所述标记生成单元生成的标记量来计算剩余标记;从初始标记生成值中减去计算的剩余标记值来更新所述标记带宽和分组数量;以及设定标志,指示能接收所述分组的状态。
计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的带宽值和由所述标记生成单元生成的标记值之一的带宽值。
计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的pps值和由所述标记生成单元生成的标记值之一的pps值。
为了实现上述目的,本发明提供一种在具有不同通信处理速度的发送处理器和接收处理器之间控制通信量拥塞的方法,所述方法包括使用定时器定期分析资源占用率和通信量特性;一旦所述资源占用率等于或大于阈值,从预设分布图中搜索用于相应队列深度和标记值的项目;一旦根据搜索的分布图信息确定所述队列深度需要设定为新值,就向分组处理单元发送用于队列深度的新值以控制所述队列深度;一旦根据搜索的分布图信息确定标记生成速率需要设定为新值,就向标记生成单元发送用于所述标记生成速率的新值以控制标记量。
在用于监控所述接收处理器、分组处理单元和标记生成单元的资源的处理单元中,按照ioct1()函数执行通信。所述标记生成速率是按照bps和pps。


通过参考下面结合附图时的详细描述,本发明将变得更好理解,因此本发明的更完整理解及其许多附带优点将是显而易见的,其中相同附图标记指示相同或相似部件,其中图1是依据本发明实施例用于通信量拥塞的路由器的内部配置的方框图;图2是图1中路由器的另一配置的方框图;图3是依据本发明实施例的过程流程图,用于对从网络处理器传递给主处理器的分组和简单地转发给开关的分组进行分类;图4A和4B是依据本发明实施例在主处理器内操作的分组处理单元的操作流程图;图5A和5B是依据本发明实施例的标记生成单元的操作流程图;对于利用主处理器的带宽和每秒分组量(pps)的标记存储桶算法而言,所述标记生成单元是必需的;图6是依据本发明实施例监控主处理器的资源和通信量特性的操作流程图。
具体实施例方式
现在将在下文中参考附图更完整地描述本发明,其中图示了本发明的示例性实施例。然而,本发明可以实施成不同形式,并且不应该理解为局限于本文中所述的实施例。相反,提供这些实施例以便本公开文本将是彻底而完整的,并且将向本领域技术人员完全地传达本发明的范围。在这些图中,相同附图标记在整个说明书中指的是相同部件。
图1是依据本发明实施例用于通信量拥塞的路由器的内部配置的方框图。
参考图1,依据本发明实施的路由器包括网络处理器100、主处理器200和开关300;网络处理器100确定对接收的分组进行发送和处理的目的地,然后把它发送给下一行;主处理器200通过对从网络处理器100接收的分组进行路由选择协议处理来搜索路由选择目的地,并且控制整个系统的管理功能;开关300把经由网络处理器100接收的分组切换到目的地。
网络处理器100包括分组分类单元110和可变长度优先权队列150;分组分类单元110用于在接收的分组中分类要在主处理器内进行处理的例外分组;可变长度优先权队列150用于根据分组的优先权把分组存储在相应队列内。
例外分组不是直接通过网络处理器100快速传递给开关300的分组,而是在主处理器200内经历复杂处理的分组,并且包括控制分组,控制分组是具有大于基本标题的选项标题的分组,或者是认为大于基本分组尺寸并进行分割的分组。
可变长度优先权队列150根据优先权分成高优先权队列151和低优先权队列152,并且能够可变地设定队列深度。
主处理器200包括标记驱动器210和监控过程220;标记驱动器210根据标记生成速率控制通过网络处理器100的中断信号在优先权队列150内排队的分组,并且把它发送给相应的应用;监控过程220分析和监控标记驱动器210的资源占用率和通信量特性,以便设定与标记生成和标记处理的适当等级有关的参数。
作为本发明的另一实施例,为了负载共享,如图2中所示,独立地配置标记驱动器210和监控过程220,并且经由PCI总线230执行标记驱动器210和监控过程220之间的数据交换。
图1和图2的标记驱动器210包括标记生成单元211、标记存储桶212、以及分组处理单元213;标记生成单元211用于以预定速率生成需要的许多标记;标记存储桶212用于考虑到通信带宽和分组速度而进行设定;分组处理单元213用于管理队列深度和处理在队列内接收的分组。
为了帮助理解标记存储桶212,标记存储桶方法解释如下。中断通信首先存储在数据缓冲器内,并且通过定期生成的标记输出存储在数据缓冲器内的通信。也就是,通过在获得标记之后发送通信来控制通信输出速度。
图1和图2的监控过程220包括资源(CPU)监控单元221、通信量特性分析单元224、通信量分布图223、以及通信量控制单元222;资源监控单元221用于实时监控系统CPU可用资源;通信量特性分析单元224用于分析输入通信量的特性;通信量分布图223具有根据测量的资源可用性状态和通信量特性而预设的队列深度和标记生成速率;通信量控制单元222用于控制标记生成和分组处理参数,这些参数用于通过从资源监控单元220和通信量特性分析单元224中获取的信息控制通信量。
通过中断驱动方法的机制执行网络处理器100和主处理器200之间的数据发送和接收。
考虑到根据接收分组的大小和数量对系统负载的影响,可以在接收系统(主处理器)内处理的带宽(bps字节/每秒)和分组计数器(pps分组/每秒)应用于标记存储桶的标记生成和标记处理速率。
操作员动态地设定带宽(bps)和分组计数器(pps)。
甚至由于结合设定的带宽和分组计数器而出现分组通信量拥塞,但主处理器的CPU占用率保持在最大CPU阈值和最小CPU阈值之间。
监控过程220的通信量特性分析单元224根据接收的分组大小、由于速率限定而删除的分组数量、以及用完的标记量,来分析计数器和每单位时间的传输率以确定适合于当前通信量情形的bps/pps。通信量特性分析单元224向通信量控制单元222发送确定的bps/pps信息。
当bps低而pps高时,这意味着少量分组正在快速进入,因此优选为增加pps。
相反,当bps高而pps低时,这意味着大量分组正在缓慢进入,因此优选为增加bps。
因此,当作为定期或实时监控主处理器200的CPU占用率的结果而确定CPU占用率(可用资源)超过设定阈值时,控制生成的标记量和队列深度,从而控制正在进入主处理器的分组量。
也就是,当CPU占用率(可用资源)超过设定阈值时,监控过程220的资源监控单元221实时向通信量控制单元222通知实况,并且通信量控制单元222在标记生成单元211和分组处理单元213内预设新的通信参数,以便根据从资源监控单元221获取的CPU占用率和从通信量特性分析单元224获取的通信量特性来控制通信量。
各种情况下的详细操作可以汇总如下1、当主处理器200的CPU占用率高而输入分组的bps/pps低时,大量资源正在被主处理器200的其他应用和操作系统(OS)暂时使用,因此延长优先权队列深度以缓冲数据。
2、当主处理器200的CPU占用率高而输入分组的bps/pps高时,减少每单位时间生成的标记量来控制输入分组的数量。
3、当主处理器200的CPU占用率低而输入分组的bps/pps高时,增加输入分组的数量不能对主处理器200的操作加重负担,因此增加生成的标记量。
4、当主处理器200的CPU占用率低而输入分组的bps/pps低时,保持队列深度和标记生成速率的最稳定等级。
可以按照表1中所示设定各种情况下的分布图。
<表1>

在下文中,详细解释在本发明实施例的路由器内控制通信量拥塞的过程。
图3是依据本发明实施例的过程流程图,用于对从网络处理器传递给主处理器的分组和简单地发送给开关的分组进行分类。
参考图3,在对从网络处理器100传递给主处理器200的分组进行分类和处理之前,从某一系统(S1)接收分组。
对接收的数据包执行数据处理(S2),然后,分组分类单元110把接收的分组分类成例外分组或直接简单地发送给开关300的分组。
可以经由标题分组分类分组。
如果接收的分组是例外分组(S3),则检验由主处理器200的标记驱动器210设定的flow_control(流量控制)标志,以确定是否要排队或删除接收的分组(S4)。
也就是,确定flow_control是否指示ENQUEUE-possible(可能排队)状态。
如果标志值是“1”,则指示不能再接收分组的状态,而如果标志值是“0”,则指示可以接收分组的状态。
因此,当标志值是“1”时,这意味着flow_control处于ENQUEUE-impossible(不可能排队)状态(STOP_ENQUEUE),因此,删除当前接收的分组,并且分组丢弃计数(Drop_count)增加“1”(S5)。如果在S4中标志值是“0”,这意味着flow_control处于ENQUEUE-possible(可能排队)状态,因此,确定当前接收的分组的优先权(S6),以便使接收的分组排列在优先权队列150的高优先权队列151和低优先权队列152的相应队列内(S7,S8)。
操作员可以根据网络特性设定确定分组优先权的方法,在本发明中,它是经由IPC接收的分组,或者可以根据协议类型进行设定。
当在上述方法中把分组排列在相应队列内时,网络处理器100向主处理器200发送中断信号以处理分组。
当依照上述方法正在主处理器200内接收分组时,主处理器200根据一系列算法处理接收的分组,过程如下。
图4A和4B是依据本发明实施例在主处理器内操作的分组处理单元的操作流程图。
参考图4A和4B,主处理器200从网络处理器100接收中断信号。
由于当处理以前分组时可以存在超过预定速率的情况,因此检验flow_control标志(S10)。
也就是,确定flow_control是否指示ENQUEUE-possible状态或STOP_ENQUEUE状态。
如果在S10中确定flow_control指示STOP_ENQUEUE状态,则结束分组处理程序。
如果在S10中确定flow_control指示ENQUEUE-possible状态,则首先检验高优先权队列151以确定队列是否是空的(S11)。
如果高优先权队列151不是空的,则使分组从高优先权队列出列(S12)。
如果高优先权队列151是空的,这意味着没有分组要从高优先权队列151出列,因此检验低优先权队列152以便使分组从“低”优先权队列出列(S13)。
此时,首先处理高优先权队列151,从而删除高优先权队列151的分组,以便少于低优先权队列152的分组。
在分组处理单元213内用完的标记(dp_bps,dp_pps)和由标记生成单元211生成的标记(cp_bps,cp_pps)进行比较以计算剩余标记(S15,S16,S18和S19)。
如果作为计算剩余标记的结果而确定没有剩余标记(S20),则flow_control变成STOP_ENQUEUE状态(S26)以便防止网络处理器100再执行排队操作,并且只处理通过标记生成单元211确定速率的分组。
如果确定剩余标记存在,则更新用完的标记量(S21,S22),然后向内核程序(堆栈)或应用程序传递分组(S23)。
此后,当高优先权队列151不是空的时,重复S12之后的过程,而低优先权队列152不是空的时,重复S13之后的过程。
另一方面,当确定高优先权队列151和低优先权队列152都是空的时,则结束分组处理程序。
在下文中,参考图5A-5B解释根据标记存储桶算法设定标记生成速率和分组处理速率的过程。
图5A和5B是依据本发明实施例的标记生成单元的操作流程图;对于利用主处理器的带宽和每秒分组量(pps)的标记存储桶算法而言,所述标记生成单元是必需的。
为了控制通信量拥塞,考虑到bps(字节/秒)和pps(分组/秒)而定期生成标记,并且定期检验标记以把标记生成速率更新成适当速率。
首先,初始化bps和pps以及数据结构(S30,S31),然后驱动标记生成单元211的定时器(S32)。
如果定时器的周期已经期满(S33),则定时器设定为“0”,然后重新开始(S34)。
在分组处理单元213内用完的标记(dp_bps,dp_pps)和由标记生成单元211生成的标记(cp_bps,cp_pps)进行比较(S35,S36)以计算剩余标记(S36,S37,S40和S41)。
更新cp_bps和cp_pps以便把标记量设定成预定的bps/pps值(S38,S42)。
此后,改变flow_control来指示ENQUEUE-possible状态,以便可以接收分组。
结果,通过上述方法定期生成和更新标记。
在下文中,参考图6解释监控过程220的操作。
图6是依据本发明实施例监控主处理器的资源和通信量特性的操作流程图。
通过使用轮询或定时器定期或实时检验CPU占用率和通信量特性(S50)。
如果确定CPU占用率等于或超过预设的最大阈值(S51),则flow_control设定为STOP_ENQUEUE状态(S52),则从表1的分布图中搜索适当的队列深度和标记数量(cp_bps,cp_pps)(S53)。
如果基于这个而改变当前队列深度(S54),则调用ioct1()(输入/输出控制函数)并转发给分组处理单元213,以便分组处理单元213可以控制优先权队列150的深度(S55)。
如果改变当前cp_bps和当前cp_pps(S56,S58),则调用ioct1()(输入/输出控制函数)并发送给标记生成单元211,以便标记生成单元211可以控制标记数量(cp_bps,cp_pps)(S57)。
如上所述,在路由器内具有不同性能的两个不同处理器(网络处理器和主处理器)之间的处理分组中,考虑到具有优先权顺序的通信量特性以及接收系统的可用资源和负载,实时动态地控制队列深度和标记数量,以便在两个处理器之间可以保持稳定的通信量,从而提高服务质量。
而且,可以考虑分组缓冲和分组共享来接收临时突发的分组。
尽管已经参考示例性实施例描述了本发明,但应该理解,为了以实例的方式阐述本发明而进行了上述公开,并且上述公开不是要限定本发明的范围。
权利要求
1.一种装置,包括发送处理器,所述发送处理器包括分组分类单元,所述分组分类单元适合于对要在接收处理器内处理的分组和要经由所述发送处理器转发的分组进行分类,所述发送处理器和所述接收处理器具有不同的通信处理速度;缓冲器,所述缓冲器适合于存储从所述分组分类单元转发给所述接收处理器的分组;以及所述接收处理器,所述接收处理器包括标记驱动器和监控单元,所述标记驱动器适合于依据标记存储桶算法输出存储在所述缓冲器内的分组,以响应所述发送处理器的中断信号,并且把所述分组发送给相应的应用程序,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量。
2.如权利要求1所述的装置,其中所述缓冲器包括队列。
3.如权利要求1所述的装置,其中所述发送处理器和所述接收处理器之一适合于设定标志,指示在向所述缓冲器发送分组之前,资源是否可用于所述接收处理器以处理所述分组。
4.一种装置,包括具有不同通信处理速度的网络处理器和主处理器;所述网络处理器包括分组分类单元和队列,所述分组分类单元适合于对要在所述主处理器内处理的分组和要经由所述网络处理器转发的分组进行分类,所述队列适合于排列从所述分组分类单元发送给所述主处理器的分组;以及所述主处理器包括标记驱动器和监控单元,所述标记驱动器适合于依据标记存储桶算法输出排列在所述队列内的分组,以响应所述网络处理器的中断信号,并且把所述分组发送给相应的应用程序,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量。
5.如权利要求4所述的装置,其中所述网络处理器和主处理器适合于依据中断驱动方法处理它们之间的分组。
6.如权利要求4所述的装置,其中所述分组分类单元适合于依据所述网络处理器接收的分组标题,对要转发给开关的分组和要转发给所述主处理器的分组进行分类。
7.如权利要求4所述的装置,其中所述队列包括可变长度队列,适合于把具有高优先权的分组排列在高队列内,并且把具有低优先权的分组排列在低队列内。
8.如权利要求4所述的装置,其中所述主处理器的标记驱动器包括标记存储桶,适合于依据通信带宽和分组速度来进行设定;标记生成单元,适合于依据来自所述监控单元的信息按照定期确定的速率生成标记;以及分组处理单元,适合于管理队列深度并且处理在所述队列内接收的分组。
9.如权利要求4所述的装置,其中所述主处理器的监控单元包括资源监控单元,适合于实时监控系统可用资源;通信量特性分析单元,适合于分析输入通信量的特性;通信量分布图,具有先前已经依据测量的可用资源和通信量特性设定的队列深度和标记生成速率;以及通信量控制单元,适合于控制标记生成和分组处理参数,以便依据来自所述资源监控单元和通信量特性分析单元的信息控制通信量。
10.一种装置,包括网络处理器,第一和第二主处理器,所述网络处理器具有与所述第一和第二主处理器不同的通信处理速度;所述网络处理器包括分组分类单元和队列,所述分组分类单元适合于对要在所述主处理器内处理的分组和要经由所述网络处理器转发的分组进行分类,所述队列适合于排列从所述分组分类单元转发给所述第一和第二主处理器的分组;所述第一主处理器包括标记驱动器,所述标记驱动器适合于依据标记存储桶算法输出排列在所述队列内的分组,以响应所述网络处理器的中断信号,并且把所述分组发送给相应的应用程序;所述第二主处理器包括监控单元,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量;以及系统内部总线,适合于在所述第一主处理器和第二主处理器之间发送信息。
11.如权利要求10所述的装置,其中所述网络处理器和第一主处理器适合于依据中断驱动方法处理它们之间的分组。
12.如权利要求10所述的装置,其中所述分组分类单元适合于依据所述网络处理器接收的分组标题,对要转发给开关的分组和要发送给所述第一及第二主处理器的分组进行分类。
13.如权利要求10所述的装置,其中所述队列包括可变长度队列,适合于把具有高优先权的分组排列在高队列内,并且把具有低优先权的分组排列在低队列内。
14.如权利要求10所述的装置,其中所述第一主处理器的标记驱动器包括标记存储桶,适合于依据通信带宽和分组速度来进行设定;标记生成单元,适合于依据来自所述监控单元的信息按照定期确定的速率生成标记;以及分组处理单元,适合于管理队列深度并且处理在所述队列内接收的分组。
15.如权利要求10所述的装置,其中所述第二主处理器的监控单元包括资源监控单元,适合于实时监控系统可用资源;通信量特性分析单元,适合于分析输入通信量的特性;通信量分布图,具有以前已经依据测量的可用资源和通信量特性设定的队列深度和标记生成速率;以及通信量控制单元,适合于控制标记生成和分组处理参数,以便依据来自所述资源监控单元和通信量特性分析单元的信息控制通信量。
16.一种在具有不同通信处理速度的发送处理器和接收处理器之间控制通信量拥塞的方法,所述方法包括识别要从所述发送处理器转发给所述接收处理器的分组;检验分组标志,所述分组标志指示所述接收处理器是否可以接收要转发给所述接收处理器的分组,并且一旦所述标志指示所述接收处理器可以接收所述分组,就把相应分组发送给所述接收处理器;以及所述接收处理器依据标记是否存在把从所述发送处理器接收的分组发送给相应的应用程序或者不再接收分组。
17.如权利要求16所述的方法,其中检验所述标志和发送所述分组包括一旦所述网络处理器生成要转发给所述接收处理器的分组,就识别指示所述接收处理器是否可以接收分组的标志值;当所述标志值设定为指示所述接收处理器不能接收所述分组时,删除所述分组;当所述标志值设定为指示所述接收处理器能接收所述分组时,比较所述分组的优先权;依据所述分组的优先权把所述分组排列在相应优先权队列内;以及排列之后向所述接收处理器发送中断信号。
18.如权利要求16所述的方法,其中操作员依据网络特性设定相应数据项,其中与由操作员设定为要优先处理的分组对应的数据项排列在高优先权队列内。
19.如权利要求16所述的方法,其中操作员依据网络特性设定相应数据项,其中与不是由操作员设定为要优先处理的分组对应的数据项排列在低优先权队列内。
20.如权利要求16所述的方法,其中发送从所述发送处理器接收的分组或不再接收任何分组包括使分组从所述队列中出列以响应标志值,所述标志值指示所述接收处理器可以接收所述分组;比较在分组处理单元内用完的标记量和在标记生成单元内生成的标记量来计算剩余标记;使标志设定为指示所述接收处理器不能接收所述分组的值,以响应作为所述计算的结果而作出没有剩余标记存在的确定;当剩余标记存在时更新用完的标记量,并且把当前接收的分组发送给相应的应用程序;以及确定可以从所述队列出列的分组是否存在,并且一旦确定没有分组要出列就结束分组处理程序。
21.如权利要求20所述的方法,还包括一旦确定要出列的分组存在就使所述分组从相应的队列出列。
22.如权利要求20所述的方法,还包括一旦确定所述标志值指示所述接收处理器不能接收所述分组就结束所述分组处理程序。
23.如权利要求20所述的方法,其中计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的带宽值和由所述标记生成单元生成的标记值之一的带宽值。
24.如权利要求20所述的方法,其中计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的pps值和由所述标记生成单元生成的标记值之一的pps值。
25.一种在具有不同通信处理速度的发送处理器和接收处理器之间控制通信量拥塞的方法,所述方法包括初始化带宽和分组数量;驱动标记生成单元的定时器;比较在分组处理单元内用完的标记量和由所述标记生成单元生成的标记量来计算剩余标记;从初始标记生成值中减去计算的剩余标记值来更新所述标记带宽和分组数量;以及设定标志,指示能接收所述分组的状态。
26.如权利要求25所述的方法,其中计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的带宽值和由所述标记生成单元生成的标记值之一的带宽值。
27.如权利要求25所述的方法,其中计算所述剩余标记包括比较在所述分组处理单元内用完的标记值之一的pps值和由所述标记生成单元生成的标记值之一的pps值。
28.一种在具有不同通信处理速度的发送处理器和接收处理器之间控制通信量拥塞的方法,所述方法包括使用定时器定期分析资源占用率和通信量特性;一旦所述资源占用率等于或大于阈值,从预设分布图中搜索用于相应队列深度和标记值的项目;一旦根据搜索的分布图信息确定所述队列深度需要设定为新值,就向分组处理单元发送用于队列深度的新值以控制所述队列深度;一旦根据搜索的分布图信息确定标记生成速率需要设定为新值,就向标记生成单元发送用于所述标记生成速率的新值以控制标记量。
29.如权利要求28所述的方法,其中所述标记生成速率是基于bps和pps的。
30.如权利要求28所述的方法,其中在用于监控所述接收处理器、分组处理单元和标记生成单元的资源的处理单元中,按照ioct1()函数执行通信。
全文摘要
一种用于控制通信量拥塞的装置包括发送处理器,所述发送处理器包括分组分类单元,所述分组分类单元适合于对要在接收处理器内处理的分组和要经由所述发送处理器发送的分组进行分类,所述发送处理器和所述接收处理器具有不同的通信处理速度;缓冲器,所述缓冲器适合于存储从所述分组分类单元发送给所述接收处理器的分组;以及所述接收处理器,所述接收处理器包括标记驱动器和监控单元,所述标记驱动器适合于依据标记存储桶算法输出存储在所述缓冲器内的分组,以响应所述发送处理器的中断信号,并且把所述分组发送给相应的应用,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量。
文档编号H04L12/26GK1645837SQ20051000554
公开日2005年7月27日 申请日期2005年1月19日 优先权日2004年1月19日
发明者金奉澈, 崔炳求, 朴容奭 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1