CN1726680A - 网络设备中的流控制 - Google Patents
网络设备中的流控制 Download PDFInfo
- Publication number
- CN1726680A CN1726680A CNA2003801060993A CN200380106099A CN1726680A CN 1726680 A CN1726680 A CN 1726680A CN A2003801060993 A CNA2003801060993 A CN A2003801060993A CN 200380106099 A CN200380106099 A CN 200380106099A CN 1726680 A CN1726680 A CN 1726680A
- Authority
- CN
- China
- Prior art keywords
- parameter
- stream
- flow rate
- error signal
- flow
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 88
- 230000004044 response Effects 0.000 claims description 75
- 230000008859 change Effects 0.000 claims description 57
- 230000015572 biosynthetic process Effects 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 35
- 230000005764 inhibitory process Effects 0.000 claims description 17
- 230000000737 periodic effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 abstract 1
- 230000004043 responsiveness Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 57
- 238000004088 simulation Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/525—Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Selective Calling Equipment (AREA)
- Paper (AREA)
- Communication Control (AREA)
Abstract
提供了用于控制流入相应于网络设备1的资源3的队列4的多个数据包流的流速率的方法与装置。这些流包括非响应流集合7和其它流集合8,其它流集合8可以包括响应流与/或其响应情况未知的流。可以根据队列管理方案管理所述流速率,从而可根据资源中的剩余带宽对每一流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数。根据距流入针对流集合7、8的队列4的总流速率的比率的所希望分配比率的偏差,生成误差信号。然后,根据误差信号,以减小以上所提到的偏差的方式,改变针对至少一个流的至少一个调整参数。因此,闭环控制方案可以结合基础队列管理方案操作,以促进公平的带宽分配,即使是在存在响应和非响应流的混合的情况下。
Description
技术领域
总体上讲,本发明涉及数据通信网络中的流控制,更具体地讲,本发明涉及用于控制流入网络设备中数据包队列的流速率的方法与装置。
背景技术
当数据包处理过程中所涉及的网络设备的任何资源以高于其可处理包的速率接收包时,包将会备份(back up),从而有效地引发了数据包队列。通常,提供了各种流控制机制,以管理从不同流到数据包队列的传输,其中“流(flow)”是某种定义的数据包集合或类别,例如,诸如来自特定源组的包、或者符合特定协议的包、或要求特定类服务的包等。具体地讲,可以实现队列管理方案,以根据资源中带宽的可用性,针对每个流来控制流入队列的流速率(即编队列(enqueuing)的速率或“供给(serviced)速率”)。通常,在操作中,通过指示是否有剩余带宽(即备用或未使用的带宽)可用的某种形式的队列长度阈值技术,来估计带宽的可用性。于是,可从确保流之间公平共享带宽同时满足针对具体流的任何有保证服务规格的角度,控制流速率。例如,诸如RED(随机早期检测)及其变体(variation)的主动队列管理(AQM)方案,通过概然地丢弃(drop)输入包(或者对包进行标记,以指示网络拥塞)来控制流速率,根据队列水平(level),按所定义的方式,增大或减小各流的丢弃概率。2002年2月Bowen等人在关于宽带通信的国际苏黎世座谈会IZS 2002上发表的“Bandwidth Allocation for Non-Responsive Flows with ActiveQueue Management(具有主动队列管理的针对非响应流的带宽分配)”中描述了一种更新的称为带宽分配技术(BAT)的AQM方案。这一方案属于和式增加积式减小(additive-increase multiplicative-decrease,AIMD)控制算法系列,并且不仅通过感知队列水平,也通过感知队列水平变化率,来监视剩余带宽。
因此,队列管理方案可基于本地拥塞水平控制流速率,根据队列所对应的具体本地资源中的剩余带宽调整流速率。附加的流控制机制也可以在全网络水平上操作。具体地讲,可以把某些网络协议归类为“响应的”。响应的协议提供了某种用于根据指示出现在网络中其它某处的拥塞状态的事件来调整流速率的机制,所述事件诸如包的丢弃或对包的标记。例如,诸如TCP(传送控制协议)的Internet(因特网)协议包含了一种端到端的后退(back-off)机制,从而当感知到拥塞时,设备以较低的速率发送数据。根据所使用的具体机制,不同的响应协议可以提供不同水平的响应性,但全都以宽于本地的水平提供了某种程度的拥塞控制。把其它网络协议,例如UDP(用户数据报协议)归类为非响应的。这些协议不顾网络中的拥塞,继续以相同的速率发送数据。因此,非响应的协议取决于本地机制来处理拥塞控制。
典型的网络可以支持符合各种不同协议的流量(traffic),所以既可以传送响应的流量,也可以传送非响应的流量。因此,总体上,希望网络流控制机制能够有效地、以某种公平的方式处理不同流量类型的混合。
发明内容
本发明基于这样的认识:当处理响应和非响应流的混合时,使用现存队列管理方案会引发严重的问题。具体地讲,通过响应后退机制来自动减小响应流速率,而不减小非响应流速率。这意味着非响应流可能“阻断”响应流,占用本地水平的所有剩余带宽。这与在队列管理系统所处理的所有流之间实现公平带宽分配的基本目标直接相悖。
本发明的一个方面提供了一种用于控制流入相应于网络设备的资源的队列的多个数据包流的流速率的方法,其中多个流包括响应流集合和其它流集合。该方法包括:
根据队列管理方案,管理流速率,从而可根据资源中的剩余带宽对每个流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数;
生成取决于距流入所述流集合的队列的总流速率的比率的所希望分配比率的偏差的误差信号;以及
根据误差信号,改变针对至少一个所述集合的至少一个流的至少一个调整参数,以减小所述偏差。
因此,体现本发明的方法控制流入针对多个流的队列的流速率(即供给速率),其中多个流包括非响应流集合和其它流集合。每个集合可以包括一或多个流,因此,在限制的情况下,可以仅针对两个流操作该方法。第一集合包括所知为非响应的流。第二集合包括其它流。这些其它流可以为那些所知为响应的流。然而,在所有实施例中,可能并不知道流控制系统所处理的所有流的响应情况。在这样的情况下,第二集合可以包括那些不知道其响应情况的流。因此,总体上,第二集合可以包括那些不知道为非响应的流。在任何情况下,均经由队列管理方案控制流的供给速率,其中队列管理方案根据带宽的可用性调整流速率,调整每一流速率,所调整的量取决于针对该流的一或多个调整参数。在队列管理过程的操作期间,根据两个流集合的所希望分配比率和总供给速率的比率之间的差,生成误差信号。因此,这一误差信号提供了对两个流集合之间的带宽分配与所希望值的偏差的指示。然后,把这一误差信号用于改变按这样一种方式在队列管理过程中所使用的至少一个调整参数,以减小这一偏差。因此,本发明的实施例提供了一种与基础队列管理方案协同操作的闭环控制方案,这缓解了以上所讨论的非响应流所导致的问题。从而,在本发明的实施例中,可以实现公平的带宽分配,即使是在必须管理非响应和响应流的混合的困难的流量状态下。因此,总体上讲,与现有系统相比,体现本发明的方法明显改进了流控制。
本技术领域的技术人员将会意识到,队列管理过程所管理的队列可以是实际的队列(例如,缓冲存储器中的数据包序列),也可以是与资源相关的逻辑队列,其中逻辑队列代表所关心资源的操作的逻辑抽象。因此,队列可以映射至,也可以不映射至单个的存储器段。同样,队列所对应的资源可以为任何与数据包的排队相关的资源。作为简单的例子,所述资源可以为存储器体,例如缓冲器,也可以为多个存储器体,例如缓冲器集合。或者,例如,资源可以简单地为用于按某种方式处理包的控制逻辑,可以把其操作抽象为逻辑队列。因此,总体上,所关心资源可以为直接或通过逻辑抽象,作为队列,代表其包处理吞吐量的任何设备资源。还将认识到,可以根据所使用的具体的队列管理方案,以各种方式估计资源中的剩余带宽的可用性。例如,可以根据队列占用或队列的某种函数估计剩余带宽,或者根据总输入对输出比、或者事实上的任何其它资源使用量度(measure),来估计剩余带宽。
可以根据两个集合的流的实际的与所希望分配比率之间的偏差,以各种方式导出误差信号。此处,在更宽泛的意义上使用术语“信号”。例如,误差信号可以简单地为在操作中周期性地加以更新的离散值。在具体的实施例中,实际分配比率(即,两个流集合的总供给速率之间的比率)的确定、与/或误差信号可以涉及某种形式的平均过程。
通常,根据队列管理方案中所使用的具体调整参数,针对一或多个流的一或多个调整参数可以依误差信号加以改变。在优选实施例中,通过改变针对仅所述集合之一的每个流的至少一个调整参数,实现与总带宽分配的特别有效控制相结合的操作的简单性。最佳的做法是,针对仅所述集合之一的每个流改变单个的调整参数。在以下所描述的特别优选的实施例中,根据BAT方案执行队列管理过程,其中,当剩余带宽可用时,增加每一流速率,其增加量取决于增加参数,当剩余带宽不可用时,减小每一流速率,其减小量取决于减小参数。通过改变针对非响应流集合的每个流的减小参数,在这些优选的实施例中可以实现特别有效的操作。
在队列管理过程中,在那些其中使用第一周期周期性地调整流速率的实施例中,优选的做法是,使用大于第一周期的第二周期,根据误差信号周期性地执行调整参数的改变。此处,优选的做法是令第二周期为第一周期的若干倍,例如,至少比第一周期大一个数量级,更佳的做法是,至少比第一周期大两个数量级。在以下所详细描述的特别优选的实施例中,由队列管理过程使用比流速率调整的周期大三个数量级的周期,来改变调整参数。在长于队列管理过程的时间尺度(scale)操作参数改变过程,抑制了两个过程之间的任何潜在的冲突,从而可以像通常那样实质地操作队列管理过程,并且当需要时,较慢-速率参数改变用作对这一过程的完善,以改进结果的带宽分配。以下,将参照所描述的具体例子,说明体现本发明的流控制方法的各种其它优选特性。
本发明的第二方面提供了一种用于控制流入相应于网络设备的资源的队列的多个数据包流的流速率的装置,其中所述多个流包括非响应流集合和其它流集合。该装置包括:
队列管理器,用于根据队列管理方案管理所述流速率,从而可根据资源中的剩余带宽对每一流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数;以及
调整控制器,用于控制针对至少一个所述集合的至少一个流的至少一个调整参数,对调整控制器进行配置,以生成取决于距流入所述流集合的队列的总流速率的比率的所希望分配比率的偏差的误差信号,并且根据误差信号,改变所述至少一个调整参数,以减小所述偏差。
应该认识到,总体上,在参照体现本发明的方法在此处描述特性的情况下,相应的特性可根据体现本发明的装置提供,反之亦然。
本发明的第三方面提供了一种用于处理通信网络中数据包的网络设备,该设备具有与数据包的队列相关的资源;并提供流控制逻辑,用于控制多个数据包流的流速率,所述数据包流包括流入该队列的非响应流集合和其它流集合,其中,流控制逻辑包括如以上针对本发明的第二方面所定义的队列管理器和调整控制器。
本发明的另一个方面提供了一种用于使网络设备的处理器执行以上所描述的流控制方法的计算机程序。
附图说明
现在,将参照附图,以非限制性例子说明性地描述本发明的优选实施例。
图1是包含了体现本发明的流控制系统的网络设备的示意性表示;
图2是流程图,说明了图1设备的调整控制器的操作;
图3是基本控制系统的结构图;
图4是表,给出了三种不同拥塞条件下体现本发明的流控制系统的模拟结果;
图5a、5b以及5c为三种拥塞条件下图4的结果的图形表示;
图6a和6b示出了展示流控制系统的改进的实施例的模拟结果;
图7示出了展示流控制系统的另一个改进的实施例的模拟结果;
图8是流控制系统的另一个实施例的调整控制器操作的示意性表示;
图9a和9b示出了使用图8实施例的第一模拟的结果;
图10a和10b示出了使用图8实施例的第二模拟的结果;以及
图11a和11b示出了使用图8实施例的第三模拟的结果;
具体实施方式
可以在各种网络设备中,例如在交换机、路由器、桥接器、流量整形器(traffic shaper)、负载平衡设备、中间盒(middlebox)、以及包含了防火墙的设备等中,使用体现本发明的流控制系统。总之,可以在任何其中要求队列管理的设备中使用将加以描述的流控制系统。在诸如路由器的典型的网络设备中,设备所接收的收入的数据包经历了不同的处理阶段,例如,在跨越网络转发之前,在媒体存取控制部件中缓冲、包分类、以及跨越内部交换光纤的传输。在由具体的设备资源处理之前,在这一过程的不同阶段对包排队列。可以在这些阶段的任何一个阶段使用体现本发明的流控制系统,以防止资源在拥塞情况下过载。现在,将参照图1~3描述这样的流控制系统的具体的例子。
图1是网络设备1的简化的示意图,示出了流控制系统的操作中所涉及的设备的主要元件。如所说明的,设备1包括流控制装置,由2总体地加以指示,用于控制流入相应于设备资源的队列的多个流的流速率。在这一简单的例子中,将加以保护的资源是缓冲存储器3,该缓冲存储器3包括将由系统加以管理的数据包的队列4。流控制装置2包括队列管理器5,该队列管理器5接收不同流的数据包,并且针对每个流,按受控的速率把包传输至队列4中。具体地讲,队列管理器5根据队列管理方案,针对每个流管理流入队列的流速率,即供给速率,其中队列管理方案根据剩余带宽对每一流速率进行调整。在这一实施例中,队列管理器5实施了BAT算法,其中把剩余带宽确定为以下所详细描述的队列占用情况的函数。由剩余带宽信号B(t)指示剩余带宽的可用性,在图中,把剩余带宽信号B(t)在图中示意性地表示为来自队列4的反馈信号。流控制装置2还包括调整控制器6,调整控制器6用于控制如以下所详细描述的队列管理过程中所使用的具体参数的值。总体上,可以通过适当配置的控制逻辑,包括硬件或软件或它们的组合,实现流控制装置2。例如,可以通过网络处理器方便地实现装置2,其中运行软件对处理器进行配置,以执行所描述的功能。根据此处的描述,适当的软件对本技术领域中的技术人员显而易见(当然,尽管可以使用适当的软件对这样的处理器进行预配置,但也可以分别地提供构成这样的软件的程序代码,以在网络设备中加载以对处理器进行配置,从而如所描述地来操作。可以把这样的程序代码作为独立的元件或者作为针对多个控制功能的程序代码的元件而提供,也可以将其提供在诸如磁盘的计算机可读媒体中,或者在发送至网络操作员的电子传输中来提供)。
把装置2所控制的流抽象地划分成在将加以描述的流控制方法的操作中不同地加以对待的两个不同的集合。第一集合包括那些所知为非响应的流。第二集合包括那些所知为响应的流,与/或那些其响应情况不清楚因而被视为潜在响应的流。为了简单起见,将针对TCP和UDP流的混合描述这一实施例的操作,从而,如图1中所示,UDP流由非响应流集合7构成,TCP流由响应流集合8构成(本技术领域的技术人员将会意识到,在某些情况下,可以把UDP流归类为响应的,其中,上覆的(overlying)应用向流施加了某种响应机制。此处,把UDP流简单地用作非响应流的方便的例子,因此为了本发明目的,把UDP流归类为非响应的)。队列管理器5按输入流速率,或“所提供(offered)速率”Oi接收每个流。队列管理器5通常根据以上所参照的文件中所描述的BAT方案,针对每个流周期性地计算传输段(transmitfraction)Ti。然后,随机地丢弃包,以实现针对该流的供给速率Ti.Oi。根据队列管理器5中所使用的BAT方案,使用针对每个流的周期dt、传输段Ti,在时间(t+dt)计算传输段,这一计算由下列给出:
Ti(t+dt)=min(1,Ti(t)+w) if fi(t)<fimin
Ti(t)(1-w) else if fi(t)>fimax
min(1,Ti(t)+Ci*Bavg(t)) else if B(t)=1
max(0,Ti(t)(1-Di*Oi(t))) otherwise
其中:fi(t)=Ti(t)*Oi(t)为时间t时针对该流的供给速率;
w为针对该流的预先确定的常数(0<w<1);
fimin和fimax为针对该流的供给速率的所保证的最小值与最大值;
Bavg(t)是B(t)的指数加权的移动平均值;
Oi(t)为时间t时针对该流的所提供速率;
在基本BAT方案中,参数Ci和Di是针对该流的预先确定的常数。
剩余带宽信号B(t)由下列给出:
B(t)=1 if Q(t)<qmin
0 else if Q(t)>qmax
1 else if dQ(t)/dt<dmin<0
0 otherwise
其中:Q(t)为时间t时总队列的长度,qmin、qmax以及dmin为预先确定的阈值。因此,可以看出,当队列的长度低于阈值qmin时以及当队列长度的减小速率大于极限速率dmin时,剩余带宽视为可用的(即B(t)=1)。对于在针对该流的最小与最大所保证的速率fimin和fimax之间的供给速率fi(t),BAT方案根据剩余带宽,通过对传输段Ti的调整,调整供给速率。这些调整的量,在其它因素之中,取决于调整参数Ci和Di的值。具体地讲,如果剩余带宽是可用的(B(t)=1),则把供给速率线性地增加,所增加的量取决于增加参数Ci。如果剩余带宽是不可用的(B(t)=0),则把供给速率指数地减小,减小量取决于减小参数Di。
如以上所指出的,在现有技术的基本BAT方案中,增加与减小参数Ci与Di为针对每个流所指定的常数。然而,在本实施例中,针对每一非响应UDP流7的减小参数Di随时间变化。图1的调整控制器6监视针对所有流的供给速率fi,并且使用这些供给速率fi,以及所希望的带宽分配比率rd,以改变针对UDP流的Di的值。此处,可以由系统操作员设置所希望比率rd,或者由针对系统所提供的资源管理软件(未示出)加以提供。图2的流程图中指示了这一过程中的调整控制器6的总体操作。按大于周期dt的周期Δt周期性地改变UDP减小参数Di UDP。于是,参数改变过程在每一时间(t+Δt)开始,如图2的步骤10所指示的。在步骤11,调整控制器根据从队列管理器5所接收的供给速率fi计算当前带宽分配比率r(t)的值。这一比率r(t)为针对所有UDP流7的总供给速率与针对所有TCP流8的总供给速率的比率,并可通过对在先前的周期Δt上所取的多个测量加以平均,来方便地对这一比率进行计算。具体地讲,在周期Δt期间,控制器6可周期性地对针对所有流的供给速率fi进行取样。通过每一取样,分别把针对UDP和TCP的各速率相加,以给出总UDP和TCP流速率,并且由控制器6记录这些总速率的比率。然后,通过对取样数目的所记录的比率加以平均,在图2的步骤11中计算针对当前周期Δt的r(t)的值。接下来,在步骤12中,调整控制器把当前分配比率r(t)与所希望比率rd进行比较,以根据这两个值之间的偏差生成误差信号Δr。在本实施例中,误差信号是由Δr=(rd-r(t))/rd给出的归一化的(normalized)值。然后,在步骤13中,控制器6为减小参数Di UDP计算新值,确定对于旧Di UDP值的改变,以减小所希望和实际的分配比率rd与r(t)之间的差。以下,将更详细地描述计算新Di UDP值的具体方法。最后,在步骤14中,把新Di UDP值提供给队列管理器5,以在随后的队列管理过程中使用。然后,在下一个周期Δt结束之前完成参数改变过程,从而重复控制过程。
可以看出,调整控制器6的操作为通过改变针对非响应流的减小参数,来控制响应和非响应流之间的带宽分配r(t),有效地提供了闭环控制过程。具体地讲,改变减小参数,以使实际分配比率更接近所希望值rd。现在,将解释为实现这一点,此处改变Di UDP值的具体方法,这一解释将从传统的控制工程方案开始。
图3说明了可与设备1中所执行的流控制过程相比较的基本控制回路的关键元件。在本流控制系统中,图3的装备20相应于缓冲器3,其中,把收入的流量编队列于队列4中,并且在一定延迟之后,解队列(dequeue)。图3的测量设备21记录所需的系统信息,例如,在这一情况下,为供给速率和传输段。比较器工具22估计控制误差,即所希望和实际值之间的差。在这一情况下,其为误差信号Δr,因为我们仅关心一个受控的变量,并且通过控制误差的值定义其状态。图3的控制器23根据某些所定义的原则,估计受控变量的值。这一信号和干扰输入(例如,所提供负荷的振荡)影响着该装备。控制器用于产生所操纵的变量,反作用于干扰输入的影响,同时使该装备保持在所希望的状态下。
对于本例,我们之所以选择属于PID(比例、积分以及导数)系列的控制器,出于多方面的原因:
-这一系列所需的周期性计算的努力是相当低的;
-尽管该系统的扩展的模型可能更合人意,但与模型-预测控制方案或观测器理论相比,在这一情况下,并不严格需要该系统的详尽模型;
-尽管其相当简单的结构,但这组控制器仍可以达到良好的结果。
以下是描述理想PID控制器的公式:
其中,y(t)代表所操纵的变量,xd(t)代表控制误差,两者均为取决于时间的变量,KR、TN以及TV为常数。方括号中的项,从左向右,为比例、积分以及微分影响。
由于本流控制系统在时间上不连续,所以我们使用上述公式(1)的离散符号。这可以通过下述方法实现:(a)对公式(1)的时间微分;(b)使用后向(backward)差分的导数近似;以及(c)算出所操纵变量的实际值。从而可以得到以下具有一般化系数的公式:
yk=yk-1+b0.xd,k+b1.xd,k-1+b2.xd,k-2 (2)
通过对系数b0、b1以及b2的选择,可以确定控制器的基本性质。本方案基于积分控制器,令b1、b2≡0,从公式(2)可以得到:
yk=yk-1+b0.xd,k (3)
因为这样可以进一步简化结构以及减小计算工作。维持积分项可以确保很小的稳态误差,理论上为零。
在本流控制系统中,Di UDP是以上所描述的所操纵的变量yk,控制误差xd,k是以上所描述的误差信号Δr。于是,使用公式(3)我们可以得到:
Di UDP(t+Δt)=Di UDP(t)+b0.Δr (4)
为了使控制-误差信号的影响与Di UDP的当前状态相匹配,我们定义b0=β.Di UDP(t),β<0,以获得我们的控制器的一般版本:
Di UDP(t+Δt)=Di UDP(t)+β.Di UDP(t).Δr (5)
于是,调整控制器6根据公式(5),计算针对每个流的Di UDP的新的值。如果希望的话,可以把参数β设置为针对所有或单个流的常数值,该合适的值对本技术领域中的技术人员显而易见。然而,在特别优选的实施例中,根据以下将进一步加以讨论的误差信号Δt的绝对值选择β的值。从公式(5)可以看出,减小参数Di UDP的值以适当的方式变化。如果当前带宽分配比率r(t)大于所希望比率rd(即,把过多的带宽分配给UDP流量),则误差信号Δr将为负。由于β<0,所以通过公式(5)将增加Di UDP的值,即,Di UDP(t+Δt)>Di UDP(t)。先前所定义的BAT算法的考虑显示:Di UDP的增加导致了减小的传输段Ti。于是,将减小UDP流的带宽份额,增加TCP流的份额,从而导致较小的比率r(t),并且减小误差信号的绝对值。如果把误差信号Δr减小至0,则不调整Di UDP。这样做是有意的,因为接下来该系统将严格处于所希望的状态,暂时不需要进行调整。
使用一个UDP流和众多并发的(concurrent)TCP流进行简单的模拟,其中具有一个使用BAT作为上述队列管理方案的瓶颈链路,从这一模拟可以看出带宽分配过程中上述流控制系统的效率。在高、中以及低拥塞这三种不同拥塞条件下对该系统进行测试,其中,UDP所提供负荷的量定义了拥塞水平。高拥塞条件由200,150和100Mbit/s(兆比特/秒)的UDP所提供负荷加以表示。中拥塞条件由80,65和50Mbit/s的UDP所提供负荷加以表示。低拥塞条件由40,30和20Mbit/s的UDP所提供负荷加以表示。共享出列(outgoing)链路的容量为100Mbit/s,其等于排空(drain)队列4时所采用的最大速率。对于每一所提供负荷,对三种不同所希望分配比率进行测试,其中,把UDP流的实际带宽份额与所希望UDP份额加以比较,以确定对应度。把这一模拟的结果呈现于图4的表中,其中,模拟1~9从最高到最低遍历以上所提到的所提供负荷。在图5a、5b以及5c的图还以图形的形式分别对于高、中以及低拥塞状态说明了这些结果。从这些图中可以看出,对于高和中拥塞状态来说,可以实现实际与所希望UDP份额之间的高对应度,对于所希望UDP份额仅有10%的偏差。对于低拥塞状态,对于所有所希望分配比率而言,可以达到极好的对应度。相类似,在参数改变控制回路中,尽管此处就整体效率结合操作的简单性而言,积分控制器是优选的,但在使用比例-加-积分控制器的模拟中,也实现了良好的结果。总体上,为有效的流控制提供与单独BAT流控制相比较改进的带宽分配。以下,将对可以包含在本发明实施例中的某些附加的改进加以讨论,此后将给出展示在基本BAT系统上的改进的比较结果。用于改进非响应流量的最小份额的操作的优选的特性在于所展示的改进之中。
在对上述实施例的第一修改中,把最大限制值施加至针对每个流的减小参数Di UDP的改变。由于Di影响传输概率Ti的方式,这一限制是所希望的。考察BAT算法的关键项:
Ti(t+dt)=max(0,Ti(t)(1-Di.Oi(t)))
显然,对于大于某一给定值的Di,Ti(t+dt)=0(通常把Oi(t)归一化为最大所提供负荷,以给出比单位值小得多的值)。在这样的情况中,为了避免Di的不必要的增加(当接下来需要小的值时,这将导致更长时间以减小Di),优选的做法是,把Di限制为Di∈[0,Dmax]。如对于某一给定的系统合适,限制值Dmax可以是操作员设置,通常,这将取决于旨在易于实现的归一化。在此处所描述的这一优选实施例中,把Dmax设置为5000。如前所述,通常已在模拟环境中测试了这一限制的效果,其中:
-所希望比率rd=0.15;
-在很高拥塞状态(200Mbit/s的UDP流量)下,我们从t=5s开始;
以及
-在t=30s时,出现UDP所提供负荷向低拥塞状态(30Mbit/s的UDP流量)的减小。
图6a和6b的图中示出了模拟的结果,其中,图6a示出了未对DUDP加以限制的情况下的结果,图6b示出了通过Dmax=5000来限制DUDP的结果。最初的高拥塞状态结合低的所希望的比率,迫使积分控制器增加DUDP。如果不设置限制,则DUDP的值可以增加到很高的值。接下来,当所提供负荷已显著减小时,需要把DUDP的较小的值与所希望比率相匹配。然后,如果DUDP的初始值很高时,则需要大的减小,而且控制器要花费较长的时间进行调整。如图6a和6b中所显示,对Dmax的值加以限制,明显减小了这个时间框架。
在另一实施例中,可以经由动态过程,确定针对流的最大限制值Dmax。具体地讲,通过从(1-DiOi(t))=0中求解Di,调整控制器可以确定针对任何给定所提供速率Oi(t)的Di的适当的上限。在具有广泛分布的所提供流速率的系统中,实现这一过程所需的附加的处理努力是值得的。然而,通常,针对所有或单个流所适当设置的Dmax的常数值,将视为是足够的,其合适的值对本技术领域中的技术人员显而易见。
通过在适当的时间抑制参数改变过程,可以实现控制器操作的进一步的改进。具体地讲,当针对流的所提供流速率Oi小于针对该流的最小阈值速率时,可以抑制参数改变过程。例如,尽管通常把最小带宽确保为服务质量(Quality-of-Service)项,但没有流可被迫占用这一带宽。在此发生期间,即,对于流速率<fimin的情况,BAT的操作使得:忽略包括Di的项。至此,在所描述的这些实施例中,调整控制器可以继续通过Di的调整,尝试匹配所希望比率。因此,可以把Di减小为0。当随后增加所提供负荷时,Di的值可能会远离所希望的操作点。于是,当控制器把Di的值调整回适当的值时,将存在延迟。为了解决这一问题,在优选的实施例中,当针对流的所提供流速率Oi低于针对该流的最小确保速率fimin时,即Oi(t)<fimin时,抑制通常的参数改变过程。因此,在这样的实施例中,调整控制器6不仅可以如图1中所示从队列管理器5接收供给速率fi,而且还可以接收UDP流的所提供速率Oi。或者,控制器6可以从队列管理器5接收UDP流的传输段Ti,并且根据传输段Ti和供给速率fi,计算所提供速率Oi UDP(注意,当此处可以根据供给速率fi(即fi(t)<fimin)确定抑制点时,使用供给速率是优选的。由于我们希望在任何时刻均保证最小的速率,所以一旦所提供速率降至最小值之下,便可以抑制参数改变过程,并且一旦有任何包丢弃,即,所提供负荷高于最小值,就应加以恢复。还可能出现这样的情况:符合Ti(t+dt)=min(1,Ti(t)+w)的传输段不是一个单位值,因此供给速率仍低于最小值,但同时已经显著增加了所提供负荷,从而需要进一步的参数控制)。当针对流抑制参数改变过程时,在某些实施例中,按其最后所计算的值,维持Di的值,这个值然后在恢复参数控制过程时作为开始值。图7的图以简单模拟形式,显示了这一过程的效果,示出了当不进行参数控制抑制时,以及当进行抑制时,UDP/TCP分配比率距其所希望值的偏差。从这一图中可以清楚看出抑制过程的有益效果。
在其它实施例中,当针对非响应流的集合的总的所提供速率低于某一阈值时,可以执行参数控制过程抑制。具体地讲,可以通过下列公式定义抑制点:
fUDP,关键(critical)=rd*最大链路带宽/(1+rd)
fTCP,关键=最大链路带宽/(1+rd)
其中,最大链路带宽为排空队列4时所采用的最大速率。如上所述,rd是所希望比率,通常可以根据任何类型的公平定义,例如最大-最小公平,导出rd。因此,fUDP,关键和fTCP,关键的和相应于最大链路带宽,fUDP,关键和fTCP,关 键的比率为rd。令OUDP,总为非响应流集合的总所提供速率,OTCP,总为响应流集合的总所提供速率。如果OUDP,总>fUDP,关键且OTCP,总>fTCP,关键,则可以操作本流控制系统,以把针对两个流集合的总供给速率分别驱至fUDP,关键和fTCP,关 键。否则,在本发明的实施例中,可以抑制参数改变过程。例如,在以下详细描述的优选实施例中,当UDP流的总所提供速率≤以上所定义的fUDP,关键时,抑制Di UDP值的改变。
在抑制通常参数控制过程期间,可以把Di的值维持在如上所述的其最后所计算的值上,或者可将其设置为0。在前一种情况中,潜在的缺点在于,由于大量的TCP流量(即,无剩余带宽),可能还会进一步减小UDP流量。另一方面,在后一种情况中,该系统可能会被滥用以通过该设备推出大量非响应流量。因此,在优选实施例中,当抑制通常的参数控制时,在每一控制周期Δt之后,调整控制器6把Di的值减小预先确定的量。即,在抑制周期期间,控制器6逐步地减小Di的值。例如,在抑制期间,在每一周期Δt之后,把Di的值逐步减小特定的百分比,例如10%等。由于通常控制周期Δt远长于队列管理过程的控制周期dt,所以抑制周期期间逐步地减小Di的值,向真正少量的非响应流量提供了某种公平。因此,不再诱发对系统的滥用,因为为了得益于过冲(overshoot)周期,必须接受长周期的低吞吐量。
总之,如所描述的,对Di值的限制以及对控制过程的抑制,明显地改进了流控制,避免了导致不适当Di值的积分回路,改进了针对少量非响应流量并且具有振荡的所提供负荷的操作,抵御了滥用系统以根据传送份额获得不公平好处的企图。现在,将描述以上所讨论的包含了各种优选特性的流控制系统的一个具体的例子,以及与不具有参数控制过程的基本BAT流控制方案相比较的操作。
图8是将加以描述的例子中的调整控制器6的操作的示意性表示,其中,如图1中所示假设了UDP和TCP流的混合。在这一例子中,调整控制器6中的控制周期Δt为1秒,而队列管理器5每4毫秒计算一次传输段。控制器6每0.1秒测量一次供给的UDP和TCP速率之间的比率,把控制周期Δt期间的10个值加以平均,以获得低通效果。图的输入接口框30中说明了向调整控制器的输入。在这一实施例中,调整控制器从队列管理器5接收所提供的UDP速率Oi UDP以及供给速率fi。如供给速率,对所提供速率Oi UDP周期地进行取样,并且在控制周期期间对它们加以平均。框31~36代表了在每一控制周期Δt的结束,针对UDP流集合所执行的步骤。因此,步骤31代表了对控制过程的抑制的测试,如以上所讨论的,此处所使用的测试是:OUDP,总≤fUDP,关键,其中fUDP,关键=rd*最大链路带宽/(1+rd)。如果满足抑制条件,则按框32中所指示的,抑制针对UDP流的参数改变,并且把针对每个流的Di UDP的旧值逐步减小10%。如果在步骤31不满足抑制条件,则在步骤33中控制器检查这是否为接续抑制周期的第一调整周期。如果情况如此,则针对每个流的Di UDP的恢复值为其最后所计算的值,如步骤34中所示。如果当前周期不是从步骤33的抑制的恢复,则根据针对当前周期所生成的误差信号Δr,计算针对每个流的新的Di UDP值,如步骤35中所示。注意,在本实施例中使用了参数β的三个不同的值。所选择的β的具体的值,取决于当前周期中误差信号Δr的绝对值。具体地讲,在本例中把β设置如下:
β=0.5 if Δr2>0.01
0.33 else if Δr2>0.1
0.05 otherwise
然后,步骤36把所指示的上和下限施加于步骤35中所计算的Di UDP的新的值,然后,当适当时,从步骤32、34或36,把针对每一UDP流的新Di UDP值输出至输出接口框37所指示的队列管理器。
为了说明上述系统的效率,我们使用了相同的模拟设置,除了一个单独使用了基本BAT队列管理系统,另一个使用了本发明实施例的流控制系统,而且使本发明的这一流控制系统在队列管理器5中采用了BAT队列管理,并采用了实施图8的参数控制的调整控制器6。模拟设置如下:
-一个具有100Mbit/s的瓶颈链路;
-一个具有90Mbit/s恒定比特率的UDP流;以及
-一个贪婪的(greedy)TCP流
对调整控制器6进行设置,以使其能够分配具有30/70≌0.42(UDP/TCP)的所希望比率rd的链路带宽。图9a和9b中示出了这些结果,其中,图9a示出了针对基本BAT方案的结果,图9b示出了针对本发明的实施例的结果。图9a使用既具有响应流也具有非响应流的基本BAT方案明确说明了所希望和实际的比率之间的不可接受的差。通过展开公平指数,也可明显看出这一特性(Raj Jain于Wiley在1991年发表的“The Art of Computer SystemsPerformance Analysis(计算机系统性能分析技术)”中定义了公平指数,该公平指数此处由下列公式给出:
公平度=(x1/w1+x2/w2)^2/(2*(x1/w1)^2+(x2/w2)^2))
其中x1,x2为所测量的速率fi(t),w1,w2为由w1=rd/(1+rd)和w2=1/(1+rd)给出的权重)。从图9b可以明显看出体现本发明的流控制系统所提供的改进。尽管UDP/TCP比率r(t)仍在波动,但此时在所希望的比率附近跳动,而且平均值为非常理想的值。这一改进也反映在比图9a中所示的公平指数严格得多的公平指数方面。
并且,在反弹(bounce)的UDP所提供负荷的条件下测试了上述实施例。对上述模拟设置改动如下:
-仍存在一个UDP流,但在5秒的时间步长内其比特率在常数50Mbit/s和120Mbit/s之间反弹;
-把所希望UDP/TCP比率rd设置为0.4。
图10a和10b中展示了这一模拟的结果。当控制器已在启动阶段针对该系统进行了自身调整时,此处,这些图开始于t=30秒。在图10a中,除UDP流量的模式外,还表示了UDP和TCP供给速率。图10b把实际的和所希望UDP/TCP比率加以比较,并且描述了公平指数。从这些图可以明显看出本流控制系统是有效的,即使是在出现更复杂的流量模式的情况下。尽管图9b中存在短暂尖峰,但这一状态迅速返回至正常。
最后的模拟表明了本流控制系统的通用性和鲁棒性。这一模拟设置与图10a和10b的模拟设置相同,但此时使用了参照以上Raj Jain所撰写的文章中所讨论的Pareto-On/Off-分布的TCP流。图11a示出了单独使用基本BAT方案的结果,图11b示出了使用本流控制系统的结果。本流控制系统明显再次优于BAT方案。
通常,可以由操作员针对给定的流控制系统,以适当的值设置所希望的分配比率rd,该适当的值对这一领域中的技术人员显而易见。具体地讲,在某一给定情况下,通常可以把适当的值确定为该系统中所确保的速率fimin和fimax的函数。另外,可以根据基本BAT方案的通常方法中所计算的常数Di值,设置非响应流的每一减小参数Di UDP的开始值。然而,在本发明的具体实施例中,可以根据对所希望比率rd与Di UDP的初始值之间的双曲线连贯性的探索式观察,设置初始Di UDP值。具体地讲,可以根据下述公式设置初始Di UDP值:
Di UDP(t=0)=常数/rd
其中,可以针对所有非响应流设置该常数。该适当的值对本领域中的技术人员显而易见。尽管这提供了可接受的结果,但也可以实现改进的性能,其中,调整控制器6根据基本BAT方案,使用开环控制方案,从经验地得到的rd和Di UDP值之间的关系曲线,选择初始Di UDP值。可以把这些值提供于查找表中,供调整控制器6加以使用。可以把Di TCP值设置为根据基本BAT方案所知的默认值。
从以上的描述中将可明显看出,本发明的实施例提供了高效的流控制,允许公平的带宽分配,即使是在具有非响应和响应流的混合的困难的流量状态下。而且,在以上所讨论的优选实施例中,可通过仅改变针对非响应流的单个的调整参数实现这一点。另外,由于可以按比基础队列管理方案慢得多的时间尺度进行参数改变控制,所以参数控制使其自身特别适合于软件实现。
尽管上面已通过举例的方式描述了本发明的具体的实施例,当然也可以设想对这些实施例的众多的变更与修改。例如,在以上的实施例中,尽管参数控制过程的抑制基于最小阈值速率,但当超过最大保证速率时,如果希望的话,也可以提供用于抑制参数控制过程的机制。再例如,在以上的系统中,可以适当地调整针对响应和非响应流集合之一或两者的参数Di和Ci之一或两者,以减小误差信号。然而,为了实现上的简单化,优选的做法是,调整仅针对一个流集合的信号调整参数。在本发明的实施例中,也可以采用除BAT之外的队列管理方案,并且可以由适当选择的参数改变过程控制一或多个调整参数。另外,还可对包进行标记,而不是通过队列管理器5丢弃。在这一情况下,可以简单地对那些将丢弃的包进行标记,以表示拥塞,并且将它们与未标记的包一起传输至队列中。因此,此处,在队列管理器中,通过对传输段的调整控制流入未标记的包的队列的流速率(即供给速率),是有效的。另外,尽管作为响应和非响应流的方便的例子,以上使用了TCP和UDP流,当然也可以针对其它协议流应用本发明的方法。除以上所特别提到的基本控制公式外,参数改变过程也可以使用其它基本控制公式。而且,通常,可由体现本发明的流控制方法控制一个以上的队列,其中向各队列提供分别的流控制系统的事例(instance)。可以在本发明的构思与范围内,对上述实施例进行众多其它方面的修改与变更。
Claims (41)
1.一种用于控制流入相应于网络设备的资源的队列的多个数据包流的流速率的方法,所述多个流包括非响应流集合和其它流集合,该方法包括:
根据队列管理方案,管理所述流速率,从而可根据资源中的剩余带宽对每个流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数;
生成误差信号,所述误差信号取决于距流入所述流集合的队列的总流速率的比率的所希望分配比率的偏差;以及
根据误差信号,改变针对至少一个所述集合的至少一个流的至少一个调整参数,使得减小所述偏差。
2.根据权利要求1所述的方法,其中,所述其它流包括响应流。
3.根据权利要求1所述的方法,其中,根据误差信号,改变针对仅一个所述集合的每个流的至少一个调整参数。
4.根据权利要求1所述的方法,其中,根据误差信号,改变针对仅一个所述集合的每个流的单个的调整参数。
5.根据权利要求1所述的方法,其中,根据所述队列管理方案,以第一周期周期性地调整流速率,而且其中,以大于第一周期的第二周期,周期性地改变所述调整参数。
6.根据权利要求1所述的方法,其中:
根据所述队列管理方案,当剩余带宽可用时,把每一流速率增加取决于增加参数的量,当剩余带宽不可用时,把每一流速率减小取决于减小参数的量;以及
根据误差信号,改变针对至少一个所述集合的至少一个流的增加和减小参数的至少之一。
7.根据权利要求6所述的方法,其中,队列管理方案包括BAT方案。
8.根据权利要求6所述的方法,其中,根据误差信号,改变针对非响应流集合的至少一个流的减小参数。
9.根据权利要求8所述的方法,其中,根据误差信号,改变针对非响应流集合的每个流的减小参数。
10.根据权利要求9所述的方法,其中,根据所述队列管理方案,以第一周期周期性地调整流速率,而且其中,以大于第一周期的第二周期,周期性地改变减小参数。
11.根据权利要求9所述的方法,包括向针对每个流的减小参数的改变施加最大限制值。
12.根据权利要求11所述的方法,包括计算流的最大限制值,作为针对该流的流速率管理步骤的输入流速率的函数。
13.根据权利要求9所述的方法,其中,根据所述队列管理方案,当流速率超过针对该流的最小确保速率时,根据剩余带宽对流速率进行调整,而且其中,该方法包括当针对该流的流速率管理步骤的输入流速率低于针对该流的所述最小确保速率时,抑制针对所述流的减小参数的改变。
14.根据权利要求13所述的方法,包括在对减小参数的所述改变的抑制期间,把减小参数维持在其在抑制开始时的值。
15.根据权利要求13所述的方法,其中,根据误差信号,以周期性时间间隔改变减小参数,该方法包括,在抑制减小参数的所述改变期间,在每一所述时间间隔之后,把减小参数减小预先确定的量。
16.根据权利要求9所述的方法,包括当针对非响应流集合的队列管理步骤的总输入流速率低于取决于所述所希望分配比率和针对所述队列的预先确定的最大链路带宽的阈值时,抑制针对所述流的减小参数的改变。
17.根据权利要求16所述的方法,包括在对减小参数的所述改变的抑制期间,把减小参数维持在其在抑制开始时的值。
18.根据权利要求16所述的方法,其中,根据误差信号,以周期性时间间隔改变减小参数,该方法包括,在抑制减小参数的所述改变期间,在每一所述时间间隔之后,把减小参数减小预先确定的量。
19.根据权利要求9所述的方法,包括从反比于所述所希望分配比率的预先确定的初始值开始改变减小参数。
20.根据权利要求9所述的方法,包括开始改变减小参数时,根据总流速率的所述比率,选择针对减小参数的初始值。
21.一种用于控制流入相应于网络设备的资源的队列的多个数据包流的流速率的装置,所述多个流包括非响应流集合和其它流集合,该装置包括:
队列管理器,用于根据队列管理方案管理所述流速率,从而可根据资源中的剩余带宽对每一流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数;以及
调整控制器,用于控制针对至少一个所述集合的至少一个流的至少一个调整参数,对调整控制器进行配置,以生成误差信号,所述误差信号取决于距流入所述流集合的队列的总流速率的比率的所希望分配比率的偏差,并且根据误差信号,改变所述至少一个调整参数,以减小所述偏差。
22.根据权利要求21所述的装置,其中,调整控制器被配置为,根据误差信号,改变针对仅一个所述集合的每个流的至少一个调整参数。
23.根据权利要求21所述的装置,其中,调整控制器被配置为,根据误差信号,改变针对仅一个所述集合的每个流的单个调整参数。
24.根据权利要求21所述的装置,其中,队列管理器被配置为,根据队列管理方案,管理所述流速率,其中,以第一周期周期性地调整流速率,而且其中,调整控制器被配置为,以大于第一周期的第二周期,周期性地改变所述调整参数。
25.根据权利要求21所述的装置,其中:
队列管理器被配置为,根据队列管理方案,管理所述流速率,其中,当剩余带宽可用时,把每一流速率增加取决于增加参数的量,当剩余带宽不可用时,把每一流速率减小取决于减小参数的量;以及
调整控制器被配置为,根据误差信号,改变针对至少一个所述集合的至少一个流的增加和减小参数的至少之一。
26.根据权利要求25所述的装置,其中,队列管理方案包括BAT方案。
27.根据权利要求25所述的装置,其中,调整控制器被配置为,根据误差信号,改变针对非响应流集合的至少一个流的减小参数。
28.根据权利要求27所述的装置,其中,调整控制器被配置为,根据误差信号,改变针对非响应流集合的每个流的减小参数。
29.根据权利要求28所述的装置,其中,队列管理器被配置为,根据队列管理方案管理所述流速率,其中,以第一周期周期性地调整流速率,而且其中,调整控制器被配置为,以大于第一周期的第二周期,周期性地改变减小参数。
30.根据权利要求28所述的装置,其中,调整控制器被配置为,向针对每个流的减小参数的改变施加最大限制值。
31.根据权利要求30所述的装置,其中,调整控制器被配置为,计算流的最大限制值,作为针对该流的队列管理器的输入流速率的函数。
32.根据权利要求28所述的装置,其中:
队列管理器被配置为,根据队列管理方案管理所述流速率,其中,当流速率超过针对该流的最小确保速率时,根据剩余带宽对流速率进行调整;以及
调整控制器被配置为,当针对该流的队列管理器的输入流速率低于针对该流的所述最小确保速率时,抑制针对所述流的减小参数的改变。
33.根据权利要求32所述的装置,其中,调整控制器被配置为,使得在减小参数的所述改变的抑制期间,调整控制器把减小参数维持在其在抑制开始时的值。
34.根据权利要求32所述的装置,其中,调整控制器被配置为,根据误差信号,在周期性时间间隔改变减小参数,以及在抑制减小参数的所述改变期间,在每一所述时间间隔之后,把减小参数减小预先确定的量。
35.根据权利要求28所述的装置,其中,调整控制器被配置为,当针对非响应流集合的队列管理器的总输入流速率低于取决于所述所希望分配比率和针对所述队列的预先确定的最大链路带宽的阈值时,抑制减小参数的改变。
36.根据权利要求35所述的装置,其中,调整控制器被配置为,使得在减小参数的所述改变的抑制期间,调整控制器把减小参数维持在其在抑制开始时的值。
37.根据权利要求35所述的装置,其中,调整控制器被配置为,根据误差信号,以周期性时间间隔改变减小参数,以及在抑制减小参数的所述改变期间,在每一所述时间间隔之后,把减小参数减小预先确定的量。
38.根据权利要求28所述的装置,其中,调整控制器被配置为,从反比于所述所希望分配比率的预先确定的初始值开始改变减小参数。
39.根据权利要求28所述的装置,其中,调整控制器被配置为,在开始改变减小参数时,根据总流速率的所述比率,选择针对减小参数的初始值。
40.一种用于处理通信网络中数据包的网络设备,该设备具有与数据包的队列相关的资源,以及用于控制流入该队列的多个数据包流的流速率的流控制逻辑,所述数据包流包括非响应流集合和其它流集合,所述流控制逻辑包括:
队列管理器,用于根据队列管理方案管理所述流速率,从而可根据资源中的剩余带宽对每一流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数;以及
调整控制器,用于控制针对至少一个所述集合的至少一个流的至少一个调整参数,调整控制器被配置,以生成误差信号,所述误差信号取决于距流入所述流集合的队列的总流速率的比率的所希望分配比率的偏差,并且根据误差信号,改变所述至少一个调整参数,以减小所述偏差。
41.一种计算机程序产品,包括一种计算机可用媒体,该媒体中具有计算机可读程序代码装置,所述装置使网络设备的处理器执行流控制方法,其中,网络设备具有与数据包的队列相关的资源,流控制方法用于控制流入该队列的多个数据包流的流速率,所述数据包流包括非响应流集合和其它流集合,该流控制方法包括:
根据队列管理方案,管理所述流速率,从而可根据资源中的剩余带宽对每一流速率进行调整,所述调整量取决于针对每个流的一或多个调整参数;
生成误差信号,所述误差信号取决于距流入所述流集合的队列的总流速率的比率的所希望分配比率的偏差;以及
根据误差信号,改变针对至少一个所述集合的至少一个流的至少一个调整参数,以减小所述偏差。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/325,324 | 2002-12-20 | ||
US10/325,324 US7260062B2 (en) | 2002-12-20 | 2002-12-20 | Flow control in network devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1726680A true CN1726680A (zh) | 2006-01-25 |
CN100539546C CN100539546C (zh) | 2009-09-09 |
Family
ID=32593736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801060993A Expired - Fee Related CN100539546C (zh) | 2002-12-20 | 2003-10-30 | 网络设备中的流控制 |
Country Status (15)
Country | Link |
---|---|
US (1) | US7260062B2 (zh) |
EP (1) | EP1573977B1 (zh) |
JP (1) | JP4174052B2 (zh) |
KR (1) | KR100773015B1 (zh) |
CN (1) | CN100539546C (zh) |
AT (1) | ATE358938T1 (zh) |
AU (1) | AU2003274502A1 (zh) |
BR (1) | BRPI0317582B1 (zh) |
CA (1) | CA2509409C (zh) |
DE (1) | DE60313037T2 (zh) |
IL (1) | IL169262A0 (zh) |
MX (1) | MXPA05006550A (zh) |
MY (1) | MY133313A (zh) |
TW (1) | TWI245506B (zh) |
WO (1) | WO2004057807A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008104100A1 (fr) * | 2007-02-28 | 2008-09-04 | Zte Corporation | Appareil et procédé servant à réaliser un contrôle de flux sur la base d'une vitesse restreinte pour un dispositif mstp |
CN102316025A (zh) * | 2011-07-27 | 2012-01-11 | 中国科学院计算机网络信息中心 | 网络流量控制方法、装置、系统及服务器 |
CN102714604A (zh) * | 2009-12-18 | 2012-10-03 | 阿尔卡特朗讯公司 | 与协调无关的速率适配部署方法和系统 |
CN101702121B (zh) * | 2009-10-29 | 2013-02-06 | 珠海金山软件有限公司 | Windows系统中程序网络流速控制装置 |
CN105516024A (zh) * | 2014-12-31 | 2016-04-20 | 哈尔滨安天科技股份有限公司 | 一种基于队列的任务流量监控方法及系统 |
CN110647115A (zh) * | 2019-07-18 | 2020-01-03 | 浙江蓝卓工业互联网信息技术有限公司 | 一种基于工业互联网操作系统的数据采集方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100501717B1 (ko) * | 2003-05-09 | 2005-07-18 | 삼성전자주식회사 | Udp/tcp/ip 네트워크에서 버퍼관리를 기반으로 한음성 및 데이터 통합 전송방법 |
US7409460B1 (en) * | 2003-05-12 | 2008-08-05 | F5 Networks, Inc. | Method and apparatus for managing network traffic |
JP4721286B2 (ja) * | 2003-10-10 | 2011-07-13 | トムソン ライセンシング | ネットワークにおけるトラフィック分離に基づいた帯域幅予約機構 |
US7031256B2 (en) * | 2004-01-20 | 2006-04-18 | Transwitch Corporation | Methods and apparatus for implementing LCAS ( link capacity adjustment scheme) sinking with rate based flow control |
US7643480B2 (en) * | 2004-01-22 | 2010-01-05 | Hain-Ching Liu | Method and system for reliably and efficiently transporting data over a network |
KR100656509B1 (ko) * | 2004-03-03 | 2006-12-11 | 삼성전자주식회사 | 비디오 서비스 대역폭 보장을 위한 패킷 체증제어 방법 |
US7570653B2 (en) * | 2004-09-02 | 2009-08-04 | Cisco Technology, Inc. | Buffer allocation using probability of dropping unordered segments |
JP2006101004A (ja) * | 2004-09-28 | 2006-04-13 | Fujitsu Ltd | 伝送装置及びリーキバケット帯域制御方法 |
JP4506430B2 (ja) * | 2004-11-24 | 2010-07-21 | 日本電気株式会社 | アプリケーションモニタ装置 |
US20060153077A1 (en) * | 2004-12-27 | 2006-07-13 | Sylvain Monette | Adaptive router architecture providing a rate limiting mechanism |
FI20050139A0 (fi) * | 2005-02-07 | 2005-02-07 | Nokia Corp | Hajautettu menettely yhteydenmuodostuksen sallimiseksi |
US7852749B2 (en) * | 2005-04-06 | 2010-12-14 | Callwave, Inc. | Methods and systems for routing telecommunications |
US20070002736A1 (en) * | 2005-06-16 | 2007-01-04 | Cisco Technology, Inc. | System and method for improving network resource utilization |
US8004970B2 (en) * | 2005-08-30 | 2011-08-23 | International Business Machines Corporation | Method, system and program product for setting a transmission rate in a network |
US8159943B2 (en) * | 2005-09-16 | 2012-04-17 | Jds Uniphase Corporation | Method of forming protocol data units, protocol data units and protocol data unit generation apparatus |
CN100433864C (zh) * | 2005-12-31 | 2008-11-12 | 华为技术有限公司 | 一种在无线通信系统中实现流控的方法 |
US7643418B1 (en) * | 2006-03-24 | 2010-01-05 | Packeteer, Inc. | Aggregate rate control using PID |
US9621375B2 (en) * | 2006-09-12 | 2017-04-11 | Ciena Corporation | Smart Ethernet edge networking system |
US7782770B1 (en) * | 2006-06-30 | 2010-08-24 | Marvell International, Ltd. | System and method of cross-chip flow control |
US8027254B2 (en) * | 2006-08-16 | 2011-09-27 | France Telecom | Method of limiting bit rate in a telecommunications network |
TW200824350A (en) | 2006-11-23 | 2008-06-01 | Realtek Semiconductor Corp | Network flow control device and method thereof |
FR2916925B1 (fr) * | 2007-05-30 | 2009-07-17 | Alcatel Lucent Sas | Procede et dispositif de tamponnage de paquets de donnees transmis via une communication plesiochrone. |
US8001365B2 (en) * | 2007-12-13 | 2011-08-16 | Telefonaktiebolaget L M Ericsson (Publ) | Exchange of processing metric information between nodes |
US8315179B2 (en) * | 2008-02-19 | 2012-11-20 | Centurylink Intellectual Property Llc | System and method for authorizing threshold testing within a network |
GB2461244A (en) * | 2008-02-29 | 2009-12-30 | Francis P Kelly | Network congestion control with feedback to adjust flow rates of source nodes. |
US7836198B2 (en) * | 2008-03-20 | 2010-11-16 | International Business Machines Corporation | Ethernet virtualization using hardware control flow override |
US8494364B2 (en) * | 2008-10-21 | 2013-07-23 | Broadcom Corporation | Supporting multi-dwelling units in passive optical networks |
US8169904B1 (en) * | 2009-02-26 | 2012-05-01 | Sprint Communications Company L.P. | Feedback for downlink sensitivity |
US8462647B2 (en) | 2009-07-28 | 2013-06-11 | Broadcom Corporation | Method and system for multiple frequency hypothesis testing with full synch acquisition in an E-UTRA/LTE UE receiver |
US8369279B2 (en) | 2010-03-10 | 2013-02-05 | Broadcom Corporation | Method and system for iterative multiple frequency hypothesis testing with cell-ID detection in an E-UTRA/LTE UE receiver |
US8917704B2 (en) | 2009-12-18 | 2014-12-23 | Broadcom Corporation | Method and system for automatically rescaling an accumulation buffer in synchronization systems |
KR101698601B1 (ko) * | 2010-06-30 | 2017-01-20 | 주식회사 케이티 | 플로우들 간 차별적인 패킷 드랍을 이용한 대역폭 관리 장치 및 그 관리 방법 |
KR101178570B1 (ko) | 2010-10-28 | 2012-08-30 | 삼성에스디에스 주식회사 | 이더넷 환경에서 udp 데이터 전송의 공정성 확보장치 및 방법 |
US9693259B2 (en) * | 2011-09-08 | 2017-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method in a base station, a base station, computer programs and computer readable means |
EP2869514A1 (en) | 2013-10-30 | 2015-05-06 | Alcatel Lucent | Method and system for queue management in a packet-switched network |
US10326663B2 (en) * | 2017-06-02 | 2019-06-18 | Cisco Technology, Inc. | Fabric-wide bandth management |
CN114338705B (zh) * | 2021-11-24 | 2023-12-01 | 阿里巴巴(中国)有限公司 | 内容分发网络cdn节点的资源水位控制方法、设备及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5935213A (en) * | 1996-05-02 | 1999-08-10 | Fore Systems, Inc. | System and method for generating explicit rate value information for flow control in ATAM network |
US7072295B1 (en) * | 1999-09-15 | 2006-07-04 | Tellabs Operations, Inc. | Allocating network bandwidth |
US6822940B1 (en) * | 2000-09-29 | 2004-11-23 | Cisco Technology, Inc. | Method and apparatus for adapting enforcement of network quality of service policies based on feedback about network conditions |
US6947998B2 (en) * | 2001-03-08 | 2005-09-20 | Broadband Royalty Corporation | Method and system for bandwidth allocation tracking in a packet data network |
US6687781B2 (en) * | 2001-05-01 | 2004-02-03 | Zettacom, Inc. | Fair weighted queuing bandwidth allocation system for network switch port |
US6901052B2 (en) * | 2001-05-04 | 2005-05-31 | Slt Logic Llc | System and method for policing multiple data flows and multi-protocol data flows |
US7039013B2 (en) * | 2001-12-31 | 2006-05-02 | Nokia Corporation | Packet flow control method and device |
US6947750B2 (en) * | 2002-02-01 | 2005-09-20 | Nokia Corporation | Method and system for service rate allocation, traffic learning process, and QoS provisioning measurement of traffic flows |
-
2002
- 2002-12-20 US US10/325,324 patent/US7260062B2/en not_active Expired - Fee Related
-
2003
- 2003-10-30 AT AT03758477T patent/ATE358938T1/de not_active IP Right Cessation
- 2003-10-30 CN CNB2003801060993A patent/CN100539546C/zh not_active Expired - Fee Related
- 2003-10-30 DE DE60313037T patent/DE60313037T2/de not_active Expired - Lifetime
- 2003-10-30 TW TW092130238A patent/TWI245506B/zh not_active IP Right Cessation
- 2003-10-30 CA CA002509409A patent/CA2509409C/en not_active Expired - Lifetime
- 2003-10-30 KR KR1020057009744A patent/KR100773015B1/ko not_active IP Right Cessation
- 2003-10-30 AU AU2003274502A patent/AU2003274502A1/en not_active Abandoned
- 2003-10-30 BR BRPI0317582A patent/BRPI0317582B1/pt active IP Right Grant
- 2003-10-30 JP JP2004561732A patent/JP4174052B2/ja not_active Expired - Fee Related
- 2003-10-30 EP EP03758477A patent/EP1573977B1/en not_active Expired - Lifetime
- 2003-10-30 WO PCT/IB2003/004837 patent/WO2004057807A1/en active IP Right Grant
- 2003-10-30 MX MXPA05006550A patent/MXPA05006550A/es active IP Right Grant
- 2003-11-19 MY MYPI20034435A patent/MY133313A/en unknown
-
2005
- 2005-06-17 IL IL169262A patent/IL169262A0/en unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008104100A1 (fr) * | 2007-02-28 | 2008-09-04 | Zte Corporation | Appareil et procédé servant à réaliser un contrôle de flux sur la base d'une vitesse restreinte pour un dispositif mstp |
CN101702121B (zh) * | 2009-10-29 | 2013-02-06 | 珠海金山软件有限公司 | Windows系统中程序网络流速控制装置 |
CN102714604A (zh) * | 2009-12-18 | 2012-10-03 | 阿尔卡特朗讯公司 | 与协调无关的速率适配部署方法和系统 |
CN102316025A (zh) * | 2011-07-27 | 2012-01-11 | 中国科学院计算机网络信息中心 | 网络流量控制方法、装置、系统及服务器 |
CN102316025B (zh) * | 2011-07-27 | 2014-07-02 | 中国科学院计算机网络信息中心 | 网络流量控制方法、装置、系统及服务器 |
CN105516024A (zh) * | 2014-12-31 | 2016-04-20 | 哈尔滨安天科技股份有限公司 | 一种基于队列的任务流量监控方法及系统 |
CN105516024B (zh) * | 2014-12-31 | 2019-05-07 | 哈尔滨安天科技股份有限公司 | 一种基于队列的任务流量监控方法及系统 |
CN110647115A (zh) * | 2019-07-18 | 2020-01-03 | 浙江蓝卓工业互联网信息技术有限公司 | 一种基于工业互联网操作系统的数据采集方法 |
CN110647115B (zh) * | 2019-07-18 | 2021-04-06 | 浙江蓝卓工业互联网信息技术有限公司 | 一种基于工业互联网操作系统的数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100539546C (zh) | 2009-09-09 |
KR100773015B1 (ko) | 2007-11-05 |
US20040120252A1 (en) | 2004-06-24 |
CA2509409A1 (en) | 2004-07-08 |
EP1573977B1 (en) | 2007-04-04 |
IL169262A0 (en) | 2007-07-04 |
AU2003274502A1 (en) | 2004-07-14 |
TWI245506B (en) | 2005-12-11 |
MY133313A (en) | 2007-11-30 |
KR20050084050A (ko) | 2005-08-26 |
JP2006511137A (ja) | 2006-03-30 |
US7260062B2 (en) | 2007-08-21 |
WO2004057807A1 (en) | 2004-07-08 |
DE60313037T2 (de) | 2007-12-13 |
ATE358938T1 (de) | 2007-04-15 |
BRPI0317582B1 (pt) | 2017-04-25 |
TW200423592A (en) | 2004-11-01 |
JP4174052B2 (ja) | 2008-10-29 |
MXPA05006550A (es) | 2005-10-19 |
BR0317582A (pt) | 2005-11-22 |
DE60313037D1 (de) | 2007-05-16 |
EP1573977A1 (en) | 2005-09-14 |
CA2509409C (en) | 2009-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1726680A (zh) | 网络设备中的流控制 | |
Adams | Active queue management: A survey | |
EP3044918B1 (en) | Network-based adaptive rate limiting | |
US6560243B1 (en) | System and method for receiver based allocation of network bandwidth | |
Spring et al. | Receiver based management of low bandwidth access links | |
US20100332667A1 (en) | Technique for setting network communication parameters | |
US10178011B2 (en) | Network traffic management via network switch QoS parameters analysis | |
JP2006511137A5 (zh) | ||
US9270556B2 (en) | Flow control in packet processing systems | |
CN1968192A (zh) | 一种流量控制的方法及装置 | |
Aoul et al. | FAFC: fast adaptive fuzzy AQM controller for TCP/IP networks | |
Ye et al. | Adaptive and stable delay control for combating bufferbloat: Theory and algorithms | |
Sun et al. | IAPI: An intelligent adaptive PI active queue management scheme | |
Bisoy et al. | Design of an active queue management technique based on neural networks for congestion control | |
Chang et al. | A robust nonlinear PI controller for improving AQM performance | |
WO2016000191A1 (zh) | 传输拥塞的确定方法及装置 | |
CN112491736A (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
Héder et al. | Dynamic and adaptive QoE management for OTT application sessions in LTE | |
Deart et al. | A hysteretic model of queuing system with fuzzy logic active queue management | |
Li et al. | Rate-matching packet scheduler for real-rate applications | |
Yanev et al. | Herding the FLOQ: Flow Optimised Queueing | |
JP2004080207A (ja) | パケット転送制御システムと方法およびそのプログラムと記録媒体ならびに通信装置 | |
WO2017131674A1 (en) | Managing network traffic using experiential capacity | |
Zhang et al. | Using Lyapunov function to design optimal controller for AQM routers | |
Mone et al. | Testbed based analysis of Linux queue disciplines over Internet traffic mix |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090909 |
|
CF01 | Termination of patent right due to non-payment of annual fee |