CN102812670B - 令牌桶管理装置和管理令牌桶的方法 - Google Patents
令牌桶管理装置和管理令牌桶的方法 Download PDFInfo
- Publication number
- CN102812670B CN102812670B CN201080065710.2A CN201080065710A CN102812670B CN 102812670 B CN102812670 B CN 102812670B CN 201080065710 A CN201080065710 A CN 201080065710A CN 102812670 B CN102812670 B CN 102812670B
- Authority
- CN
- China
- Prior art keywords
- value
- integer
- fixed
- accuracy
- bit
- 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.)
- Active
Links
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/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/5631—Resource management and allocation
- H04L2012/5636—Monitoring or policing, e.g. compliance with allocated rate, corrective actions
- H04L2012/5637—Leaky Buckets
Abstract
一种令牌桶管理装置包括处理资源(206),处理资源(206)具有用于接收与分类的数据流相关联的简档数据的输入。该处理资源还包括运算单元(210),运算单元(210)被布置成维持用于与所分类的数据流相关联的令牌桶的桶状态值(Bstatus)。该运算单元(210)是定点运算单元,其被布置成根据具有第一精确度的非整数数字的定点表示来维持桶状态值。该运算单元(210)根据具有第二精确度的非整数数字的定点表示来计算定点非整数递增值。该运算单元(210)被布置成操纵所计算的非整数递增值以便使第二精确度符合第一精确度,并且将桶状态值递增所操纵的非整数递增值。
Description
技术领域
本发明涉及一种例如包括关于与数据流相关的策略、计量或整形的令牌桶的类型的令牌桶管理装置。本发明还涉及一种管理令牌桶的方法,该方法是例如监视用于与数据流相关的策略、计量或整形的令牌桶的大小的类型。
背景技术
在数据通信领域,根据多个已知的通信协议将数据从源节点传送到目的节点是已知的。在这方面,数据报流经源节点与目的节点之间的一个或多个通信网络,例如互联网,以便在源节点与目的节点之间传送信息。
通常,通信网络支持不同类型的服务,其中的一些为容忍延迟的而其中的一些是不能容忍延迟的。容忍延迟的服务的示例包括:实时流多媒体应用,诸如基于互联网协议的语音(VoIP)服务、在线游戏服务或互联网协议(IP)电视(IP-TV)服务。在对于与这些服务相关联的业务没有适当的优先化以及整形的情况下,可能发生网络拥塞,因为网络容量通常是有限的资源,并且对于一些网络,例如诸如蜂窝通信网络的无线通信网络,而言是不够的。
因此实现了资源预留控制机制以便对于由通信网络支持的特定类型的服务维持服务质量(QoS)保证。在这方面,该机制向不同的应用、用户和/或数据流提供不同的优先级。关于数据流,该机制可以支持例如与要求的比特速率、延迟、抖动、分组丢弃概率和/或误比特率(BER)有关的特定级别的性能的保证。
因此,为了支持上述资源预留机制,网络装置,例如位于整个网络的路由器,被配置成支持业务整形。当然,为了支持资源预留控制机制的应用的一致性,在装置制造商与互联网社区中的其它感兴趣方之间已经根据指定给不同类型的业务流的简档,例如,如在请求注解(RFC)2697、RFC2698以及RFC4115中规定的,开发了与业务的处理相关的多个策略。
对于这些和其它策略,实现所谓的“令牌桶”是已知的,“令牌桶”一般而言是确定什么时候可以发送业务的控制机制。在这方面,实现了可以保存令牌的概念上的容器或桶,令牌表示字节或单个分组的单元。因此在多个令牌与分组的传输之间存在对应。
当在桶中存在足够的令牌时,可以发送与数据的流有关的业务,但是当在桶中没有或有不足的令牌时,不可以发送业务。在这方面,当业务被发送时,桶根据发送的数据量而递减。然而,桶还以恒定的速率补充直到桶满为止。
当实现令牌桶时,提供了公共时基、共享计算单元以及例如随机存取存储器(RAM)的共享数据存储是已知的。这些共享资源被用来管理具有与此相关联的相应简档的非常大量的独立的数据流。对于每一个简档,取决于简档是否涉及支持单个或多个数据速率,可以采用一个或多个令牌桶。实际上,共享资源能够通过公共时基和桶状态的不同表示来支持从小于每秒一个分组直到每秒多个吉比特业务的宽范围的业务速率。
因此,需要采用大量的令牌桶,并且可以看见的是,共享计算单元和共享RAM不能够根据典型的令牌桶算法以恒定的速率来更新所有的桶。在这方面,当RAM较大以便存储用于大量流的令牌桶相关的数据时,每1/R周期一个令牌的递增是不可行的,因为由于RAM的存取时间限制不能够针对每一个令牌桶以每1/R间隔来更新每个令牌桶。为了维持精度,尤其是关于高数据速率流,必须将时间戳数据、桶的状态以及数据速率表示且存储为非整数数字,要求RAM具有足够大的容量以便存储例如浮点值。当在硬件中实现时,RAM的大容量需求转换成集成电路(IC)上的增加的管芯空间,这引起装置的更大功耗以及增加的存取次数。在这方面,通常要求宽计数器,例如64比特计数器。在采用浮点运算情况下,这对于运行在整型核上的嵌入式软件的运算而言为优选类型,要求大且复杂的计算逻辑以便执行计算。
发明内容
本发明提供了一种如在随附权利要求中描述的令牌桶管理装置和一种管理令牌桶的方法。
在附属权利要求中阐述了本发明的特定实施例。
本发明的这些和其它方面将从在下文中描述的实施例中是显然的并且参考在下文中描述的实施例来阐明。
附图说明
将参考图仅以示例的方式对本发明的进一步的细节、方面以及实施例进行描述。在图中,相同的附图标记被用来标识相同的或功能上类似的元素。图中的元素是为了简单和清楚而示出的,并且不必按比例绘制。
图1示意地示出了构成本发明的实施例的数据交换机的示例;
图2是图1的令牌桶管理装置的示意图;以及
图3是管理由图2的令牌桶管理装置使用的令牌桶的方法的伪流图,并且构成本发明的另一实施例。
具体实施方式
因为本发明的所图示的实施例大多数情况下可以使用对本领域的技术人员所熟知的电子部件和电路来实现,所以为了理解和了解本发明的基本概念并且为了不混淆或者偏离本发明的教导,将不会超出如上图示认为是必需的程度对细节进行解释。
在这方面,以下示例涉及在用于数据流的策略、计量和/或整形的数据交换机100(图1)中的令牌桶的管理。然而,技术人员应该了解的是,这里关于令牌桶描述的示例能够被更广泛地应用于有关例如数据流的一般管理,并且因此本文中对数据交换机100的参考应该被简单地认为是一个示例实施方式并且可以预期其它的实施方式。
在以下的示例中,将在能够遵照RFC2697、RFC2698和/或RFC4115支持数据流管理策略的背景下对数据交换机100进行描述。然而,为了描述的简单化和简明,并且以便不偏离实施例的本质,将不在本文中对这些RFC的细节进行描述。然而,技术人员应该了解的是,这些RFC涉及使用一个或多个令牌桶的数据流管理。此外,关于这些RFC所采用的参数包括例如数据速率,诸如承诺信息速率(CIR)、超额信息速率(EIR)和/或峰值信息速率(PIR)。类似地,这些RFC的参数包括例如突发大小,诸如承诺突发大小(CBS)、超额突发大小(EBS)和/或峰值突发大小(PBS)。在这些RFC中,为了业务的计量和标记,为每种类型的突发指定了令牌桶。然而,为了在本文中对令牌桶的管理进行描述,参考突发大小BS以及速率R通常就足够了。
此外,将了解的是,令牌桶的操作包括令牌桶的递增和递减。对于给定的数据流,令牌桶根据相对于给定的流接收到的数据的量来递减,经受与资源相关的规则,例如,如在上述的RFC中定义的。同样地,对于给定的流,令牌桶根据与分配给给定的流的资源相关联的预定的填充速率R来递增。以下示例涉及令牌桶的操作的递增方面。
转向图1,数据交换机100包括多个入口102和多个出口104。入口102和出口104被耦合到交换引擎106。交换引擎106包括耦合到交换机控制器110的交换结构108,交换机控制器110被耦合到交换引擎106的监视单元112,监视单元112包括令牌桶管理装置114。监视单元112提供关于遵守与例如分组的数据报的接收相关联的业务管理策略的信息,如将在下文中稍后描述的那样,通过将所接收到的分组指定给业务流的分类处理来分析入口业务。在这方面,数据交换机100通常处理多个数据流,多个数据流具有与其相关的相应的策略。关于遵守业务管理策略的信息被传送给用于在实现与通过数据交换机100的分组的流相关的策略中使用的交换机控制器110。因为关于遵守业务管理策略的信息的使用对本文中描述的实施例是不重要的,所以为了在本文中不偏离实施例的本质,将不对关于交换机控制器110和交换结构108及其操作的细节进行进一步的详细描述。
参考图2,令牌桶管理装置114通过硬件来支持,例如集成电路200,提供有随机存取存储器(RAM)逻辑单元202,随机存取存储器(RAM)逻辑单元202被耦合到任务数据读取单元204和例如速率处理器单元206的处理资源。RAM逻辑单元202包括与数据交换机接收的分组的类型相关的存储的数据,例如总分组长度、分组报头的偏移,分组报头的偏移用于计算特定部分的数据报长度,诸如所谓的L2、L3以及L4有效载荷。任务数据读取单元204和速率处理器206被耦合到简档RAM208。简档RAM208包括与流的简档相关的常量和变量。在此示例中,简档RAM208的宽度为32比特。然而,取决于令牌桶的应用,可以采用任何其它适当的宽度。简档RAM208的深度取决于要求简档RAM208存储的简档的数量。速率处理器单元206被耦合到调度器(未示出)并且还包括定点运算单元210和临时寄存器(未示出)。
在操作中,在入口102中的每一个处接收分组。响应于分组的接收,任务数据读取单元204与RAM存取逻辑202交互以便发起所接收到的分组的解析,为了确定与所接收到的分组相关联的业务简档,RAM存取逻辑202访问数据交换机100的主存储器(未示出)以便获得帧信息。
任务数据读取单元204配备有当前时间戳数据212,在此示例中为32比特时间戳数据,其被“推送”给速率处理器单元206。为了优化在整个所有速率的业务上的计算精度,时间戳总线(未示出)的速率被配置成比期望待由数据交换机100处理的最大分组速率显著更快的速率,例如以200MHz,来计数。在由电路200支持的预取单元(未示出)中的任何地方执行的线程从主存储器预取所接收到的分组数据,同时另一基本上并行的线程执行与所接收到分组相关联的业务简档的标识。在这方面,对于要求数据交换机100识别的每一个简档,简档RAM208存储相关联的简档数据。所存储的关联的简档数据包括常量,例如突发大小BS以及速率R。在此示例中,在简档存储器208中为每一个常量分配了32比特宽的空间。同样地,与令牌桶的填充状态相对应的桶状态Bstatus变量以及其它变量,例如前面的时间戳值或最后时间戳值TSt-1,被记录在简档RAM208中。
一旦已经读取到所接收到的分组数据并且标识了简档,当其准备好时所接收到分组数据和简档数据被“推送”给速率处理器单元206。当准备好时,速率处理器单元206接收突发大小BS、速率R、最后时间戳值TSt-1以及桶状态Bstatus。如上文已经描述的,当前时间戳值TSt被推送给速率处理器单元206。此数据然后被速率处理器206的定点运算单元210如下进行使用以便维持一个或多个令牌桶状态。
转向图3,使用突发大小BS,定点运算单元210支持比特操纵器,通过左移(步骤302)32比特字直到字中的前导零被移除为止,即突发大小值BS的第一比特是突发大小字的最高有效比特(MSB),比特操纵器操纵W比特,在此示例中为32比特,包括突发大小BS300。如其名字表明的,定点运算单元210对于使用非整数数字的定点表示的数据执行操作,非整数数字的定点表示即指字的一部分包括整数部分而字的另一部分包括小数部分。因此,比特移位的突发大小值BS以此方式来表示并且包括宽度BSFPP比特的小数部分和宽度W-BSFPP的整数部分。此表示被记录来用作定点表示模板以用于在本文中稍后描述的后续掩模。类似地,桶状态Bstatus根据非整数数字的定点表示来表达,并且在此示例中,具有与此相关联的第一精确度。
比特操纵器结合要分配给3W/2304的预定的乘法补偿常量或因子以及时间戳数据TSt-1、TSt的小数部分的预定宽度FPP306,使用突发大小BS的小数部分的宽度BSFPP,以便计算用于比特的左移位的精度转换值,如将在本文中稍后描述的。乘法补偿常量或因子对应于速率数据R的宽度,以及用于存储构成用于令牌桶的定点递增值的乘法结果的额外裕度,在本示例中为W比特。为了计算精度转换值,考虑了相对于突发大小值BS而执行的比特移位操作的突发大小值BS的宽度被由定点运算单元210支持的累加单元308添加到预定的乘法补偿常量3W/2。累加单元308具有用于接收突发大小值BS的宽度的第一输入,以及用于接收在速率处理器206中本地存储的预定的乘法补偿常量3W/2的第二输入。累加单元308的输出被提供给也由定点运算单元210所支持的减法单元310的第一输入。减法单元310的第二输入被布置成接收预定宽度FPP306并且从在累加单元308的输出处提供的值中减去预定的宽度FPP306。减法单元310的输出提供构成精度转换值的值。
关于管理令牌桶来使用精度转换值,如现将描述的。
如上文提到的,当前时间戳值TSt308和前面的时间戳值TSt-1310被提供给速率处理器206,并且两个时间戳值之间的差通过由定点运算单元210支持的另一减法单元312来计算。如上文提到的,时间戳数据TSt-1、TSt的小数部分的宽度为FPP比特宽。因为时间戳数据TSt-1、TSt每个被分配了用于其记录及操作的字,所以时间戳数据TSt-1、TSt中的每一个的整数部分的宽度为W-FPP比特。所计算的两个时间戳值之间的差Tdiff被认为是用于令牌桶的递增值的计算的分量。
为了计算递增值,定点运算单元210支持宽2W的乘法单元314,乘法单元314接收所计算的两个时间戳值之间的差Tdiff以及表示为W/2整数比特和W/2小数比特的速率R316,并且将这些值相乘以便在乘法单元314的输出处提供递增值。在此示例中,由于使用定点运算,所以递增值为定点递增值并且具有与此相关联的第二精确度。由于在定点递增值和桶状态Bstatus方面使用了不同的定点位置,所以第二精确度与第一精确度不同。为了支持乘法功能,并且如上文所建议的,用来存储乘法结果的速率处理器206的临时寄存器为2W宽,在此示例中为长字64比特宽。定点递增值的小数部分为W/2+FPP比特宽,并且由于临时寄存器为2W比特宽,所以定点递增值的整数部分为3W/2-FPP比特宽。
其后,定点运算单元210支持比特操纵器的数据操纵单元,在此示例中为左移位器318,以便使第二精确度与第一精确度一致,或者与第一精确度对齐。左移位器318使用所计算的精度转换值,并且如上文描述的,为了将定点递增值的比特向左移位与精度转换值相对应的多个比特位置,移位操作的结果为3W比特宽,在此示例中为96比特宽。在移位操作之后,所操纵的定点递增值的小数部分为2W+BSFPP比特宽,因为定点递增值的比特已经向左移位了3W/2+BSFPP-FPP比特。由于临时寄存器为3W比特宽,因此所操纵的定点递增值的整数部分为W-BSFPP比特宽。此外,超过该整数部分宽度的非零比特可以预留在3W宽的结构体中。然而,这些附加比特被认为是溢出比特,并且随后被截断,如将在本文中稍后描述的。
借助于左移操作,定点递增值的整数部分被对齐或者与桶状态Bstatus320的整数部分对齐。然而,表示所操纵的定点递增值的比特图案的宽度比分配用于表示桶状态Bstatus320的预定宽度W更长。因此,定点运算单元210支持比特提取器322,其隔离或者提取所操纵的定点递增值的W个MSB,使得所操纵的定点递增值的宽度与分配用于表示桶状态Bstatus的宽度一致,即相同,从而使所操纵的定点递增值与桶状态Bstatus相兼容,以用于执行加法。应该注意,在此示例中,左移位器318的逻辑可以检测溢出并且为了说明这样的溢出,左移位器318可以提供与突发大小值BS相同值的W比特来代替提取比特。当然,可以采用比突发大小值BS更大的其它适当大的值,例如由左移位器318提供的比特可以全部为1。
定点运算单元210支持另一累加单元324,累加单元324在其第一输入处接收如上文提到的检索出的桶状态Bstatus值320,并且在其第二输入处接收来自所操纵的定点递增值的所提取的比特。累加单元324因此提供更新的桶状态值,如果加法运算导致突发大小值超出,则累加单元324可以为W+1比特宽。因此,与突发大小BS(依照上文提到的所计算的)有关的定点表示模板被由定点运算单元210支持的比较与截断单元326使用,以便根据突发大小BS的定点表示并且还根据与令牌桶相关联的运算约束,将桶状态Bstatus的值限制为突发大小BS,即桶状态值Bstatus应该不超过突发大小值BS。一旦已经计算了更新的桶状态值,速率处理器206就将更新的桶状态值存储在关于与所接收到的分组相关的简档的简档存储器208中。当前时间戳TSt也被记录在简档数据中代替前面的时间戳TSt-1。上述处理响应于后续分组的接收而重复。如可以看见的,取决于与给定的接收到的分组相关的简档,速率处理器206处理与不同的简档相关的不同数据并且因此处理不同的令牌桶。此外,上述示例使用表示桶状态Bstatus所要求的数据比特的宽度,以便采用使得在计算中用于表示小数的比特数量最大化的非整数数字的定点表示。
在另一实施例中,速率处理器206支持在任务数据读取单元204中实现的刷新分组生成器(未示出),其生成大小为零的虚拟分组,在下文中被称为“刷新分组”。速率处理器206响应于刷新分组而不递减令牌桶,因为刷新分组的大小为零。此外,刷新分组被标记使得不更新其它的简档相关的变量,例如统计计数器。刷新分组生成器监视与要管理的简档的数量相对应的当前时间戳数据TSt,特别是当前时间戳数据TSt的多个MSB,以便检测检测当前时间戳数据TSt的所述多个MSB中的一个或多个的状态的变化。在这方面,相对于不同的相应简档来监视MSB的不同组合。在一个示例中,不监视最左边的MSB使得刷新分组在用于相关联的简档的时间戳数据的回绕(wrap-around)周期中被触发两次。
在检测到例如切换的状态变化之后,刷新分组生成器生成由任务数据读取单元204检测到的刷新数据报,触发尝试以关于上文前一个实施例描述的方式来递增令牌桶。然而,如上文提到的,由于刷新分组为空分组所以没有递减桶状态Bstatus。因此,减轻了时间戳数据的翻转的效果。
因此能够提供一种令牌桶管理装置和一种管理令牌桶的方法,该方法减少了支持令牌桶所要求的存储器空间,而没有精度的相关损失。非整数数字的定点表示的使用还有助于使用简单逻辑电路管理令牌桶。此外,与维持令牌桶的计算相关使用的数据表示格式的宽度比用于令牌桶的其它硬件实施方式的已知数据表示格式的宽度更窄。因此,减小了存取次数并且还因此减小了存储器占用的管芯空间,导致减少了与在集成电路中实现的令牌桶相关的材料的费用。此外,通过包括该装置的集成电路减小了该装置对功耗的贡献。此外,刷新数据报的使用消除或者至少减轻了所谓的时间戳翻转并且因此消除或者至少减轻了与低数据速率的数据报遍历相关的时间戳翻转所引起的计算误差。
当然,上述优点是示例性的,并且这些或其它优点可以通过本发明实现。另外,技术人员将了解的是,不是上文陈述的所有优点都必须由本文中描述的实施例来实现。
在前面的说明书中,已经参考本发明的实施例的特定示例对本发明进行了描述。然而,将明显的是在不背离如随附权利要求中所陈述的本发明的更广泛的精神和范围的情况下,可以在其中进行各种修改和改变。
如在本文中讨论的连接可以为适合于例如经由中间设备从相应的节点、单元或设备传送信号或将信号传送到相应的节点、单元或设备的任何类型的连接。因此,除非以其它方式暗示或规定,否则连接可以例如为直接的连接或间接的连接。连接可以被图示或描述为参考单个连接、多个连接、单向连接或双向连接。然而,不同的实施例可以改变连接的实施方式。例如,可以使用独立的单向连接而不是双向连接,并且反之亦然。同样地,可以用串行地或者以时间复用的方式传送多个信号的单个连接来替代多个连接。同样地,承载多个信号的单个连接可以被分离成承载这些信号的子集的各种不同的连接。因此,存在用于传送信号的许多选择。
本文中所描述的每个信号都可以被设计为正逻辑或负逻辑。在负逻辑信号的情况下,信号是低电平有效,其中逻辑真状态对应于逻辑电平零。在正逻辑信号的情况下,信号是高电平有效,其中逻辑真状态对应于逻辑电平一。注意,本文中所描述的信号中的任何一个都能够被设计为负逻辑信号或正逻辑信号。因此,在替代实施例中,被描述为正逻辑信号的那些信号可以被实现为负逻辑信号,并且被描述为负逻辑信号的那些信号可以被实现为正逻辑信号。
本领域的技术人员将认识到,逻辑块之间的界线仅仅是说明性的,并且替代实施例可以合并逻辑块或电路元件,或者将功能的替代分解施加在各种逻辑块或电路元件上。因此,要理解的是,本文中描绘的架构仅仅是示例性的,并且实际上可以实施实现完成相同的功能的许多其它的架构。例如,控制单元110和监视单元112可以被组合为单个功能单元。
实现相同功能的部件的任何布置被有效地“相关联”使得实现期望的功能。因此,本文中进行组合以实现特定功能的任何两个部件能够被视为彼此“相关联”使得实现期望的功能,而不管架构或中间部件如何。同样地,这样相关联的任何两个部件还能够被视为是彼此“操作地连接”,或“操作地耦合”以实现期望的功能。
此外,本领域的技术人员将认识到上文描述的操作的功能之间的界线仅仅是说明性的。多个操作可以被组合到单个操作中,单个操作可以被分布在额外的操作中并且可以在时间上至少部分重叠地执行。此外,替代性实施例可以包括特定操作的多个实例,并且可以在各种其它实施例中改变操作的次序。
同样,例如,在一个实施例中,所图示的示例可以被实现为位于单个集成电路上的或在同一设备内的电路。例如,速率处理器206支持与多个简档有关的处理。或者,示例可以被实现为任意数量的单独的集成电路或以适当的方式彼此互连的独立的设备。例如,与不同组的简档有关的处理可以被分配给相应的不同的集成电路。
同样,例如,诸如以任何适当类型的硬件描述语言,示例或其部分可以被实现为物理电路的软表示或代码表示或可转换成物理电路的逻辑表示的软表示或代码表示。
同样地,本发明不限于在非可编程硬件中实现的物理设备或单元,而且还可以应用于能够通过根据适当的程序代码进行操作以执行期望的设备功能的可编程装置或单元,例如现场可编程门阵列(FPGA)。
然而,其它修改、变化和替换也是可能的。说明书和附图因此将被认为是说明性的而不是限制性的意义。
在权利要求中,在括弧之间放置的任何附图标记均不应该被解释为限制权利要求。单词“包括”不排除除了在权利要求中列举的那些之外存在其它元素或步骤。另外,如本文中所使用的术语“一(a)”或“一个(an)”被定义为一个或超过一个。同样地,在权利要求中使用诸如“至少一个”和“一个或多个”的介绍性短语不应该被解释成暗示通过不定冠词“一(a)”或“一个(an)”进行的另一权利要求元素的介绍将包含这样介绍的权利要求元素的任何特定权利要求限制为包含仅一个这样的元素的发明,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和诸如“一(a)”或“一个(an)”的不定冠词时。同样的情况适用于定冠词的使用。除非以其它的方式说明,否则诸如“第一”和“第二”的术语被用来在这样的术语描述的元素之间进行任意的区别。因此,这些术语未必旨在指示这样的元素的时间上的或其它方面的优先级。在相互不同的权利要求中引用特定手段的简单事实并不指示不能有利地使用这些手段的组合。
Claims (16)
1.一种令牌桶管理装置,包括:
处理资源,所述处理资源具有输入,所述输入用于接收与分类的数据流相关联的简档数据,所述处理资源包括运算单元,所述运算单元被布置成维持与所述分类的数据流相关联的令牌桶的桶状态值;其中
所述运算单元是定点运算单元,所述定点运算单元被布置成根据具有第一精确度的非整数数字的定点表示来维持所述桶状态值,并且根据具有第二精确度的非整数数字的定点表示来计算定点非整数递增值;以及
所述定点运算单元被布置成操纵所计算的定点非整数递增值,以便使所述第二精确度与所述第一精确度一致并且将所述桶状态值递增所操纵的定点非整数递增值。
2.根据权利要求1所述的装置,其中,所述第一精确度与所述第二精确度不同。
3.根据权利要求1或权利要求2所述的装置,其中,根据预定的递增速率来计算所述定点非整数递增值。
4.根据权利要求1或权利要求2所述的装置,进一步包括存储器,所述存储器操作地耦合到所述处理资源,用于存储并且提供所述简档数据。
5.根据权利要求1或权利要求2所述的装置,其中,所述定点运算单元被布置成通过执行比特移位操作来操纵所计算的定点非整数递增值。
6.根据权利要求1或权利要求2所述的装置,其中,所述定点运算单元支持比特操纵器,所述比特操纵器被布置成操纵所计算的定点非整数递增值。
7.根据权利要求6所述的装置,其中,所述比特操纵器被布置成计算精度转换值,所述精度转换值构成与所计算的定点非整数递增值的操纵相关联的参数。
8.根据权利要求7所述的装置,其中,所述比特操纵器被布置成使用第一宽度值、第二宽度值以及乘法补偿因子来计算所述精度转换值,其中所述第一宽度值与预定突发大小值的整数部分相关联,所述第二宽度值与和时间测量有关的预定定点配置值的整数部分相关联。
9.根据权利要求8所述的装置,其中,所述乘法补偿因子与速率数据的宽度和用于存储所述定点非整数递增值的额外数据存储宽度的裕度相对应。
10.根据权利要求8或权利要求9所述的装置,其中,所述比特操纵器包括累加单元,所述累加单元具有第一输入、第二输入以及输出,所述输出被耦合到减法单元的第一输入。
11.根据权利要求10所述的装置,其中,所述累加单元的所述第一输入被布置成接收与所述预定突发大小值的所述整数部分相关联的所述第一宽度值,所述累加单元的所述第二输入被布置成接收所述乘法补偿因子,并且所述减法单元的第二输入被布置成接收与和时间测量有关的所述预定定点配置值的所述整数部分相关联的所述第二宽度值。
12.根据权利要求11所述的装置,其中,所述减法单元被布置成从由所述累加单元的所述输出提供的值中减去与和时间测量有关的所述预定定点配置值的所述整数部分相关联的所述第二宽度值。
13.根据权利要求7所述的装置,其中,所述比特操纵器包括比特移位器,所述比特移位器被布置成将所计算的定点非整数递增值左移所述精度转换值。
14.根据权利要求13所述的装置,进一步包括比特提取器,所述比特提取器被布置成从所述比特移位器的输出中隔离W个最高有效比特(MSB),其中W为预定的预留存储器宽度。
15.一种数据交换机,包括根据前述权利要求中任一项所述的令牌桶管理装置。
16.一种令牌桶管理的方法,所述方法包括:
接收与分类的数据流相关联的简档数据;
维持与所述分类的数据流相关联的令牌桶的桶状态值;其中
根据具有第一精确度的非整数数字的定点表示来维持所述桶状态值;并且进一步包括:
根据具有第二精确度的非整数数字的定点表示来计算定点非整数递增值;
操纵所计算的定点非整数递增值,以便使所述第二精确度与所述第一精确度一致;以及
将所述桶状态值递增所操纵的定点非操纵递增值递增。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2010/051232 WO2011117672A1 (en) | 2010-03-22 | 2010-03-22 | Token bucket management apparatus and method of managing a token bucket |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102812670A CN102812670A (zh) | 2012-12-05 |
CN102812670B true CN102812670B (zh) | 2015-11-25 |
Family
ID=44672493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080065710.2A Active CN102812670B (zh) | 2010-03-22 | 2010-03-22 | 令牌桶管理装置和管理令牌桶的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8848537B2 (zh) |
EP (1) | EP2550775A4 (zh) |
CN (1) | CN102812670B (zh) |
WO (1) | WO2011117672A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130329553A1 (en) * | 2012-06-06 | 2013-12-12 | Mosys, Inc. | Traffic metering and shaping for network packets |
US20140112147A1 (en) * | 2012-10-19 | 2014-04-24 | Broadcom Corporation | Refresh mechanism for a token bucket |
CN103326953B (zh) * | 2013-03-28 | 2016-06-29 | 华为技术有限公司 | 一种基于令牌桶的流量限制方法和装置 |
US9744826B2 (en) | 2013-05-31 | 2017-08-29 | Fox Factory, Inc. | Methods and apparatus for adjusting a spring pre-load |
US9537777B1 (en) | 2015-03-30 | 2017-01-03 | EMC IP Holding Company LLC | Adjusting input/output operation arrival times to represent a token bucket that enforces maximum rate and burst size limits |
US9401184B1 (en) * | 2015-06-16 | 2016-07-26 | Sandisk Technologies Llc | Memory system and method for power management |
US9418712B1 (en) | 2015-06-16 | 2016-08-16 | Sandisk Technologies Llc | Memory system and method for power management using a token bucket |
JP2017017538A (ja) * | 2015-07-01 | 2017-01-19 | 富士通株式会社 | メーター処理方法、メーター処理プログラム及びネットワーク装置 |
US9760311B1 (en) | 2016-06-23 | 2017-09-12 | Sandisk Technologies Llc | Storage system and method for adaptive thermal throttling |
CN107800644A (zh) * | 2017-11-08 | 2018-03-13 | 中国人民解放军国防科技大学 | 一种可动态配置的流水化令牌桶限速方法与装置 |
EP3744055B1 (en) * | 2018-01-22 | 2023-12-27 | Telefonaktiebolaget LM Ericsson (publ) | Probabilistic packet marking with fast adaptation mechanisms |
CN110912834A (zh) * | 2019-12-09 | 2020-03-24 | 昆高新芯微电子(江苏)有限公司 | 一种基于令牌桶算法的流量控制方法 |
CN111541617B (zh) * | 2020-04-17 | 2021-11-02 | 网络通信与安全紫金山实验室 | 一种用于高速大规模并发数据流的数据流表处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925055B1 (en) * | 2001-03-05 | 2005-08-02 | Advanced Micro Devices, Inc. | Systems and methods for traffic shaping |
CN1770711A (zh) * | 2005-11-18 | 2006-05-10 | 史文勇 | 一种瓶颈带宽和剩余带宽的测量方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138643A1 (en) | 2000-10-19 | 2002-09-26 | Shin Kang G. | Method and system for controlling network traffic to a network computer |
US7664028B1 (en) | 2001-03-05 | 2010-02-16 | Pmc-Sierra Ltd. | Apparatus and method for metering and marking data in a communication system |
KR100800958B1 (ko) * | 2001-10-04 | 2008-02-04 | 주식회사 케이티 | 토큰 버켓을 이용한 트래픽 플로우 제어 방법 |
US6798741B2 (en) * | 2001-12-05 | 2004-09-28 | Riverstone Networks, Inc. | Method and system for rate shaping in packet-based computer networks |
KR100656348B1 (ko) | 2004-12-08 | 2006-12-11 | 한국전자통신연구원 | 토큰 버켓을 이용한 대역폭 제어 방법 및 대역폭 제어 장치 |
US7529191B2 (en) | 2005-02-18 | 2009-05-05 | Broadcom Corporation | Programmable metering behavior based on table lookup |
US7577096B2 (en) | 2005-02-18 | 2009-08-18 | Broadcom Corporation | Timestamp metering and rollover protection in a network device |
US7843825B2 (en) * | 2007-10-02 | 2010-11-30 | Broadcom Corporation | Method and system for packet rate shaping |
-
2010
- 2010-03-22 CN CN201080065710.2A patent/CN102812670B/zh active Active
- 2010-03-22 WO PCT/IB2010/051232 patent/WO2011117672A1/en active Application Filing
- 2010-03-22 US US13/582,524 patent/US8848537B2/en active Active
- 2010-03-22 EP EP10848292.8A patent/EP2550775A4/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925055B1 (en) * | 2001-03-05 | 2005-08-02 | Advanced Micro Devices, Inc. | Systems and methods for traffic shaping |
CN1770711A (zh) * | 2005-11-18 | 2006-05-10 | 史文勇 | 一种瓶颈带宽和剩余带宽的测量方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2550775A4 (en) | 2013-11-06 |
WO2011117672A1 (en) | 2011-09-29 |
CN102812670A (zh) | 2012-12-05 |
EP2550775A1 (en) | 2013-01-30 |
US20130003555A1 (en) | 2013-01-03 |
US8848537B2 (en) | 2014-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102812670B (zh) | 令牌桶管理装置和管理令牌桶的方法 | |
US11095561B2 (en) | Phantom queue link level load balancing system, method and device | |
CN102203766B (zh) | 共享接入电缆网络中的绑定信道上的qos | |
CN111769998B (zh) | 一种网络时延状态的探测方法及装置 | |
JP5677588B2 (ja) | マルチチャネルパケット伝送のためのシステムおよび方法 | |
CN107743099B (zh) | 数据流处理方法、装置以及存储介质 | |
US11770327B2 (en) | Data distribution method, data aggregation method, and related apparatuses | |
US10536385B2 (en) | Output rates for virtual output queses | |
US7609633B2 (en) | Bandwidth policer with compact data structure | |
CN103795640A (zh) | 一种流量监管方法和装置 | |
US7664028B1 (en) | Apparatus and method for metering and marking data in a communication system | |
US9054985B2 (en) | System and method for dynamic rate limiting and shaping of traffic based on available bandwidth | |
EP2630758B1 (en) | Reducing the maximum latency of reserved streams | |
CN104780118B (zh) | 一种基于令牌的流控方法及装置 | |
US6724776B1 (en) | Method and system for providing optimal discard fraction | |
CN110856052A (zh) | 支持多种粒度的FlexE实现方法、装置及电子设备 | |
Sayit et al. | DASH-QoS: A scalable network layer service differentiation architecture for DASH over SDN | |
CN109391559A (zh) | 网络设备 | |
CN112367708B (zh) | 一种网络资源分配方法及装置 | |
US8832309B2 (en) | Generating packets with low overhead or selectable sequence number generation | |
WO2021093509A1 (zh) | 流量分配方法及装置 | |
He et al. | Consistent and Fine-Grained Rule Update with In-Network Control for Distributed Rate Limiting | |
CN113162869B (zh) | 传输流量的控制方法、装置以及存储介质 | |
Breck et al. | Delay and backlog bounds for an aggregation system in wireless networks | |
CN116016357A (zh) | 数据传输的方法、装置、存储介质以及电子设备 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Texas in the United States Patentee after: NXP America Co Ltd Address before: Texas in the United States Patentee before: Fisical Semiconductor Inc. |