CN112242965A - 遥测事件聚合 - Google Patents

遥测事件聚合 Download PDF

Info

Publication number
CN112242965A
CN112242965A CN202010686339.7A CN202010686339A CN112242965A CN 112242965 A CN112242965 A CN 112242965A CN 202010686339 A CN202010686339 A CN 202010686339A CN 112242965 A CN112242965 A CN 112242965A
Authority
CN
China
Prior art keywords
event report
report data
event
aggregated
data items
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
Application number
CN202010686339.7A
Other languages
English (en)
Other versions
CN112242965B (zh
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.)
Tel Aviv Melos Technology Co ltd
Original Assignee
Tel Aviv Melos Technology 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 Tel Aviv Melos Technology Co ltd filed Critical Tel Aviv Melos Technology Co ltd
Publication of CN112242965A publication Critical patent/CN112242965A/zh
Application granted granted Critical
Publication of CN112242965B publication Critical patent/CN112242965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在一个实施方式中,一种网络设备包括:多个接口,包括至少一个出口接口,其被配置用于将属于多个流的分组发送到分组数据网络;控制电路,其被配置用于生成事件报告数据项,每个事件报告数据项包括关于在所述网络设备中发生的分组相关事件的流和事件类型信息;存储器;以及聚合电路,其被配置用于:将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据所述至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项;将所述聚合事件报告数据项储存在所述存储器中;以及将所述聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从所述存储器清除所述一个聚合事件报告数据项。

Description

