缓冲区统计数据的跟踪的制作方法

文档序号:8001574阅读:229来源:国知局
缓冲区统计数据的跟踪的制作方法
【专利摘要】本发明公开了缓冲区统计数据的跟踪。本文所公开的系统和方法允许包交换网络中的交换机跟踪缓冲区统计数据且触发诸如硬件终端或系统快照的事件,以对达到阈值的缓冲区统计数据作出反应,缓冲区统计数据达到阈值表示即将出现问题。因为交换机本身触发事件以警告网络管理员,所以网络管理员不再需要筛选大量的数据来识别潜在的问题。还有,因为交换机在问题出现之前触发事件,所以网络管理员可在问题发生之前提供补救行动。这种类型的事件触发机制使得包交换网络的管理变得更具可管理性。
【专利说明】缓冲区统计数据的跟踪
【技术领域】
[0001]本发明总体上涉及包交换网络,且更具体地,涉及用于跟踪交换机的缓冲区统计数据的系统和方法。
【背景技术】
[0002]典型地,在包交换网络中,交换机保存可由网络管理员轮询的缓冲区统计数据。由此,网络管理员可定期从这些交换机中轮询缓冲区统计数据以识别需要网络管理员注意的任何潜在问题。替代地,网络管理员会响应于针对特定交换机出现的问题轮询缓冲区统计数据。然而,对于具有数百个(或者甚至数千个)交换机的大型网络,被轮询的数据量是惊人的且审阅大量数据可能是一项艰巨的任务。

【发明内容】

[0003]根据本发明的一个方面,提供了一种在具有缓冲区的交换机中的方法,所述方法包括:Ca)确定统计数据类型,所述统计数据类型是选自以下各项组成的组中的至少一项:(al)当前使用计数;和(&2)最大使用计数;(b)针对所确定的所述统计数据类型跟踪使用计数,所述使用计数是选自以下各项组成的组中的至少一项:(bl)出口使用计数;(b2)入口使用计数;和化3)装置使用计数;(C)将所述使用计数与对应的阈值进行比较;以及(d)在所述使用计数超过所述对应的阈值时触发事件。
[0004]优选地,该方法还包括:(e)接收重置命令;以及(f)响应于所述重置命令对所述使用计数进行重置。
[0005]根据本发明的一个方面,提供了一种系统,包括:使用计数寄存器,用于储存与缓冲区相关的使用计数;阈值寄存器,用于储存与所述使用计数对应的阈值;以及存储器管理单元(MMU),用于将所述使用计数与所述阈值进行比较,所述存储器管理单元用于在所述使用计数超过所述阈值时触发事件。
[0006]优选地,所述使用计数寄存器还用于储存出口使用计数。
[0007]优选地,所述出口使用计数是选自以下各项组成的组中的至少一项:出口单播(UC)队列使用计数;出口队列组共享使用计数;出口端口使用计数;出口多播(MC)缓冲池(BP)使用计数;出口单播加多播(UC+MC)缓冲池使用计数;以及出口中央处理单元(CPU)队列使用计数。
[0008]优选地,所述使用计数寄存器还用于储存入口使用计数。
[0009]优选地,所述入口使用计数是选自以下各项组成的组中的至少一项:入口端口和优先级组(PG)单播加多播(UC+MC)共享使用计数;入口端口优先级组净空使用计数;入口端口缓冲池(BP)单播加多播(UC+MC)共享使用计数;以及入口缓冲池单播加多播(UC+MC)共享使用计数。
[0010]优选地,所述使用计数寄存器还用于储存装置使用计数。
[0011]优选地,所述事件是硬件中央处理单元(CPU)中断。[0012]优选地,所述事件是停止更新所述使用计数的命令。
[0013]优选地,所述事件是经设置以指示所述使用计数超过所述阈值的专用位。
[0014]根据本发明的又一方面,提供了一种在网络交换机中的方法,所述方法包括:跟踪与缓冲区相关的使用计数;确定所跟踪的所述使用计数是否超过预定阈值;以及在所述使用计数超过所述预定阈值时触发事件。
[0015]优选地,所述事件的触发包括:发布中央处理单元(CPU)中断。
[0016]优选地,所述事件的触发包括:停止更新所述使用计数。
[0017]优选地,所述事件的触发包括:设置专用位以指示所述使用计数超过所述预定阈值。
[0018]优选地,所述使用计数的跟踪包括:跟踪出口使用计数。
[0019]优选地,所述出口使用计数的跟踪包括选自以下各步骤组成的组中的至少一个步骤:跟踪出口单播(UC)队列使用计数;跟踪出口队列组共享使用计数;跟踪出口端口使用计数;跟踪出口多播(MC)缓冲池(BP)使用计数;跟踪出口单播加多播(UC+MC)缓冲池使用计数;以及跟踪出口中央处理单元(CPU)队列使用计数。
[0020]优选地,所述使用计数的跟踪包括:跟踪入口使用计数。
[0021]优选地,所述入口使用计数的跟踪包括选自以下各步骤组成的组中的至少一个步骤:跟踪入口端口和优先级组(PG)单播加多播(UC+MC)共享使用计数;跟踪入口端口优先级组净空使用计数;跟踪入口端口缓冲池(BP)单播加多播(UC+MC)共享使用计数;以及跟踪入口缓冲池单播加多播(UC+MC)共享使用计数。
[0022]优选地,所述使用计数的跟踪包括:跟踪装置使用计数。
【专利附图】

