CN1645837A - 通信量拥塞控制 - Google Patents

通信量拥塞控制 Download PDF

Info

Publication number
CN1645837A
CN1645837A CNA2005100055471A CN200510005547A CN1645837A CN 1645837 A CN1645837 A CN 1645837A CN A2005100055471 A CNA2005100055471 A CN A2005100055471A CN 200510005547 A CN200510005547 A CN 200510005547A CN 1645837 A CN1645837 A CN 1645837A
Authority
CN
China
Prior art keywords
grouping
mark
processor
value
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005100055471A
Other languages
English (en)
Inventor
金奉澈
崔炳求
朴容奭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1645837A publication Critical patent/CN1645837A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket

Abstract

一种用于控制通信量拥塞的装置包括:发送处理器,所述发送处理器包括分组分类单元,所述分组分类单元适合于对要在接收处理器内处理的分组和要经由所述发送处理器发送的分组进行分类,所述发送处理器和所述接收处理器具有不同的通信处理速度;缓冲器,所述缓冲器适合于存储从所述分组分类单元发送给所述接收处理器的分组;以及所述接收处理器,所述接收处理器包括标记驱动器和监控单元,所述标记驱动器适合于依据标记存储桶算法输出存储在所述缓冲器内的分组,以响应所述发送处理器的中断信号,并且把所述分组发送给相应的应用,所述监控单元适合于分析和监控由所述标记驱动器使用的资源占用率和通信量特性来设定标记数量。

Description

通信量拥塞控制
技术领域
本发明涉及数据通信网络,更具体地,涉及在通信网络的路由器内的网络处理器和主处理器之间控制通信量拥塞。
背景技术
通常,路由器按照功能分成数据面、控制面和管理面,在网络处理器和主处理器上执行各个功能。
网络处理器的数据面包括快速路径以便以高速向开关发送大量分组,例如分组转发,以及慢速路径以便向主处理器传递例外分组(例外分组是具有大于基本标题的选项标题的分组,并且是大于基本分组尺寸并进行分割的分组),例外分组需要比简单转发更复杂的处理,例如带有控制分组。
主处理器的控制面和管理面经由路由选择协议消息处理来执行用于路由选择表操作员的配置和管理功能。
当超过处理能力的过多通信量要转移到高速网络处理器和主处理器之间的慢速路径内时,上端主处理器不能适当操作。因此,在这样的情形下已经对有效拥塞控制和流量控制进行了研究。
数据缓冲器(共享队列)用于具有不同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>
    监控值     结果应用值
  CPU占用率   BPS PPS   队列深度   Cp_bps   Cp_pps
  1   <=最小CPU   <=最小BPS <=最小PPS   非QUEUE   非BPS   非PPS
  2   <=最小CPU   <=最小BPS >=最大PPS   非QUEUE   非BPS   最大PPS
  3   <=最小CPU   >=最大BPS <=最小PPS   非QUEUE   最大BPS   非PPS
  4   <=最小CPU   >=最大BPS >=最大PPS   非QUEUE   最大BPS   最大PPS
  5   >=最大CPU   <=最小BPS <=最小PPS   最大QUEUE   非BPS   非PPS
  6   >=最大CPU   <=最小BPS >=最大PPS   最大QUEUE   非BPS   最大PPS
  7   >=最大CPU   >=最大BPS <=最小PPS   最大QUEUE   最大BPS   非PPS
  8   >=最大CPU   >=最大BPS >=最大PPS   最大QUEUE   最大BPS   最大PPS
在下文中,详细解释在本发明实施例的路由器内控制通信量拥塞的过程。
图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)。
如上所述,在路由器内具有不同性能的两个不同处理器(网络处理器和主处理器)之间的处理分组中,考虑到具有优先权顺序的通信量特性以及接收系统的可用资源和负载,实时动态地控制队列深度和标记数量,以便在两个处理器之间可以保持稳定的通信量,从而提高服务质量。
而且,可以考虑分组缓冲和分组共享来接收临时突发的分组。
尽管已经参考示例性实施例描述了本发明,但应该理解,为了以实例的方式阐述本发明而进行了上述公开,并且上述公开不是要限定本发明的范围。

Claims (30)

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()函数执行通信。
CNA2005100055471A 2004-01-19 2005-01-19 通信量拥塞控制 Pending CN1645837A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040003982 2004-01-19
KR1020040003982A KR100666980B1 (ko) 2004-01-19 2004-01-19 트래픽 폭주 제어 방법 및 이를 구현하기 위한 장치

Publications (1)

Publication Number Publication Date
CN1645837A true CN1645837A (zh) 2005-07-27

Family

ID=34747879

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100055471A Pending CN1645837A (zh) 2004-01-19 2005-01-19 通信量拥塞控制

Country Status (3)