遥测事件聚合
技术领域
本发明涉及网络设备,并且特别涉及但不限于处理网络设备中的遥测信息。
背景技术
连网中的遥测提供了从网络——例如,从一个或多个给定的网络设备监控和检索信息的能力。可从例如交换机、路由器或网络接口卡(network interface card,NIC)等网络设备中检索的遥测信息可能有所不同,并且例如取决于网络设备的类型和供应商。遥测信息有若干种类别,诸如基于状态的和事件驱动的遥测信息。
在若干个出版物中描述了收集遥测信息。例如,Farrell等人的美国专利6,751,663描述了一种用于为数据消耗应用从网络实体收集和聚合数据的系统。该系统包括数据收集器层,用以从网络实体接收网络流信息,以及基于该信息产生记录。该系统还包括从数据收集层馈送并耦合到存储设备的流聚合层。流聚合层接收由数据收集器层产生的记录,并对接收到的记录进行聚合。该系统还可以包括耦合到数据收集器层的设备接口层和分发层,以获取储存在存储设备中的选定信息,以及将选定信息分发到请求的数据消耗应用。
作为另一示例,Grandham等人的美国专利10,181,987描述了用于收集器高可用性的系统、方法和计算机可读介质。在一些实施方式中,系统从第一收集器设备接收由部署在网络中的主机系统上的捕获代理生成的第一数据报告。该系统还可以从第二收集器设备接收由部署在主机系统上的捕获代理生成的第二数据报告。第一数据报告和第二数据报告可以包括在一段时间内由捕获代理在主机系统处捕获的流量数据。该系统可以确定第一数据报告和第二数据报告都与捕获代理相关联,并且标识包含在第一数据报告和第二数据报告中的重复数据。系统继而可以对第一数据报告和第二数据报告进行重复数据删除,以产生经重复数据删除的数据报告。
发明内容
本发明根据本公开的实施方式,提供了一种网络设备,其包括多个接口,包括至少一个出口接口,其被配置用于将属于多个流的分组发送到分组数据网络;控制电路,其被配置用于生成事件报告数据项,每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息;存储器以及聚合电路,其配置用于将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项,将聚合事件报告数据项储存在存储器中,将聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从存储器清除一个聚合事件报告数据项。
进一步根据本公开的实施方式,聚合电路被配置用于响应于存储器达到用于存储聚合事件报告数据项的阈值,将一个聚合事件报告数据项转发到收集器节点,以及从存储器清除一个聚合事件报告数据项。
仍进一步根据本公开的实施方式,聚合电路被配置用于将一个聚合事件报告数据项分配给事件报告队列,该事件报告队列对等待通过多个接口之一转发到收集器节点的所述聚合事件报告数据项中的至少一个进行排队。
另外,根据本公开的实施方式,聚合电路被配置用于将聚合事件报告数据项分配给不同的事件报告队列,每个事件报告队列对等待通过所述多个接口之一转发到所述收集器节点的所述聚合事件报告数据项中的至少一个进行排队。
而且,根据本公开的实施方式,聚合电路被配置用于根据相应的聚合事件报告数据项中的事件的相应计数,将聚合事件报告数据项中的相应的聚合事件报告数据项分配给不同优先级的事件报告队列。
进一步根据本公开的实施方式,聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的事件报告数据项的流和事件类型信息。
仍进一步根据本公开的实施方式,聚合电路被配置用于计算聚合事件报告数据项中的相应的聚合事件报告数据项的流信息的相应签名,其中,聚合事件报告数据中的相应的聚合事件报告数据项包括相应的计算的签名和相应的事件类型信息。
另外,根据本公开的实施方式,聚合电路被配置用于响应于在初始时间从流信息计算所述相应签名,将聚合事件报告数据项中的相应的一个聚合事件报告数据项的相应的计算的签名和流信息转发到收集器节点。
此外,根据本公开的实施方式,聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的事件报告数据项的累积事件计数和累积字节计数。
进一步根据本公开的实施方式,聚合电路被配置用于每当将所述事件报告数据项中的另一事件报告数据项的数据聚合到相应的一个聚合事件报告数据项中时,计算在每个聚合事件报告数据项中聚合的事件的事件突发性的度量。
仍进一步根据本公开的实施方式,聚合电路被配置用于将事件的事件突发性的度量计算为调和平均数。
另外,根据本公开的实施方式,针对聚合事件报告数据项之一的事件的事件突发性的度量包括:针对多个时差范围中的每个相应的时差范围的、具有处于所述相应的时差范围内的时差的相邻事件的计数。
此外,根据本公开的实施方式,设备包括事件报告过滤器,以阻止所述事件报告数据项中的一些事件报告数据项被输入到聚合电路。
根据本公开的另一实施方式,还提供了一种事件报告方法,包括:将属于多个流的分组发送到分组数据网络;生成事件报告数据项,每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息,在网络设备中将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项,将聚合事件报告数据项储存在存储器中,并将聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从存储器清除一个聚合事件报告数据项。
进一步根据本公开的实施方式,响应于存储器达到用于存储聚合事件报告数据项的阈值,执行转发和清除。
仍进一步根据本公开的实施方式,该方法包括将一个聚合事件报告数据项分配给事件报告队列,该事件报告队列对等待被转发到收集器节点的所述聚合事件报告数据项中的至少一个聚合事件报告数据项进行排队。
另外,根据本公开的实施方式,该方法包括将聚合事件报告数据项分配给不同的事件报告队列,每个事件报告队列对等待被转发到所述收集器节点的所述聚合事件报告数据项中的至少一个聚合事件报告数据项进行排队。
此外,根据本公开的实施方式,该方法包括根据相应的聚合事件报告数据项中的事件的相应计数,将聚合事件报告数据项中的相应的聚合事件报告数据项分配给不同优先级的事件报告队列。
进一步根据本公开的实施方式,聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的事件报告数据项的流和事件类型信息。
仍进一步根据本公开的实施方式,该方法包括计算聚合事件报告数据项中的相应的聚合事件报告数据项的流信息的相应签名,其中聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的计算的签名和相应的事件类型信息。
另外,根据本公开的实施方式,该方法包括响应于在初始时间从流信息计算所述相应签名,将聚合事件报告数据项中的相应的一个聚合事件报告数据项的相应的计算的签名和流信息转发到收集器节点。
此外,根据本公开的实施方式,聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的事件报告数据项的累积事件计数和累积字节计数。
进一步根据本公开的实施方式,该方法包括每当将所述事件报告数据项中的另一事件报告数据项的数据聚合到相应的一个聚合事件报告数据项中时,计算在每个聚合事件报告数据项中聚合的事件的事件突发性的度量。
仍然根据本公开的实施方式,计算包括将事件的事件突发性的度量计算为调和平均数。
另外,根据本公开的实施方式,针对聚合事件报告数据项之一的事件的事件突发性的度量包括:针对多个时差范围中的每个相应的时差范围的、具有处于所述相应的时差范围内的时差的相邻事件的计数。
此外,根据本发明的实施方式,该方法包括阻止所述事件报告数据项中的一些事件报告数据项被输入到聚合步骤。
根据本公开的又一个实施方式,还提供一种软件产品,包括在其中储存程序指令的非暂时性计算机可读介质,这些指令在被中央处理单元(CPU)读取时致使CPU将属于多个流的分组发送到分组数据网络,生成事件报告数据项,每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息,在网络设备中将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项,将聚合事件报告数据项储存在存储器中,继而将聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从存储器清除所述一个聚合事件报告数据项。
附图说明
通过以下详细描述并结合附图将会理解本发明,其中:
图1A是根据本发明的实施方式构建和操作的通信系统的框图;
图1B是根据本发明的实施方式构建和操作的备选通信系统的框图;
图2是根据图1A和图1B的系统的第一操作方法的事件聚合的框图;
图3A至图3C是根据图1A和图1B的系统的其他操作方法的事件聚合的框图;
图4A至图4C是图示图1A和图1B的系统中的事件的事件突发性的示意图;
图5是表示图1A和图1B的系统中的事件突发性的直方图;
图6是包括用于在图1A和图1B的系统中使用的生成事件报告和过滤的方法中的步骤的流程图;
图7是包括用于在图1A和图1B的系统中使用的聚合方法中的步骤的流程图;以及
图8是包括用于在图1A和图1B的系统中使用的备选聚合方法中的步骤的流程图。
具体实施方式
概述
一种类型的遥测信息是基于计数器,该计数器对各种事件进行计数,诸如在端口上接收到的分组的数目,或者执行的路由访问的数目。另一类型的遥测信息是基于简单量规,该简单量规呈现网络设备中各种资源的瞬时状态,诸如当前缓冲区填充水平或在给定端口上传输的当前带宽(BW)。
又一类型的遥测信息是事件驱动的,其中在网络设备中发生诸如缓冲区超过特定阈值、分组被丢弃或者时延超过给定阈值等事件时,向收集器发送指示。收集器可以本地连接到网络设备,或者经由网络连接到网络设备。可以使用包括事件中所涉及的分组的至少一部分和描述事件的各个方面(例如,事件类型和时间戳)的附加元数据的数据来报告事件。
当要报告给收集器的事件量变得大于将事件转发到收集器的可用带宽时,一些事件数据可能会在网络设备中被丢弃。例如,可以根据尾部丢弃机制丢弃超过在其上向收集器发送事件数据的端口的带宽的一些事件数据项,使得当储存事件数据项的队列被填充达到其最大容量时丢弃新到达的事件数据项,直到队列有足够的空间来接受传入流量。可以基于使用采样器和/或策略器来过滤一些事件数据项。事件数据的丢弃和过滤可能导致网络上发生的事件的可见性较低,并且还导致网络的可调试性较差。
本发明的实施方式通过在对事件数据进行聚合的网络设备中聚合来自多个事件的数据,从而减少需要发送到收集器节点的事件数据量,来解决这些问题。经聚合的事件数据间歇地转发到收集器节点。收集器节点可以本地连接到网络设备,或者通过数据分组网络连接到网络设备。
网络设备的控制电路生成事件报告数据项,每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息。每个事件报告数据项还可以包括事件时间戳和分组相关事件的分组的分组大小。“流”通常由一组指定的报头字段的值来标识,诸如源地址和目标地址、源端口和目标端口以及协议的IP和TCP/UDP 5元组,或者任何其他合适的流信息,诸如第2、3、4层或隧道数据,它们在流中的所有分组上都是一致的。事件类型信息一般指示与事件报告数据项相关联的事件类型,例如但不限于,生存时间(time-to-live,TTL)值过期、非法分组或超出缓冲区限制。
网络设备还包括聚合电路,该聚合电路将至少一些事件报告数据项的数据聚合成根据相应事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项。事件报告数据项可以由事件报告过滤器(诸如采样器和/或策略器)过滤,以阻止一些事件报告数据项被输入到聚合电路。
一旦从控制电路接收到事件报告数据项,聚合电路搜索其存储器以确定是否已经在存储器中储存了相同的流和事件类型对。如果聚合电路在存储器中找到相同的流和事件类型对,则通过更新储存在存储器中的聚合事件报告数据项的各种字段,将当前接收到的事件报告数据项与该流和事件类型对的储存的聚合事件报告数据项合并。如果聚合电路在存储器中未找到相同的流和事件类型对,则在存储器中为该流和事件类型对创建新的聚合事件报告数据项。
在一些实施方式中,聚合电路计算接收到的事件报告数据项的流信息的签名,并搜索存储器以确定相同的签名和事件类型对是否已储存在存储器中。如果聚合电路在存储器中找到相同的签名和事件类型对,则通过更新储存在存储器中的聚合事件报告数据项的各种字段,将当前接收到的事件报告数据项与该签名和事件类型对的储存的聚合事件报告数据项合并。如果聚合电路在存储器中没有找到相同的签名和事件类型对,则在存储器中为该签名和事件类型对创建新的聚合事件报告数据项。
每个聚合事件报告数据项可以包括以下数据,仅作为示例:聚合事件报告数据项的流(和/或签名)和事件类型信息;添加到聚合事件报告数据项的第一个事件报告数据项的事件时间戳;添加到聚合事件报告数据项的最后一个事件报告数据项的事件时间戳;聚合到聚合事件报告数据项中的事件总数(事件计数);聚合到聚合事件报告数据项中的事件的字节总数(累积字节计数);以及事件突发性的度量,其指示出聚合事件报告数据项中包含的事件的突发性。突发性可以定义为活动或事件发生的频率的间歇性增加和减少。在本概述部分的下文中以及参考本文公开的实施方式对突发性进行更详细的讨论。
分配给聚合电路的存储器空间可以按各种方式实现,诸如一个哈希表、多个哈希表或三态内容可寻址存储器(ternary content-addressable memory,TCAM)。存储器空间的大小一般取决于实现方式。较大的存储空间一般会导致比可储存的更多的聚合事件报告数据项流,从而导致更好的聚合比率。
一旦存储器已满(达到存储聚合事件报告数据项的阈值)或者在哈希表的情况中发生哈希冲突,则施加替换策略。替换策略包括将新创建的聚合事件报告数据项添加到存储器,以代替现有的聚合事件报告数据项,该现有聚合事件报告数据项将会从存储器清除并转发到收集器节点。替换策略可以根据任何合适的准则来施加,例如但不限于清除最近最少使用、最不常用的现有聚合事件报告数据项,或者随机清除现有聚合事件报告数据项。
附加地或替代地,即使存储器未满,也可以从存储器清除聚合事件报告数据项,并且基于任何适当的准则,例如但不限于时间,基于聚合事件报告数据项的年龄,基于聚合事件报告数据项超过给定事件计数,或者根据时间戳值。
清除的聚合事件报告数据项被添加到事件报告队列。聚合和/或控制电路管理事件报告队列,该队列对等待通过网络设备的接口转发到收集器节点的至少一个清除的聚合事件报告数据项进行排队。在本说明书和权利要求书中以所有语法形式使用的术语“排队”在本文中被定义为保持这样的数据结构:其指示出等待发送到给定目的地的分组之间的期望的传输顺序,并且继而基于数据结构中的条目选择用于传输的分组。
在一些实施方式中,聚合和/或控制电路管理多个不同的事件报告队列(至少一些队列具有不同的分配优先级)。在一些实施方式中,根据相应的清除的聚合事件报告数据项中的事件的相应计数,将清除的聚合事件报告数据项分配给不同优先级事件报告队列。通过这样的方式,可以将高优先级聚合事件报告数据项(例如,具有高事件计数)分配给高优先级事件队列,而将低优先级聚合事件报告数据项(例如,具有低事件计数)分配给低优先级事件队列,以增加高优先级聚合事件报告数据项不被从其事件队列丢弃的可能性。
每当另一事件报告数据项的数据被聚合到相应的一个聚合事件报告数据项中时,聚合电路可以计算在每个聚合事件报告数据项中聚合的事件的事件突发性的度量。事件突发性的度量可以计算为调和平均数。
在一些实施方式中,针对聚合事件报告数据项中之一的事件的事件突发性的度量包括对于多个时差范围中的每个相应的时差范围,具有处于该相应的时差范围内的时差的相邻事件的计数。相应的时差范围的相应计数可以按直方图的形式呈现,以供网络管理员进行手动分析。
系统描述
通过引用并入本文的文档应被视为本申请书的整体部分,除非这些并入的文档中任何术语的定义方式与本说明书中明示或暗示的定义相冲突,在此情况下应当仅考虑本说明书中的定义。
现在参考图1A,其为根据本发明的实施方式构建和操作的通信系统20A的框图。
系统20A的操作由诸如交换机之类的通信装置22示出,该通信装置22具有端口26形式的多个接口,该多个接口连接至诸如以太网或InfiniBand交换机结构等分组数据网络24。如本领域中已知的,端口26通常包括合适的物理层(PHY)和数据链路层接口电路。在下面的描述中为了清楚起见用字母A-H标记的端口26被配置用于充当网络24的入口端口和出口端口(或者等效地,入口接口和出口接口)。尽管为了图示说明,在图1中端口26A-D充当入口端口,而端口26E-H充当出口端口,但在实践中,所有端口26通常被配置用于双向操作,既作为入口端口又作为出口端口。
端口26A-D从网络24接收属于多个流的分组,以供转发到相应的出口接口以传输到网络。假设网络24是因特网协议(IP)网络,则可以通过分组5元组(源和目标IP地址和端口,连同传输协议)来标识分组流。备选地,可以基于第2、3、4层或隧道数据使用任何其他合适的流标识符。
通信装置22包括形式为转发和排队逻辑30的控制电路,该控制电路将传入分组转发到适当的出口端口26E-F以供传输到网络24。逻辑30在存储器28中的传输队列中的分组等待其轮流传输的同时,对发往每个出口端口的分组进行排队。然而,逻辑30不一定按照分组的到达顺序通过给定的出口端口发送分组,而是可以向某些队列给予比其他队列更高的优先级。
图1中所示的通信装置22和网络24的配置是示例配置,其纯粹是为了概念清楚起见而选择的。在备选实施方式中,可以使用任何其他合适的网络和/或交换机配置。通信装置22中的逻辑30通常包括硬连线或可编程逻辑电路,诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)。替代地或附加地,逻辑30的至少一些功能能够以在可编程处理器上运行的软件或固件来实现。
在一些实施方式中,通信装置22可以被实现为任何合适的通信装置或网络设备,例如但不限于路由器或网络接口卡(NIC),其可以包括与主机设备的接口(例如,高速外围组件互连(Peripheral Component Interconnect Express,PCIe)接口),以及与分组数据网络24的一个或多个接口,例如,一个或多个端口26。
转发和排队逻辑30还被配置用于监控分组相关事件(例如,超出缓冲区限制和/或丢弃分组)并生成事件报告数据项,如参考图6更详细地描述。每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息。每个事件报告数据项还包括事件时间戳和分组相关事件的分组的分组大小。“流”通常由一组指定的报头字段的值标识,诸如源和目标地址、源和目标端口以及协议的IP和TCP/UDP 5元组,或者任何合适的流信息,诸如第2、3、4层或隧道数据,它们在流中的所有分组上都是一致的。事件类型信息一般指示出与事件报告数据项相关联的事件类型,例如但不限于过期的TTL、非法分组或超出缓冲区限制。
转发和排队逻辑30还可以运行采样器和/或策略器(统称为事件报告过滤器)以过滤一些事件报告数据项,从而阻止一些事件报告数据项被输入到聚合电路,如下文所述。
通信装置22包括形式为聚合逻辑32的聚合电路,该聚合电路被配置用于将至少一些事件报告数据项的数据聚合到根据相应的事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项中。在一些实施方式中,流信息可以是从流信息计算出的签名的形式,如参考图8更详细地描述。
每个聚合事件报告数据项可以包括以下数据,仅作为示例:流信息(和/或流信息的签名)和聚合事件报告数据项的事件类型信息;添加到聚合事件报告数据项的第一个事件报告数据项的事件时间戳;添加到聚合事件报告数据项的最后一个事件报告数据项的事件时间戳;聚合到聚合事件报告数据项中的事件总数(事件计数);聚合到聚合事件报告数据项中的事件的字节总数(累积字节计数);以及事件突发性的度量,其指示出聚合事件报告数据项中包含的事件的突发性。突发性可以定义为活动或事件发生的频率的间歇性增加和减少。突发性在下文参考图4至图5更详细地讨论。
聚合逻辑32被配置用于将聚合事件报告数据项储存在存储器28中。分配给聚合逻辑32的存储空间可以按各种方式实现,诸如一个哈希表、多个哈希表或三态内容可寻址存储器(TCAM)。存储器空间的大小一般取决于实现方式。较大的存储空间一般会导致比可储存的更多的聚合事件报告数据项流,从而导致更好的聚合比率。
聚合逻辑32被配置用于响应于存储器28达到用于存储聚合事件报告数据项的阈值,将聚合事件报告数据项中的聚合事件报告数据项之一转发到通过数据分组网络24而与通信装置22相连接的收集器节点34,以及从存储器28清除该聚合事件报告数据项。
在一些实施方式中,一旦存储器28已满(达到用于存储聚合事件报告数据项的阈值),或者在哈希表的情况下发生哈希冲突,则施加替换策略。替换策略包括聚合逻辑32,该聚合逻辑32向存储器28添加新创建的聚合事件报告数据项,以代替从存储器28清除并转发到收集器节点34的现有聚合事件报告数据项。替换策略可以根据任何适当的准则来施加,例如但不限于清除最近最少使用、最不常用的现有聚合事件报告数据项,或者随机清除现有聚合事件报告数据项。
附加地或替代地,即使存储器未满,也可以从存储器清除聚合事件报告数据项,并且基于任何适当的准则,例如但不限于时间,基于聚合事件报告数据项的年龄,基于聚合事件报告数据项超过给定事件计数,或者根据时间戳值。
清除的聚合事件报告数据项被添加到事件报告队列,参考图2和图3更详细地描述。转发和排队逻辑30管理一个或多个事件报告队列,该事件报告队列对等待通过通信装置22的给定出口接口26转发到收集器节点34的一个或多个清除的聚合事件报告数据项进行排队。在实施方式中,在转发和排队逻辑30管理多个事件报告队列的情况下,聚合逻辑32将清除的聚合事件报告数据项分配给事件报告队列之一,并且在清除的聚合事件报告数据项中包括指示出所分配的事件报告队列的数据,以便转发和排队逻辑30可以将清除的聚合事件报告数据项分配给由聚合逻辑32分配的事件报告队列。转发和排队逻辑30执行队列的仲裁。
通信装置22中的聚合逻辑32通常包括硬连线或可编程逻辑电路,诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)。替代地或附加地,聚合逻辑32的至少一些功能能够以在可编程处理器上运行的软件或固件来实现。下文参考图2至图8更详细地描述聚合逻辑32的操作。
现在参考图1B,其为根据本发明的实施方式构建和操作的备选通信系统20B的框图。通信系统20B与通信系统20A基本上相同,区别在于收集器节点34经由诸如PCIe接口之类的接口36本地连接至通信装置22。聚合逻辑32管理一个或多个事件报告队列,该事件报告队列对等待通过接口36转发到收集器节点34的一个或多个清除的聚合事件报告数据项进行排队。根据需要,聚合逻辑32执行队列的仲裁。
现在参考图2,其为根据图1A和图1B的系统20A、系统20B的第一操作方法的事件聚合的框图。图2示出了由转发和排队逻辑30(图1A、图1B)为三个流/事件类型对生成的事件报告数据项38。换句话说,针对一种流和事件类型生成标记为“事件1”的事件报告数据项38,针对不同的流和事件类型生成标记为“事件2”的事件报告数据项38,以及针对另一流和事件类型生成标记为“事件3”的事件报告数据项38。使用由转发和排队逻辑30运行的采样器40和策略器42来过滤每个流/事件类型对的事件报告数据项38。采样器40使用事件采样来减少事件报告数据项38的数目(例如,从n个事件中采样一个事件并将该一个事件转发到聚合逻辑32)。采样率可以基于事件类型,以及/或者端口,以及/或者任何其他合适的准则。策略器42还基于事件类型和/或端口和/或任何其他合适的准则(例如,基于事件的速率限制转发到聚合逻辑32的分组的数目,例如,在一毫秒内允许X个分组转发到聚合逻辑32)来减少事件报告数据项38的数目。
继而,通过聚合逻辑32将未被采样器40和策略器42过滤掉的事件报告数据项38聚合到聚合事件报告数据项44中。“事件1”的事件报告数据项38被聚合到聚合事件报告数据项44-1中。“事件2”的事件报告数据项38被聚合到聚合事件报告数据项44-2中。“事件3”的事件报告数据项38被聚合到聚合事件报告数据项44-3中。当聚合逻辑32接收到事件报告数据项38中的相应一个时,更新聚合事件报告数据项44中的相应一个。
定期从存储器28(图1A、图1B)中清除聚合事件报告数据项44,并将其添加到事件报告队列46,以供经由端口26之一传输到收集器节点34(图1A、图1B)。
与不使用聚合来聚合事件报告数据项38的系统相比,该聚合允许采样器40和策略器42过滤更少的事件报告数据项38。因此,与不使用聚合的系统相比,事件报告数据项38所代表的更多的源数据被保留在聚合事件报告数据项44中。尽管如此,在一些场景下,在事件报告数据项38的量非常大的情况下,由于尾部丢弃机制,在事件报告队列46处可能丢弃一些聚合事件报告数据项44。下面的图3描述了一种解决聚合事件报告数据项44被丢弃的问题的方法。
现在参考图3A至图3C,其为根据图1A和图1B的系统20A、系统20B的其他操作方法的事件聚合的框图。
图3A示出了三个事件报告队列46-1、46-2、46-3。当从存储器28清除聚合事件报告数据项44时,该聚合事件报告数据项44可以根据适当的准则在事件报告队列46-1、46-2、46-3中的任何一个中排队。例如,可以将聚合事件报告数据项44分配给事件报告队列46-1、46-2、46-3中最短的一个,以供转发到收集器节点34。因此,聚合逻辑32被配置用于将聚合事件报告数据项44分配给不同的事件报告队列46,每个事件报告队列46对等待通过多个接口之一转发到收集器节点34的聚合事件报告数据项44中的至少一个进行排队。转发和排队逻辑30(或聚合逻辑32)继而通过例如基于循环或任何其他适当的准则在队列之间进行仲裁(框48)而服务于事件报告队列46-1、46-2、46-3。
图3B示出了可以将聚合事件报告数据项44分类为低优先级事件和高优先级事件。例如,具有低计数的事件报告数据项38的低计数(小于或等于阈值计数)聚合事件报告数据项44可被指定为低优先级,而具有高计数的事件报告数据项38的高计数(大于阈值计数)聚合事件报告数据项44可被指定为高优先级。
当从存储器28清除低优先级聚合事件报告数据项44时,该低优先级聚合事件报告数据项44在低优先级事件报告队列46-5中排队以供转发到收集器节点34,而当从存储器28清除高优先级聚合事件报告数据项44时,该高优先级聚合事件报告数据项44在高优先级事件报告队列46-4中排队以供转发到收集器节点34。因此,总体上聚合逻辑32被配置用于根据相应的聚合事件报告数据项44中的事件的相应计数或任何适当的准则,将聚合事件报告数据项44中的相应的聚合事件报告数据项分配给不同优先级的事件报告队列46。
转发和排队逻辑30(或聚合逻辑32)继而通过根据队列46的优先级在队列之间进行仲裁(框48)而服务于事件报告队列46-4、46-5。因此,与高优先级聚合事件报告数据项44(例如,具有高事件计数)相比,低优先级聚合事件报告数据项44(例如,具有低事件计数)被丢弃的可能性更大。在一些实施方式中,可以存在超过两个不同优先级的事件报告队列46。
图3C示出了四个事件报告队列46-1、46-2、46-5、46-6。聚合事件报告数据项44-1被分配给事件报告队列46-1。聚合事件报告数据项44-2、44-3被分配给事件报告队列46-2。可以根据任何适当的准则将聚合事件报告数据项44-4的数据分配给低优先级事件报告队列46-5或高优先级事件报告队列46-6。例如,可以将相关消息(参考图8更详细地描述)分配给高优先级事件报告队列46-6,而聚合事件报告数据项44-4的其余部分可以被分配给低优先级事件报告队列46-5。转发和排队逻辑30(或聚合逻辑32)继而通过根据队列46的优先级在队列之间进行仲裁(框48)而服务于事件报告队列46-1、46-2、46-5、46-6。
现在参考图4A至图4C,其为图示图1A和图1B的系统20A、系统20B中的事件的事件突发性的示意图。
当将事件报告数据项38聚合到相应的聚合事件报告数据项44中时,仍保留事件报告数据项38的诸如事件计数、字节计数和流信息等数据。然而,在聚合事件报告数据项44中保存所有的事件时间戳尽管是可能的,但通常不切实际。
事件时间戳提供了关于事件时序的有用信息。例如,图4A示出了一串中的N-1个事件,随后是在时间T1的单个事件。图4B示出了两串(N-1)/2个事件,随后是在时间T1的单个事件。图4C示出了在时间T0与时间T1之间均匀分布的N个事件。
在一些实施方式中,可以使用事件突发性的度量来量化事件的时序。突发性可以定义为活动或事件发生的频率的间歇性增加和减少。图4A中所示的事件的突发性高于图4B中所示的事件的突发性,图4B中所示的事件的突发性转而高于图4C中所示的事件的突发性。
在一些实施方式中,聚合逻辑32(图1A、图1B)被配置用于每当另一事件报告数据项38的数据被聚合到聚合事件报告数据项44中的相应一个中时,计算在每个聚合事件报告数据项44中聚合的事件的事件突发性的度量。
存在若干种计算突发性的方法。所述方法一般基于相邻事件报告数据项38之间的时差。聚合逻辑32保存被聚合到聚合事件报告数据项44之一中的先前事件报告数据项38的时间戳,以便当接收到具有其自己的时间戳的新的事件报告数据项38时,可以计算新的事件报告数据项38的时间戳与前一事件报告数据项38之间的差异。继而,将新的事件报告数据项38的时间戳保存在聚合事件报告数据项44中,作为前一事件报告数据项38,以备将来使用。
在一些实施方式中,聚合逻辑32被配置用于将事件的事件突发性的度量计算为调和平均数。例如,在相邻事件t1、t2、t3…tn之间具有时差的n+1个事件的突发性可以表示为调和平均数H,如下所示:
Figure BDA0002587695440000171
首先针对时差t1计算调和平均数。继而,将调和平均数储存在相关的聚合事件报告数据项44中。每当计算相邻事件报告数据项38之间的时差时,聚合逻辑32读取先前储存的调和平均数,并基于先前储存的调和平均数和新计算出的时差来计算新的调和平均数。储存新计算出的调和平均数作为事件突发性的度量。
现在参考图5,其为表示图1A和图1B的系统20A、系统20B中的事件突发性的直方图50的视图。
直方图50示出了针对不同时差范围54的条52。每个条52的高度指示出具有处于该条52的时差范围内的时差的相邻事件的计数56。
聚合逻辑32可被配置用于针对聚合事件报告数据项44之一计算事件的事件突发性的度量,以包括针对时差范围54中的每个相应的时差范围,具有处于相应的时差范围54内的时差的相邻事件的计数56。聚合逻辑32在聚合事件报告数据项44中保持每个时差范围54的计数。每当事件报告数据项38之一被聚合到该聚合事件报告数据项44中时,更新计数之一。时差范围54的数目和每个时差范围54的时间窗口可以取决于实现方式,例如,根据可用存储器量,根据预期的聚合事件报告数据项44的数目和/或根据网络管理员的数据分析需要。
继而可以提取每个时差范围54的计数以生成直方图50,并将直方图50呈现到显示器,以供网络管理员分析。
现在参考图6,其为包括用于在图1A和图1B的系统20A、系统20B中使用的生成事件报告和过滤的方法中的步骤的流程图58。转发和排队逻辑30(图1A、图1B)被配置用于监控(框60)分组相关事件,例如但不限于非法分组、丢弃的分组、缓冲区溢出以及超过缓冲区限制。转发和排队逻辑30被配置用于生成(框62)针对分组相关事件的事件报告数据项38。事件报告数据项38可以包括分组的副本或其一部分,例如来自分组报头的数据。转发和排队逻辑30被配置用于过滤掉(框64)一些事件报告数据项38使之不到达聚合逻辑32(图1A、图1B)。转发和排队逻辑30被配置用于将事件报告数据项38或者指向存储器28(图1A、图1B)中的事件报告数据项38的链接转发(框66)到聚合逻辑32。
现在参考图7,其为包括用于在图1A和图1B的系统20A、系统20B中使用的聚合方法中的步骤的流程图68。还参考图2。聚合逻辑32被配置用于接收(框70)事件报告数据项38之一。聚合逻辑32被配置用于在储存于存储器28(图1A、图1B)中的聚合事件报告数据项44中搜索(框72)接收到的事件报告数据项38的事件类型和流。在决策框74处,如果在聚合事件报告数据项44中找到接收到的事件报告数据项38的事件类型和流(框76),则聚合逻辑32被配置用于更新(框78)聚合事件报告数据项44,包括:将last_timestamp更新成等于接收到的事件报告数据项38的时间戳;将事件计数递增1;将byte_count递增事件报告数据项38的分组相关事件的分组的分组大小;以及更新接收到的事件报告数据项38的突发性度量(突发性因子)。
如果未找到接收到的事件报告数据项38的事件类型和流(分支80),则聚合逻辑32检查(决策框82)被分配用于存储聚合事件报告数据项44的存储器28是否已满。如果存储器已满(分支84),则聚合逻辑32被配置用于从存储器28清除(框86)现有的聚合事件报告数据项44,并将清除的聚合事件报告数据项44转发到收集器节点34(图1A、图1B)。聚合逻辑32被配置用于向存储器28添加(框88)新的聚合事件报告数据项44,并且从接收到的事件报告数据项38更新(框90)新的聚合事件报告数据项44的数据,包括:流,事件类型,将start_timestamp和last_timestamp设置成等于接收到的事件报告数据项38的时间戳;将事件计数设置成等于1;将byte_count设置成等于接收到的事件报告数据项38的分组相关事件的分组的分组大小;以及将突发性度量设置成等于零。如果存储器未满(分支92),则执行框88和框90的步骤,而无需执行框86的步骤。
现在参考图8,其为包括用于在图1A和图1B的系统20A、系统20B中使用的备选聚合方法中的步骤的流程图100。还参考图2。
由于所要储存的分组参数,用作键值并储存在每个聚合事件报告数据项44中的流信息可能较大。例如,在隧道分组的情况下,流信息可以包括外IPv6报头以及内IPv6报头。为了减小流信息的大小,聚合逻辑32可以计算流信息的签名而不是储存原始流信息。继而可以将签名(代表流信息)而不是将相应的原始流信息储存在相应的聚合事件报告数据项44中。为了防止具有相同签名的两个流之间的冲突,计算的签名应当显著大于通信装置22处理的流的数目,从而导致非常低的冲突概率。“显著大于”的定义取决于实现方式,并且通常取决于通信系统20对两个流之间的冲突的敏感程度。在一些实施方式中,冲突的可能性可以小于10-12。在发生冲突的极少数情况下,可以继而将两个或更多个流视为单个流。因此,聚合逻辑32被配置用于计算聚合事件报告数据项44的相应聚合事件报告数据项的流信息的相应签名,使得相应的聚合事件报告数据项44包括相应的计算出的签名和相应的事件类型信息。
当从存储器28清除聚合事件报告数据项44之一并将其转发到收集器节点34时,清除的聚合事件报告数据项44的流信息不明确地包括在清除的聚合事件报告数据项44中。因此,当创建新的聚合事件报告数据项44时,将流信息和计算的签名转发到收集器节点34,以供由收集器节点34用于查找与未来清除的聚合事件报告数据项44的签名相关联的流信息。因此,聚合逻辑32被配置用于响应于根据流信息最初计算相应的签名,将聚合事件报告数据项44中相应的一个聚合事件报告数据项的相应的计算的签名和流信息转发到收集器节点34。
现在更详细地描述流程图100的步骤。
聚合逻辑32被配置用于接收(框102)事件报告数据项38之一。聚合逻辑32被配置用于计算(框104)流信息的签名。聚合逻辑32被配置用于在储存在存储器28(图1A,1B)中的聚合事件报告数据项44中搜索(框106)接收到的事件报告数据项38的事件类型和签名。在决策框108处,如果在聚合事件报告数据项44中找到接收到的事件报告数据项38的事件类型和流(框110),则聚合逻辑32被配置用于更新(框112)相关的聚合事件报告数据项44,包括:将last_timestamp更新成等于接收到的事件报告数据项38的时间戳;将事件计数递增1;将byte_count递增事件报告数据项38的分组相关事件的分组的分组大小;以及更新接收到的事件报告数据项38的突发性度量(突发性因子)。
如果未找到接收到的事件报告数据项38的事件类型和计算的签名(分支114),则聚合逻辑32检查(决策框116)被分配用于存储聚合事件报告数据项44的存储器28是否已满。如果存储器已满(分支118),则聚合逻辑32被配置用于从存储器28清除(框120)现有的聚合事件报告数据项44,并将清除的聚合事件报告数据项44转发到收集器节点34(图1A、图1B)。聚合逻辑32被配置用于向存储器28添加(框122)新的聚合事件报告数据项44,将使接收到的事件报告数据项38的计算的签名与流信息相关的相关消息转发(框124)到收集器节点34,以及从接收到的事件报告数据项38更新(框126)新的聚合事件报告数据项44的数据,包括:计算的签名,事件类型,将start_timestamp和last_timestamp设置成等于接收到的事件报告数据项38的时间戳;将事件计数设置成等于1;将byte_count设置成等于接收到的事件报告数据项38的分组相关事件的分组的分组大小;以及将突发性度量设置成等于零。如果存储器未满(分支128),则执行框122、框124和框126的步骤,而无需执行框120的步骤。
为清晰起见,在单独的实施方式的上下文中描述的本发明各个特征也可以组合在单一实施方式中提供。反之,为简洁起见,在单一实施方式的上下文中描述的本发明各个特征也可以单独地提供或以任何适当的子组合形式提供。
上述实施方式是作为示例引用的,且本发明不受上述的具体表示和描述的限制。相反,本发明的范围包括上述各个特征的组合和子组合,以及本领域技术人员在阅读以上描述时所想到的,且未在现有技术中公开的变化和修改。

