Method and apparatus for flexible and efficient analytics in a network switch

US12224941B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12224941-B2
Application numberUS-202318116948-A
CountryUS
Kind codeB2
Filing dateMar 3, 2023
Priority dateMay 28, 2014
Publication dateFeb 11, 2025
Grant dateFeb 11, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present invention relate to a centralized network analytic device, the centralized network analytic device efficiently uses on-chip memory to flexibly perform counting, traffic rate monitoring and flow sampling. The device includes a pool of memory that is shared by all cores and packet processing stages of each core. The counting, the monitoring and the sampling are all defined through software allowing for greater flexibility and efficient analytics in the device. In some embodiments, the device is a network switch.

First claim

Opening claim text (preview).

We claim: 1. A method of a network switch comprising: partitioning a pool of shared memories into a plurality of homogeneous analytics banks; programmably configuring each of a plurality of client interfaces as one of four modes: counter, policing, policing with billing counters or sampling; programmably mapping each of the plurality of client interfaces to a subset of the plurality of homogeneous analytics banks; programmably assigning each of the plurality of homogeneous analytics banks as one of three modes: counter, policing or sampling; and parallel processing multiple requests received at the plurality of client interfaces. 2. The method of claim 1 , wherein the parallel processing multiple requests comprises, for each of the multiple requests: determining a target analytics bank and a target entry address within the target analytics bank; when the target analytics bank is in the counter mode, the target analytics bank performing at least one operation, wherein the at least one operation includes sum of square, summation or event count; when the target analytics bank is in the policing mode, the target analytics bank performing a two-rate three-color rate monitoring function; and when the target analytics bank is in the sampling mode, the target analytics bank supporting N/M random sampling, wherein N contiguous events are sampled in every M events interval. 3. The method of claim 2 , wherein when the target analytics bank is in the counter mode, the method further includes determining a counter entry within the target analytics bank based on the target entry address and determining a memory row within the target analytics bank to store counter values. 4. The method of claim 3 , further comprising calculating standard deviation of network activities. 5. The method of claim 2 , wherein when the target analytics bank is in the policing mode, the target analytics bank returning a color of a packet to an originating client interface of the packet. 6. The method of claim 5 , further comprising the target analytics bank sending a counter request to an immediately next analytics bank for calculating byte count for the packet in each color. 7. The method of claim 2 , wherein when the target analytics bank is in the sampling mode, the target analytics bank returns a response to an originating client interface of the request. 8. The method of claim 4 , wherein calculating the sum of square includes incrementing the value of an events field by one for each incoming request, calculating the summation includes incrementing the value of a sum field by the value of the incoming request, and calculating the event count includes incrementing the value of a sum OfSquare field by the square of the value of the incoming request. 9. The method of claim 8 , wherein the counter processing unit calculates the standard deviation of network activities by subtracting the square of average of sum from the average of sumOfSquare. 10. The method of claim 6 , wherein the target analytics bank and the immediately next analytics bank are interconnected through the interconnect. 11. The method of claim 10 , wherein the target analytics bank and the immediately next analytics bank are homogenous. 12. The method of claim 2 , further comprising a bank memory, wherein the counter values are stored in the bank memory. 13. A method of a network switch comprising: providing a first analytics bank configured in a policing mode; providing a second analytics bank configured in a in counting mode, each of the first analytics bank and the second analytics bank comprising a counter processing unit, a policing processing unit and a sampling processing unit, and the second analytics bank being immediately adjacent to the first analytics bank within a common memory pool; and sending a counter request with the police processing unit to the counter processing unit of the second analytics bank to calculate byte count for a packet in each color. 14. The method of claim 13 , further comprising the counter processing unit of the second analytics bank calculating sum of square, summation and event count for network activity statistical analysis. 15. The method of claim 14 , further comprising the counter processing unit of the second analytics bank calculating a standard deviation of network activities. 16. The method of claim 14 , wherein calculating the sum of square includes incrementing the value of an events field by one for each incoming request, calculating the summation includes incrementing the value of a sum field by the value of the incoming request, and calculating the event count includes incrementing the value of a sum OfSquare field by the square of the value of the incoming request. 17. The method of claim 15 , further comprising the counter processing unit of the second analytics bank calculating the standard deviation of network activities by subtracting the square of average of sum from the average of sumOfSquare. 18. The method of claim 13 , wherein the first analytics bank and the second analytics bank are interconnected through the interconnect. 19. The method of claim 13 , wherein the first analytics bank and the second analytics bank are homogenous. 20. The method of claim 13 , wherein each of the first analytics bank and the second analytics bank further comprise a bank memory, further comprising when no result response goes out of the first analytics bank, the first analytics bank storing counter values in the bank memory of the first analytics bank. 21. The method of claim 13 , further comprising the policing processing unit of the first analytics bank performing a two-rate three color rate monitoring function. 22. The method of claim 13 , wherein every row of the first analytics bank has one policer of the policing processing unit of the first analytics bank, wherein the policer has configuration and internal state. 23. The method of claim 19 , further comprising the policing processing unit of the first analytics bank returning a color of a packet to one of a plurality of client interfaces that originated the packet. 24. The method of claim 19 , further comprising when the first analytics bank is in sampling mode, the sampling processing unit of the first analytics bank performs N/M random sampling, wherein N contiguous events are sampled in every M events interval. 25. A method of a network switch comprising: directing output data of a memory bypass module of an analytics bank to one of a counter processing unit, a policing processing unit or a sampling processing unit of the analytics bank; and switching the analytics bank from one of counting with the counter processing unit, policing with the policing processing unit and sampling with the sampling processing unit to another of the counting with the counter processing unit, the policing with the policing processing unit and the sampling with the sampling processing unit by switching where the output data of the memory bypass module is directed from the one of the counter processing unit, the policing processing unit or the sampling processing unit to a different one of the counter processing unit, the policing processing unit and the sampling processing unit.

Assignees

Inventors

Classifications

  • Policy-based network configuration management · CPC title

  • Assignment of logical groups to network elements · CPC title

  • H04L41/142Primary

    using statistical or mathematical methods · CPC title

  • based on statistics of usage or network monitoring · CPC title

  • Policy-and-charging control [PCC] architecture · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12224941B2 cover?
Embodiments of the present invention relate to a centralized network analytic device, the centralized network analytic device efficiently uses on-chip memory to flexibly perform counting, traffic rate monitoring and flow sampling. The device includes a pool of memory that is shared by all cores and packet processing stages of each core. The counting, the monitoring and the sampling are all defi…
Who is the assignee on this patent?
Marvell Asia Pte Ltd
What technology area does this patent fall under?
Primary CPC classification H04L41/142. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 11 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).