【附图说明】
[0023]可参考以下附图更好地理解本发明的多个方面。附图中的部件不必按比例,而是将重点放在清楚地描述本发明的原理。另外,在附图中相似参考标号指示通篇数个示图中相应的部分。
[0024]图1是示出交换机基于缓冲区统计数据来触发事件的方法的一个实施方式的流程图。
[0025]图2是示出了选择用于跟踪的缓冲区统计数据的方法的一个实施方式的流程图。
[0026]图3是示出用于在交换机中跟踪使用计数(use-counts)的方法的一个实施方式的流程图。
[0027]图4是示出用于在交换机中触发事件的方法的一个实施方式的流程图。
[0028]图5是示出用于跟踪交换机的出口统计数据的方法的一个实施方式的流程图。
[0029]图6是示出用于跟踪交换机的入口统计数据的方法的一个实施方式的流程图。
【具体实施方式】
[0030]典型地,在包交换网络中,交换机保存可由网络管理员轮询的缓冲区统计数据。由此,当交换机碰到问题(例如,队列长度变得太长)时,网络管理员可从有问题的交换机中轮询缓冲区统计数据以查出问题并采取补救行动。不幸的是,就在轮询缓冲区统计数据的时候,问题(例如网络拥塞)已经出现且此时网络管理员的任务就是简单地修复这个问题(将网络流量重新路由到其他交换机)。
[0031]替代地,为了避免这些问题,网络管理员可定期轮询缓冲区统计数据。简言之,通过审阅缓冲区统计数据,网络管理员可重新分配可用资源以阻止问题。然而,对于具有几百个(或者甚至几千个)交换机的大型网络,被轮询的数据量是惊人的且审阅大量数据可能是一项艰巨的任务。这是因为针对缓冲区统计数据轮询所有的交换机导致既要收集针对许多运行正常的交换机的信息又要收集针对少数即将发生故障的交换机的信息。由此,为了识别问题耐着性子看完一堆数据是一项费时的任务。
[0032]本文所公开的系统和方法允许交换机跟踪缓冲区统计数据进而触发事件,例如硬件中断或系统快照,以对达到可表示将要出现问题的阈值的缓冲区统计数据作出响应。因为交换机自身触发事件以警告网络管理员,所以网络管理员不再需要耐着性子看完成山的数据来识别潜在的问题。还有,由于交换机在问题出现之前触发事件,所以网络管理员可在问题出现之前提供补救行动。这种类型的事件触发机制使得包交换网络的管理工作变得更易于管理。
[0033]为了实现事件触发机制,交换系统包括储存与交换机缓冲区相关的使用计数的使用计数寄存器。该使用计数可指示出口统计数据、入口统计数据、或装置统计数据,且能够以每队列、每端口或每池为单位进行监测。该系统还包括储存与每个使用计数相关联的相关阈值的阈值寄存器。系统中的存储器管理单元(MMU)将使用计数与阈值进行比较从而确定使用计数是否超过该阈值。并且,在使用计数超过该阈值时,MMU触发事件。该事件可以是硬件中央处理单元(CPU)中断,其警告网络管理员该交换机缓冲区已超过特定阈值。还有,该事件可以是当超过阈值时的交换机的快照。该事件还可以是发出命令以阻止更新使用计数。替代地,该事件可仅仅是寄存器内专用位的设置,当被轮询时,其将网络管理员的注意力引到已设置该位的特定交换机。
[0034]除了在真实缓冲区上实现报警机制,也可在虚拟队列上实现相似的机制。由此,并非监测真实队列(或真实物理端口),而是可以使用例如令牌桶计(token bucket meter)实现虚拟队列。由于在本领域令牌桶计为人所知,这里只作一个简要的讨论。通过隐蔽真实队列的行为,虚拟队列模拟真实队列。然而,因为虚拟队列可被配置为以比真实队列更慢的速率消退(drain),虚拟队列上的使用计数会比真实队列上的使用计数累积的更快。这导致更早地检测到潜在问题,且进一步减少或消除来自队列建立的任何潜在影响。
[0035]已提供一个简要的概述,现在参考附图中所示的实施方式进行详细描述。尽管结合这些附图描述数个实施方式,但并不旨在将本发明限于本文所公开的实施方式。相反,旨在覆盖所有替代物、变形例和等价物。
[0036]图1是示出交换机基于缓冲区统计数据来触发事件的方法的一个实施方式的流程图。如图1中所示,该处理开始于110,确定将要被监测的统计数据的类型(例如,当前使用计数、最大使用计数等等)。参考图2示出用于确定110统计数据类型的处理的一个实施方式。
[0037]一旦统计数据的类型已被确定110,针对该交换机(这里简称为交换机自身)的缓冲区统计数据监测机制跟踪120针对该数据的使用计数。该跟踪机制可以与顺序地增加使用计数的增量计数寄存器一样简单。参考图3示出用于跟踪120使用计数的方法的一个实施方式。[0038]然后交换机将所跟踪的使用计数与阈值进行比较130,该阈值储存在阈值寄存器中。如果使用计数没有超过该阈值,那么系统继续对使用计数进行跟踪120。替代地,如果使用计数超过该阈值,那么系统触发140事件(例如硬件中断、系统快照等等)。参考图4示出用于触发140事件的处理的一个实施方式。
[0039]值得注意的是,此时为了获取可接受的性能,网络管理员或操作员可能需要调整MMU缓冲区准入设置(buffer admission settings),这些设置通常是依流量而定的。换句话说,事件触发机制的性能取决于设置合适的阈值。例如,如果阈值设置过高,那么使用计数可轻易超过警报值而不触发事件。替代地,如果阈值设置过低,那么即使可接受的(以及正常的)使用计数也可能不必要地触发事件。
[0040]一旦事件已被触发140,然后系统等待150网络管理员重置使用计数进而在发出重置命令时重置160使用计数。重置160使用计数后,系统返回至跟踪120使用计数。
[0041]如以上所述,图2是示出选择用于跟踪的缓冲区统计数据的方法的一个实施方式的流程图。如图2中所示,系统确定210网络管理员是否希望监测当前的使用计数。如果确实如此,那么系统跟踪220当前的使用计数。替代地,如果网络管理员想要基于最大使用计数来触发事件和警告,那么系统跟踪220最大使用计数。参考图3更详细地描述对于使用计数的跟踪。
[0042]如图3中所示,交换机跟踪出口使用计数310、入口使用计数340、装置使用计数370或所有这些计数的组合。为了做到这点,交换机决定320其是否应该跟踪出口使用计数,且如果应该的话,跟踪330出口使用计数。参考图5示出用于跟踪330出口使用计数的方法的一个实施方式。然后交换机决定350其是否应该跟踪入口使用计数,且如果应该的话,要么自己要么联合对出口使用计数的跟踪310来跟踪360入口使用计数。参考图6示出用于跟踪360入口使用计数的方法的一个实施方式。然后,交换机决定380其是否应该跟踪装置使用计数,且如果应该的话,要么自己要么联合对出口和入口使用计数的跟踪310、330来跟踪390装置使用计数。正如所见,供跟踪的使用计数参数具有灵活性。
[0043]图4是示出用于在交换机中触发事件的方法的一个实施方式的流程图。广义地,该事件可以是处理器中断410、系统快照440或仅仅触发寄存器中的专用位470。对于一些实施方式而言,该事件可以是伴随可选系统快照的中断触发或者伴随可选系统快照的设置专用位(“黏着位”)。在一个实施方式中,交换机决定420是否应该发布中央处理单元(CPU)中断,且如果应该的话,发布430CPU中断。该中断向网络管理员警告特定使用计数超过了阈值。接下来交换机确定450其是否应该拍下交换机缓冲区统计数据的快照,且如果应该的话,发布460命令以停止更新使用计数。可单独或联合CPU中断410来进行系统快照440。交换机也可被配置为在寄存器内设置490专用位以对触发事件480作出响应。该专用位指示使用计数超过其相应的阈值。由此,并非将大量的信息提供给管理员,而是针对每个交换机的单个专用位提供可管理的信息量,这种量的信息易于被网络管理员领会。
[0044]图5是示出用于跟踪310交换机的出口统计数据的方法的一个实施方式的流程图。如上述所提,按照每个队列为单位可以跟踪多个与出口有关的统计数据。在实现方式中,能够以每单播(UC)或每多播(MC)为单位进一步划分该每队列信息。图5提供划分UC和MC队列的实施方式。然而,应该理解,通常不需要如此精细等级的粒度。如图5中所示,监测出口单播(UC)队列使用计数的决定510引起交换机跟踪515该出口 UC队列使用计数。相似地,监测出口队列组共享使用计数的决定520引起交换机跟踪525出口队列组共享使用计数。针对出口端口使用计数、出口多播(MC)缓冲池(BP)使用计数、出口 UC加MC(UC+MC) BP使用计数、以及出口 CPU使用计数的相似决定530、540、550、560引起交换机跟踪535、545、555、565这些使用计数。换句话说,基于网络管理员的需要或愿望跟踪这些使用计数中的一个或多个。
[0045]类似于图5中如何跟踪310出口统计数据,通过图6的流程图示出入口统计数据跟踪340。交换机确定610、620、630、640是否应该监测以下使用计数中的一个或多个:A 口优先级组(PG)UC+MC使用计数、入口端口 PG净空(headroom)使用计数、入口端口 BP UC+MC共享使用计数、入口 BP UC+MC共享使用计数。此后,交换机跟踪615、625、635、645所期望的使用计数。参考图5注意到,不必分离UC和MC,可替代地以每队列为单位进行监测。
[0046]正如所见,可由交换机监测多个不同的变量。而且,交换机触发警告网络管理员的硬件事件以对特定变量超过阈值(或警报水平)作出响应。
[0047]除了主要描述用于基于缓冲区统计数据触发事件的方法外,本发明还为计数寄存器提供特定参数以及为实现缓冲区统计数据的跟踪提供它们的值。可基于I位寄存器来决定是储存当前使用计数还是储存最大使用计数,其中,0值跟踪当前使用计数,I值跟踪最大使用计数。类似地,可设置I位跟踪使能位,以便0值停止更新或捕获使用计数,而I值继续更新使用计数。
[0048]缓冲区统计数据或使用计数值优选地储存在寄存器中,其中,寄存器的各个顺序增量表示缓冲区单元中使用计数的增加。本领域的技术人员应理解计数器尺寸应足以应付最坏情况下的总缓冲区使用。此外,可使用简档索引来识别哪个阈值对应于哪个使用计数值。
[0049]也可通过I位值识别触发事件中的每一个事件。由此,例如,针对硬件中断,0值可指示没有CPU中断被发布,而I值导致发布CPU中断。相似地,针对快照的0值可导致使用计数的连续更新,而针对快照的I值可导致使用计数被冻结。
[0050]对于每个触发事件而言,可使用寄存器来表示哪种类型(例如,出口队列总、出口队列组共享、出口端口 BP共享、CPU队列总等等)的使用计数触发事件,而另一个寄存器提供对引起触发事件的端口、池或队列的识别。对于基于端口号和缓冲池的触发,可采用8位寄存器,其中,前6位表示端口号,而剩下的2位表示池编号。正如所见,可定制用于储存该信息的寄存器的尺寸以容纳所述类型的使用计数、使用计数的最大值、可触发使用计数的多个装置等。因为这些使用计数寄存器可配置的方法有无数个,且因为本领域的技术人员可从上述描述中方便地实施使用计数寄存器,所以在这里省略具有特定位值的其他实例。
[0051]只要说通过实现在其中使用计数被用于触发事件的进程就足够的,网络管理员可以在没有针对所有交换机轮询所有缓冲区统计数据的情况下容易地按照精细的粒度来检验包交换网络如何运行。这种类型的跟踪机制允许更加流线化的概览网络性能,从而允许网络管理员重新配置网络部件从而优化系统性能。
[0052]可在硬件、软件、固件或它们的组合物中实施存储器管理单元(MMU)。在优选的实施方式中,使用下面技术的任何一种或组合在硬件上实施该MMU,这些技术在本领域内为人所熟知:具有用于在数据信号上实施逻辑功能的逻辑门的离散逻辑电路、具有合适组合逻辑门的特定用途集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。在替代实施方式中,在软件或固件上实施MMU,其中软件后固件储存在存储器内且由合适的指令执行系统执行。
[0053]任何处理过程的描述或流程图中的方框应理解为表示代码的模块、分段或部分,它们包括一个或多个用于在本处理过程中实施特定逻辑功能或步骤的可执行指令,且替代实施包括在本发明的优先实施方式的范围内,其中可不按照所示或所讨论的顺序执行这些功能,这包括几乎同行执行或按照相反的顺序执行,这要取决于所涉及的功能性。对于本发明的【技术领域】内的技术人员应理解以上所述。
[0054]事件的触发可由硬件或软件代码执行,该代码包括用于实施逻辑功能的有序序列的可执行指令。事件的触发可在任何计算机可读介质上具体化,从而供指令执行系统、设备或装置使用或与他们相关联,指令执行系统、设备或装置例如有基于计算机的系统、包含处理器的系统或其他可从指令执行系统、设备或装置中获取指令且执行该指令的系统。在本文档的文章中,计算机可读介质可是包含、储存、通信、传播或发送程序以供指令执行系统、设备或装置使用或与他们相关联的任何装置。该计算机可读介质可是例如但不局限于电子、磁、电磁、红外或半导体的系统、设备、装置或传播介质。计算机可读介质的更多特定实例(非详尽无遗的清单)将包含下面的方面:具有一个或多个线路的电连接(电子的)、便携式计算机软盘(磁的)、随机存取存贮器(RAM)(电子的)、只读存储器(ROM)(电子的)、可擦可编程序只读存储器(EPR0M或闪存)(电子的)、光学纤维(光的)和便携式光盘只读存储器(⑶ROM)(光的)。注意,计算机可读介质甚至可是纸张或其他适合在其上打印程序的介质,因为可凭借例如纸张或其他介质的光学扫描电子捕获程序,如有必要然后以合适的方式编辑、翻译或其他处理程序且然后将程序储存在计算机存储器内。
[0055]尽管已经展示和描述多个示例性实施方式,对于本领域的技术人员而言,应清楚的是可对所描述的公布作出多种改变、变型或变更。例如,当在这里公布使用计数是,应该理解可以相似的方式监测包速率。因此所有这些改变、变型和变更应视作处于本发明的范围内。
【权利要求】
1.一种在具有缓冲区的交换机中的方法,所述方法包括: Ca)确定统计数据类型,所述统计数据类型是选自以下各项组成的组中的至少一项: (al)当前使用计数;和 (a2)最大使用计数; (b)针对所确定的所述统计数据类型跟踪使用计数,所述使用计数是选自以下各项组成的组中的至少一项: (bl)出口使用计数; (b2)入口使用计数;和 (b3)装置使用计数; (c)将所述使用计数与对应的阈值进行比较;以及 Cd)在所述使用计数超过所述对应的阈值时触发事件。
2.根据权利要求1所述的方法,还包括: Ce)接收重置命令;以及 Cf)响应于所述重置命令对所述使用计数进行重置。
3.一种系统,包括: 使用计数寄存器,用于储存与缓冲区相关的使用计数; 阈值寄存器,用于储存与所述使用计数对应的阈值;以及 存储器管理单元(MMU),用于将所述使用计数与所述阈值进行比较,所述存储器管理单元用于在所述使用计数超过所述阈值时触发事件。
4.根据权利要求3所述的系统,所述使用计数寄存器还用于储存出口使用计数。
5.根据权利要求4所述的系统,所述出口使用计数是选自以下各项组成的组中的至少一项: 出口单播(UC)队列使用计数; 出口队列组共享使用计数; 出口端口使用计数; 出口多播(MC)缓冲池(BP)使用计数; 出口单播加多播(UC+MC)缓冲池使用计数;以及 出口中央处理单元(CPU)队列使用计数。
6.根据权利要求3所述的系统,所述使用计数寄存器还用于储存入口使用计数。
7.根据权利要求6所述的系统,所述入口使用计数是选自以下各项组成的组中的至少一项: 入口端口和优先级组(PG)单播加多播(UC+MC)共享使用计数; 入口端口优先级组净空使用计数; 入口端口缓冲池(BP)单播加多播(UC+MC)共享使用计数;以及 入口缓冲池单播加多播(UC+MC)共享使用计数。
8.根据权利要求3所述的系统,所述使用计数寄存器还用于储存装置使用计数。
9.根据权利要求3所述的系统,所述事件是硬件中央处理单元(CPU)中断。
10.一种在网络交换机中的方法,所述方法包括: 跟踪与缓冲区相关的使用计数;确定所跟踪的所述使用计数是否超过预定阈值;以及在所述使用计数超过所述预定阈值时触发事件。
【文档编号】H04L12/24GK103580910SQ201310269254
【公开日】2014年2月12日 申请日期:2013年6月28日 优先权日:2012年8月7日
【发明者】布鲁斯·关, 普尼特·阿加瓦尔, 布拉德·马修斯, 其他发明人请求不公开姓名 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1