Claims (27)

1.一种网络设备,包括:
多个接口,包括至少一个出口接口,其被配置用于将属于多个流的分组发送到分组数据网络;
控制电路,其被配置用于生成事件报告数据项,每个事件报告数据项包括关于在所述网络设备中发生的分组相关事件的流和事件类型信息;
存储器;以及
聚合电路,其被配置用于:
将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据所述至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项;
将所述聚合事件报告数据项储存在所述存储器中;以及
将所述聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从所述存储器清除所述一个聚合事件报告数据项。
2.根据权利要求1所述的设备,其中,所述聚合电路被配置用于响应于所述存储器达到用于存储所述聚合事件报告数据项的阈值,将所述一个聚合事件报告数据项转发到所述收集器节点,以及从所述存储器清除所述一个聚合事件报告数据项。
3.根据权利要求1所述的设备,其中,所述聚合电路被配置用于将所述一个聚合事件报告数据项分配给事件报告队列,所述事件报告队列对等待通过所述多个接口之一转发到所述收集器节点的所述聚合事件报告数据项中的至少一个进行排队。
4.根据权利要求1所述的设备,其中,所述聚合电路被配置用于将所述聚合事件报告数据项分配给不同的事件报告队列,每个事件报告队列对等待通过所述多个接口之一转发到所述收集器节点的所述聚合事件报告数据项中的至少一个进行排队。
5.根据权利要求1所述的设备,其中,所述聚合电路被配置用于根据相应的聚合事件报告数据项中的事件的相应计数,将所述聚合事件报告数据项中的相应的聚合事件报告数据项分配给不同优先级的事件报告队列。
6.根据权利要求1所述的设备,其中,所述聚合事件报告数据项中的相应的聚合事件报告数据项包括所述相应的事件报告数据项的流和事件类型信息。
7.根据权利要求1所述的设备,其中,所述聚合电路被配置用于计算所述聚合事件报告数据项中的相应的聚合事件报告数据项的流信息的相应签名,其中所述聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的计算的签名和相应的事件类型信息。
8.根据权利要求7所述的设备,其中,所述聚合电路被配置用于响应于在初始时间从所述流信息计算所述相应签名,将所述聚合事件报告数据项中的相应的一个聚合事件报告数据项的所述相应的计算的签名和所述流信息转发到所述收集器节点。
9.根据权利要求1所述的设备,其中,所述聚合事件报告数据项中的相应的聚合事件报告数据项包括所述相应的事件报告数据项的累积事件计数和累积字节计数。
10.根据权利要求1所述的设备,其中,所述聚合电路被配置用于每当将所述事件报告数据项中的另一事件报告数据项的数据聚合到所述聚合事件报告数据项中的相应的一个聚合事件报告数据项中时,计算在每个所述聚合事件报告数据项中聚合的事件的事件突发性的度量。
11.根据权利要求10所述的设备,其中,所述聚合电路被配置用于将所述事件的事件突发性的所述度量计算为调和平均数。
12.根据权利要求10所述的设备,其中,针对所述聚合事件报告数据项之一的所述事件的事件突发性的所述度量包括:针对多个时差范围中的每个相应的时差范围的、具有处于所述相应的时差范围内的时差的相邻事件的计数。
13.根据权利要求1所述的设备,还包括事件报告过滤器,用于阻止所述事件报告数据项中的一些事件报告数据项被输入到所述聚合电路。
14.一种事件报告方法,包括:
将属于多个流的分组发送到分组数据网络;
生成事件报告数据项,每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息;
在所述网络设备中,将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据所述至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项;
将所述聚合事件报告数据项储存在存储器中;以及
将所述聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从所述存储器清除所述一个聚合事件报告数据项。
15.根据权利要求14所述的方法,其中,响应于所述存储器达到用于存储所述聚合事件报告数据项的阈值,执行所述转发和所述清除。
16.根据权利要求14所述的方法,还包括将所述一个聚合事件报告数据项分配给事件报告队列,所述事件报告队列对等待被转发到所述收集器节点的所述聚合事件报告数据项中的至少一个聚合事件报告数据项进行排队。
17.根据权利要求14所述的方法,还包括将所述聚合事件报告数据项分配给不同的事件报告队列,每个事件报告队列对等待被转发到所述收集器节点的所述聚合事件报告数据项中的至少一个聚合事件报告数据项进行排队。
18.根据权利要求14所述的方法,还包括根据相应的聚合事件报告数据项中的事件的相应计数,将所述聚合事件报告数据项中的相应的聚合事件报告数据项分配给不同优先级的事件报告队列。
19.根据权利要求14所述的方法,其中,所述聚合事件报告数据项中的相应的聚合事件报告数据项包括所述相应的事件报告数据项的流和事件类型信息。
20.根据权利要求14所述的方法,还包括计算所述聚合事件报告数据项中的相应的聚合事件报告数据项的流信息的相应签名,其中所述聚合事件报告数据项中的相应的聚合事件报告数据项包括相应的计算的签名和相应的事件类型信息。
21.根据权利要求20所述的方法,还包括响应于在初始时间从所述流信息计算所述相应签名,将所述聚合事件报告数据项中的相应的一个聚合事件报告数据项的所述相应的计算的签名和所述流信息转发到所述收集器节点。
22.根据权利要求14所述的方法,其中,所述聚合事件报告数据项中的相应的聚合事件报告数据项包括所述相应的事件报告数据项的累积事件计数和累积字节计数。
23.根据权利要求14所述的方法,还包括每当将所述事件报告数据项中的另一事件报告数据项的数据聚合到所述聚合事件报告数据项中的相应的一个聚合事件报告数据项中时,计算在每个所述聚合事件报告数据项中聚合的事件的事件突发性的度量。
24.根据权利要求23所述的方法,其中,所述所述计算包括将所述事件的事件突发性的所述度量计算为调和平均数。
25.根据权利要求23所述的方法,其中,针对所述聚合事件报告数据项之一的所述事件的事件突发性的所述度量包括:针对多个时差范围中的每个相应的时差范围的、具有处于所述相应的时差范围内的时差的相邻事件的计数。
26.根据权利要求14所述的方法,还包括阻止所述事件报告数据项中的一些事件报告数据项被输入到所述聚合步骤。
27.一种软件产品,包括在其中储存程序指令的非暂时性计算机可读介质,所述指令在由中央处理单元(CPU)读取时致使所述CPU:
将属于多个流的分组发送到分组数据网络;
生成事件报告数据项,每个事件报告数据项包括关于在网络设备中发生的分组相关事件的流和事件类型信息;
在所述网络设备中,将所述事件报告数据项中的至少一些事件报告数据项的数据聚合成根据所述至少一些事件报告数据项的流和事件类型信息聚合的聚合事件报告数据项;
将所述聚合事件报告数据项储存在存储器中;以及
将所述聚合事件报告数据项中的一个聚合事件报告数据项转发到收集器节点,以及从所述存储器清除所述一个聚合事件报告数据项。
CN202010686339.7A 2019-07-18 2020-07-16 遥测事件聚合 Active CN112242965B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/515,060 US10924374B2 (en) 2019-07-18 2019-07-18 Telemetry event aggregation
US16/515,060 2019-07-18