Country Link
US (1) US7447152B2 (zh)
KR (1) KR100666980B1 (zh)
CN (1) CN1645837A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779444B (zh) * 2006-05-02 2014-06-18 斯凯普公司 用于处理通信系统中的呼叫质量的用户界面

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024481B2 (en) * 2000-04-17 2011-09-20 Circadence Corporation System and method for reducing traffic and congestion on distributed interactive simulation networks
US7599287B2 (en) * 2002-11-15 2009-10-06 Cisco Technology, Inc. Tokens in token buckets maintained among primary and secondary storages
KR100656348B1 (ko) * 2004-12-08 2006-12-11 한국전자통신연구원 토큰 버켓을 이용한 대역폭 제어 방법 및 대역폭 제어 장치
US7447768B2 (en) * 2005-01-19 2008-11-04 Facetime Communications, Inc. Categorizing, classifying, and identifying network flows using network and host components
US7636304B2 (en) * 2005-03-30 2009-12-22 Cisco Technology, Inc. System and method for performing distributed policing
US7500010B2 (en) * 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
US20060245359A1 (en) * 2005-04-29 2006-11-02 Telefonaktiebolaget Lm Ericsson (Publ) Processor overload control for network nodes
JP4667128B2 (ja) * 2005-06-13 2011-04-06 富士通株式会社 通信制御方法及び,これを適用する通信システム
US7764612B2 (en) * 2005-06-16 2010-07-27 Acme Packet, Inc. Controlling access to a host processor in a session border controller
JP2007013449A (ja) * 2005-06-29 2007-01-18 Nec Commun Syst Ltd シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
US20070097864A1 (en) * 2005-11-01 2007-05-03 Cisco Technology, Inc. Data communication flow control
US20070174644A1 (en) * 2006-01-04 2007-07-26 Tendril Networks, Inc. Apparatus and Method for Dynamic Tokenization of Wireless Network Datagrams
US7944838B2 (en) * 2006-01-16 2011-05-17 Kddi Corporation Apparatus, method and computer program for traffic control
JP4577279B2 (ja) * 2006-06-21 2010-11-10 Kddi株式会社 トークンバケットによるトラヒック制御装置、方法及びプログラム
JP4142068B2 (ja) * 2006-06-16 2008-08-27 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびアクセス制御方法
US8417826B2 (en) * 2006-10-12 2013-04-09 Alcatel Lucent Method and system of overload control in packetized communication networks
US20090193108A1 (en) * 2008-01-29 2009-07-30 George Shin Critical Resource Management
WO2009111801A2 (en) * 2008-03-07 2009-09-11 Tendril Networks, Inc. Apparatus and method for dynamic licensing access to wireless network information
US8174980B2 (en) * 2008-03-28 2012-05-08 Extreme Networks, Inc. Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets
US8977404B2 (en) * 2008-09-08 2015-03-10 Tendril Networks, Inc. Collaborative energy benchmarking systems and methods
US9722813B2 (en) 2008-09-08 2017-08-01 Tendril Networks, Inc. Consumer directed energy management systems and methods
KR101646768B1 (ko) 2009-02-27 2016-08-09 삼성전자주식회사 이퀄-모델 프로세서를 위한 인터럽트 처리장치 및 처리방법과 그 처리장치를 포함하는 프로세서
JP5201415B2 (ja) * 2009-03-05 2013-06-05 富士通株式会社 ログ情報発行装置、ログ情報発行方法およびプログラム
TWI465075B (zh) * 2009-03-23 2014-12-11 Mediatek Inc 封包處理之裝置與系統
US9026261B2 (en) * 2009-06-08 2015-05-05 Tendril Networks, Inc. Methods and systems for managing energy usage in buildings
CN101772061B (zh) * 2010-01-14 2013-11-06 华为技术有限公司 休眠定时器控制方法和装置及通讯系统
JP5445271B2 (ja) * 2010-03-30 2014-03-19 富士通株式会社 帯域制御装置,帯域制御方法,及びプログラム
US9516357B2 (en) * 2010-09-10 2016-12-06 Verizon Patent And Licensing Inc. Recording variable-quality content stream
WO2012057733A1 (en) * 2010-10-25 2012-05-03 Hewlett-Packard Development Company, L.P. Systems, methods, and devices for adjusting video conference parameters to maintain system performance
US8572699B2 (en) * 2010-11-18 2013-10-29 Microsoft Corporation Hardware-based credential distribution
US20120127864A1 (en) * 2010-11-22 2012-05-24 Avaya Inc. Performing policing operations in packet time
CA2827941C (en) * 2011-02-24 2017-09-12 The University Of Tulsa Network-based hyperspeed communication and defense
WO2013044367A1 (en) * 2011-09-29 2013-04-04 Avvasi Inc. Systems and methods for media service delivery
CN102413042A (zh) * 2011-11-14 2012-04-11 盛科网络(苏州)有限公司 基于时戳更新令牌桶的流量监管的方法及系统
KR101565102B1 (ko) 2012-04-04 2015-11-02 주식회사 케이티 이중 우선순위 어플리케이션을 갖는 기계 형태 통신 장치에 대한 접속 제어 방법 및 장치
WO2013151246A1 (ko) * 2012-04-04 2013-10-10 주식회사 케이티 이중 우선순위 어플리케이션을 갖는 기계 형태 통신 장치에 대한 접속 제어 방법 및 장치
US8930604B2 (en) * 2012-07-17 2015-01-06 Lsi Corporation Reliable notification of interrupts in a network processor by prioritization and policing of interrupts
US10678279B2 (en) 2012-08-01 2020-06-09 Tendril Oe, Llc Optimization of energy use through model-based simulations
EP2888843A4 (en) * 2012-08-21 2016-03-09 Hewlett Packard Development Co OVERLOAD NOTIFICATION IN A NETWORK
US20140105218A1 (en) * 2012-10-12 2014-04-17 Prashant H. Anand Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4g ip network/equipment for better traffic performance
US9423779B2 (en) 2013-02-06 2016-08-23 Tendril Networks, Inc. Dynamically adaptive personalized smart energy profiles
US9576472B2 (en) 2013-02-06 2017-02-21 Tendril Networks, Inc. Real-time monitoring and dissemination of energy consumption and production data
US9310815B2 (en) 2013-02-12 2016-04-12 Tendril Networks, Inc. Setpoint adjustment-based duty cycling
US9237111B2 (en) 2013-03-14 2016-01-12 International Business Machines Corporation Credit-based flow control in lossless ethernet networks
US9088508B1 (en) 2014-04-11 2015-07-21 Level 3 Communications, Llc Incremental application of resources to network traffic flows based on heuristics and business policies
US9503623B2 (en) 2014-06-03 2016-11-22 Applied Minds, Llc Color night vision cameras, systems, and methods thereof
KR101712168B1 (ko) * 2015-08-24 2017-03-03 주식회사 케이티 패킷 입력 메시지 제어 방법, 이를 수행하는 스위치 및 컨트롤러
US10866568B2 (en) 2016-04-01 2020-12-15 Tendril Oe, Llc Orchestrated energy
CN106302464B (zh) * 2016-08-17 2019-07-26 浪潮集团有限公司 一种基于硬件的自适应网络架构及自适应网络方法
CA3147754A1 (en) 2019-07-24 2021-01-28 Adriana KNATCHBULL-HUGESSEN Adaptive thermal comfort learning for optimized hvac control
CN111083062A (zh) * 2019-12-17 2020-04-28 深圳前海环融联易信息科技服务有限公司 基于权重机制的限流方法、装置、计算机设备及存储介质
US11782851B2 (en) * 2021-09-01 2023-10-10 Micron Technology, Inc. Dynamic queue depth adjustment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3386117B2 (ja) * 2000-01-11 2003-03-17 日本電気株式会社 マルチレイヤクラス識別通信装置と通信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779444B (zh) * 2006-05-02 2014-06-18 斯凯普公司 用于处理通信系统中的呼叫质量的用户界面