Publications (2)

Publication Number Publication Date
CN112242965A true CN112242965A (zh) 2021-01-19
CN112242965B CN112242965B (zh) 2024-08-16

Family

ID=74170786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010686339.7A Active CN112242965B (zh) 2019-07-18 2020-07-16 遥测事件聚合

Country Status (2)

Country Link
US (1) US10924374B2 (zh)
CN (1) CN112242965B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987847A (zh) * 2022-12-15 2023-04-18 深圳市恒扬数据股份有限公司 一种遥测报文生成方法、装置、终端及介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445322B1 (en) * 2018-11-29 2019-10-15 Capital One Services, Llc Real-time processing of event-based streaming with NoSQL
US11212219B1 (en) * 2020-06-26 2021-12-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. In-band telemetry packet size optimization
US11637739B2 (en) * 2021-01-10 2023-04-25 Mellanox Technologies, Ltd. Direct memory access (DMA) engine for diagnostic data
US11159438B1 (en) * 2021-04-30 2021-10-26 Booz Allen Hamilton Inc. System and method for netflow aggregation of data streams
US11848838B2 (en) * 2021-06-24 2023-12-19 Hewlett Packard Enterprise Development Lp Communicating node events in network configuration
US11782764B2 (en) 2021-07-07 2023-10-10 International Business Machines Corporation Differentiated workload telemetry
US11962481B2 (en) 2022-05-26 2024-04-16 Mellanox Technologies, Ltd. Method and system to mirror telemetry data

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060018343A1 (en) * 2004-07-23 2006-01-26 Rodrigo Miguel D V Method for transmitting data packets between nodes of a communication network
CN101406097A (zh) * 2006-02-03 2009-04-08 诺基亚公司 从用户设备向无线网络提供基于阈值的缓冲器状态报告的装置、方法和计算机程序产品
CA2742038A1 (en) * 2011-05-30 2012-11-30 Sandvine Incorporated Ulc Systems and methods for measuring quality of experience for media streaming
US20120320923A1 (en) * 2011-06-20 2012-12-20 Cisco Technology, Inc. Redirecting traffic via tunnels to discovered data aggregators
CN103828299A (zh) * 2011-10-21 2014-05-28 高通股份有限公司 用于通信网络的云计算增强网关
CN104838620A (zh) * 2012-10-17 2015-08-12 瑞典爱立信有限公司 电信网中的事件管理
CN104854577A (zh) * 2012-10-15 2015-08-19 伊卡诺斯通信公司 用以检测和分析噪声以及影响通信系统的其它事件的方法和装置
US20160112442A1 (en) * 2014-10-21 2016-04-21 Cisco Technology, Inc. Events from network flows
US20170324651A1 (en) * 2016-05-09 2017-11-09 Cisco Technology, Inc. Traceroute to return aggregated statistics in service chains
CN109460412A (zh) * 2018-11-14 2019-03-12 北京锐安科技有限公司 数据聚合方法、装置、设备及存储介质
CN109478945A (zh) * 2015-05-21 2019-03-15 英特尔Ip公司 用于多rat卸载的pdcp状态报告

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751663B1 (en) 1999-03-25 2004-06-15 Nortel Networks Limited System wide flow aggregation process for aggregating network activity records
US6754854B2 (en) 2001-06-04 2004-06-22 Motorola, Inc. System and method for event monitoring and error detection
CN101595678A (zh) 2006-12-20 2009-12-02 艾利森电话股份有限公司 用于发现电信网络的物理拓扑的方法
US8606911B2 (en) * 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US9706061B2 (en) * 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9392462B2 (en) * 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9270559B2 (en) * 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US8213453B1 (en) * 2009-08-07 2012-07-03 Juniper Networks, Inc. Quality of service (QoS) configuration for network devices with multiple queues
US8576727B2 (en) 2010-04-23 2013-11-05 Broadcom Corporation System and method for unique identifier exchange during auto-negotiation
DE102010063437A1 (de) 2010-12-17 2012-06-21 Siemens Aktiengesellschaft Verfahren zur Konfiguration eines oder mehrerer Geräte in einem Ethernet-basierten Kommunikationsnetz
EP2725737B1 (en) 2011-08-01 2016-01-20 Huawei Technologies Co., Ltd. Network policy configuration method, management device and network management centre device
EP2677690A1 (en) 2012-06-21 2013-12-25 ABB Research Ltd. Determining the network topology of a communication network
JP5809189B2 (ja) 2013-04-26 2015-11-10 株式会社日立製作所 通信経路切替装置、通信経路切替方法、および通信経路切替プログラム
US9755932B1 (en) * 2014-09-26 2017-09-05 Juniper Networks, Inc. Monitoring packet residence time and correlating packet residence time to input sources
US10587475B2 (en) 2014-11-05 2020-03-10 Extreme Networks, Inc. Network discovery optimization using supplemental information published by devices
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10530673B2 (en) 2018-01-04 2020-01-07 Mellanox Technologies Tlv Ltd. Telemetry for servers and devices using a link-layer protocol
US10797965B2 (en) 2018-07-30 2020-10-06 Dell Products L.P. Dynamically selecting or creating a policy to throttle a portion of telemetry data
US11361105B2 (en) 2018-08-27 2022-06-14 Koninklijke Philips N.V. Time blocking noising for de-identification

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060018343A1 (en) * 2004-07-23 2006-01-26 Rodrigo Miguel D V Method for transmitting data packets between nodes of a communication network
CN101406097A (zh) * 2006-02-03 2009-04-08 诺基亚公司 从用户设备向无线网络提供基于阈值的缓冲器状态报告的装置、方法和计算机程序产品
CA2742038A1 (en) * 2011-05-30 2012-11-30 Sandvine Incorporated Ulc Systems and methods for measuring quality of experience for media streaming
US20120320923A1 (en) * 2011-06-20 2012-12-20 Cisco Technology, Inc. Redirecting traffic via tunnels to discovered data aggregators
CN103828299A (zh) * 2011-10-21 2014-05-28 高通股份有限公司 用于通信网络的云计算增强网关
CN104854577A (zh) * 2012-10-15 2015-08-19 伊卡诺斯通信公司 用以检测和分析噪声以及影响通信系统的其它事件的方法和装置
CN104838620A (zh) * 2012-10-17 2015-08-12 瑞典爱立信有限公司 电信网中的事件管理
US20160112442A1 (en) * 2014-10-21 2016-04-21 Cisco Technology, Inc. Events from network flows
CN109478945A (zh) * 2015-05-21 2019-03-15 英特尔Ip公司 用于多rat卸载的pdcp状态报告
US20170324651A1 (en) * 2016-05-09 2017-11-09 Cisco Technology, Inc. Traceroute to return aggregated statistics in service chains
CN109460412A (zh) * 2018-11-14 2019-03-12 北京锐安科技有限公司 数据聚合方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KYOTA HATTORI; MASAHIRO NAKAGAWA; HIROKI DATE; MASARU KATAYAMA;: "Flow burst conversion for large-scale optical layer-2 switch network based on scale-out flow control method", 《2014 THE EUROPEAN CONFERENCE ON OPTICAL COMMUNICATION (ECOC)》, 24 November 2014 (2014-11-24) *
唐孝通;焦秉立;: "通信网络聚合流量突发性的产生机理研究", 哈尔滨理工大学学报, no. 02, 15 April 2011 (2011-04-15) *
李宏;于宏毅;: "支持QoS的无线传感器网络数据聚合技术研究", 计算机应用研究, no. 01, 15 January 2008 (2008-01-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987847A (zh) * 2022-12-15 2023-04-18 深圳市恒扬数据股份有限公司 一种遥测报文生成方法、装置、终端及介质

Also Published As

Publication number Publication date
CN112242965B (zh) 2024-08-16
US10924374B2 (en) 2021-02-16
US20210021503A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
CN112242965B (zh) 遥测事件聚合
US20220232111A1 (en) Systems and methods for per traffic class routing
US10498612B2 (en) Multi-stage selective mirroring
CN105580318B (zh) 用于分析通过网络的数据通信量的方法和系统
JP4392294B2 (ja) 通信統計収集装置
US10574546B2 (en) Network monitoring using selective mirroring
US7872973B2 (en) Method and system for using a queuing device as a lossless stage in a network device in a communications network
US8797869B2 (en) Flow-based rate limiting
EP4057579A1 (en) Data forwarding method, data buffering method, device, and related apparatus
US10868768B1 (en) Multi-destination traffic handling optimizations in a network device
US20040105384A1 (en) Event-driven flow control for a very high-speed switching node
CN116671081B (zh) 基于延迟的自动队列管理和尾部丢弃
CN108667898B (zh) 网元和用于提供网元中的缓冲器内容的快照的方法
JP2006254134A (ja) 通信統計収集装置
US11652750B2 (en) Automatic flow management
WO2019153931A1 (zh) 数据传输控制方法和装置、以及网络传输设备和存储介质
US20110122883A1 (en) Setting and changing queue sizes in line cards
CN113225253A (zh) 一种报文转发方法及装置
JP5036743B2 (ja) フロー制御方法とシステムおよびプログラム
CN113271233B (zh) 一种联网的方法及网络设备
Ceco et al. Performance comparison of active queue management algorithms
JP4676541B2 (ja) ネットワーク中継装置
CN116155812A (zh) 报文处理方法以及网络设备
Duan et al. BCSQ: bin-based core stateless queueing for scalable support of guaranteed services
JP2004266561A (ja) トラヒック量制御装置およびその方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Israel Yuekeni Mourinho

Applicant after: Mellanox Technologies, Ltd.

Address before: Israel Lai Ananna

Applicant before: Mellanox Technologies TLV Ltd.

GR01 Patent grant
GR01 Patent grant