Also Published As

Publication number Publication date
KR20050076158A (ko) 2005-07-26
KR100666980B1 (ko) 2007-01-10
US20050157723A1 (en) 2005-07-21
US7447152B2 (en) 2008-11-04

Similar Documents

Publication Publication Date Title
CN1645837A (zh) 通信量拥塞控制
CN1767500A (zh) 数据包通信装置
CN1478345A (zh) 分组交换通信网络内的使用漏桶算法的流量控制
CN1529965A (zh) 公用信道流控制方法及系统
CN1596527A (zh) 分组发送调度方法及基站装置
CN1852581A (zh) 一种在下行链路上传输数据的方法
CN1893340A (zh) 实现多载波高速下行分组接入业务的设备、系统及方法
CN1310479C (zh) 通信控制方法和系统
CN1910868A (zh) 用于控制队列缓冲器的方法及装置
CN1819553A (zh) 使用多个传输控制协议确认的传输控制协议拥塞控制
CN1778079A (zh) 用于协调tcp/ip网络与其他网络之间的流控制的方法和设备
CN1836169A (zh) 在移动电信系统中的自动ip话务优化
CN1864374A (zh) Umts中协调的数据流控制和缓冲器共享
CN101056264A (zh) 流量控制的方法和业务处理系统
CN1494296A (zh) 确定网络路径传输单元
CN101030896A (zh) 网络系统及通信量信息汇集装置
CN101047640A (zh) 无线接入承载数据传输方法
CN1832483A (zh) 通信系统中控制数据传输的方法和系统
CN1545286A (zh) 基于ecn且带预测验证的拥塞控制方法
CN1859037A (zh) 一种高速媒体接入控制分组数据单元的发送和接收方法
CN1836411A (zh) 会话中继设备和中继方法
CN1777147A (zh) 支持多队列的共享缓存动态门限早期丢弃装置
CN1859122A (zh) 实现对业务提供商分类服务的方法及装置
CN1618216A (zh) 针对流量整形的分等级信用队列
CN1633796A (zh) 针对广播或无线网络修改tcp/ip

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20050727