Systems and methods for tracking and exporting flows in software with augmented processing in hardware

US12166650B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12166650-B2
Application numberUS-202318185921-A
CountryUS
Kind codeB2
Filing dateMar 17, 2023
Priority dateMay 7, 2021
Publication dateDec 10, 2024
Grant dateDec 10, 2024

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.

Systems and methods are provided herein for using a network device's software (e.g., programs executed on a CPU) to maintain and export flow data while offloading network resource intensive tasks to the network device's hardware. This may be accomplished by a network device determining whether a new flow should be tracked using only the software table (e.g., table stored only on the CPU) of the network device or whether certain flow tracking tasks (e.g., counting/parsing) can be offloaded to a hardware table (e.g., counter table in a hardware flow cache) of the network device. The network device may use one or more conditions to determine whether the new flow should be tracked using the software table or by both the software and the hardware table. The conditions can relate to the characteristics of the new flow, resource information, prioritization of the new flow, etc.

First claim

Opening claim text (preview).

What is claimed is: 1. A method performed by a network device, the method comprising: receiving a data packet, the data packet being associated with a flow; in response to the flow being a new flow, determining whether or not to track the new flow using a hardware table in the network device based on characteristics related to the new flow and resource information related to the hardware table, wherein characteristics related to the new flow include an activity of the new flow that corresponds to a type of flow to be tracked using the hardware table, wherein the type of flow to be tracked includes flows that send a number of packets during a period of time that exceeds a threshold number of packets; and in response to a determination to track the new flow using the hardware table: adding a table entry corresponding to the new flow to the hardware table, wherein flow information contained in received data packets corresponding to the new flow is recorded in the table entry corresponding to the new flow; and updating a software table with flow information stored in the hardware table on a repeated basis. 2. The method of claim 1 , wherein the resource information related to the hardware table includes a number of flows installed in the hardware table, wherein whether or not to track the new flow using a hardware table includes comparing the number of flows installed in the hardware table to a threshold value. 3. The method of claim 1 , the method further comprising, in response to a determination to track the new flow using only the software table in the network device, recording the flow information related to the new flow only in the software table. 4. The method of claim 1 , the method further comprising, in response to a determination to track the new flow using both the hardware table and the software table in the network device, recording the flow information in the hardware table and the software. 5. The method of claim 1 , wherein the updating is performed periodically. 6. The method of claim 1 , wherein the updating is performed in response to a threshold number of data packets corresponding to the new flow are counted. 7. The method of claim 1 , wherein the flow information includes one or more of: a number of packets in the new flow, a number of bytes in the new flow, ingress and egress interface of the new flow, entry creation time of the table entry corresponding to the new flow, and last time of update of the new flow. 8. A network device comprising: one or more computer processors; and a computer-readable storage device comprising instructions that control the one or more computer processors to: receive a data packet, the data packet being associated with a flow; determine, in response to the flow being a new flow, whether or not to track the new flow using a hardware table in the network device based on characteristics related to the new flow and resource information related to the hardware table, wherein characteristics related to the new flow include an activity of the new flow that corresponds to a type of flow to be tracked using the hardware table, wherein the type of flow to be tracked includes flows that send a number of packets during a period of time that exceeds a threshold number of packets; add, in response to a determination to track the new flow using the hardware table, a table entry corresponding to the new flow to the hardware table, wherein flow information contained in received data packets corresponding to the new flow is recorded in the table entry corresponding to the new flow; and update, in response to the determination to track the new flow using the hardware table, a software table with flow information stored in the hardware table on a repeated basis. 9. The network device of claim 8 , wherein the resource information related to the hardware table includes a number of flows installed in the hardware table, wherein whether or not to track the new flow using a hardware table includes comparing the number of flows installed in the hardware table to a threshold value. 10. The network device of claim 8 , wherein the computer-readable storage device further comprises instructions that control the one or more computer processors to record, in response to a determination to track the new flow using only the software table in the network device, the flow information related to the new flow only in the software table. 11. The network device of claim 8 , wherein the computer-readable storage device further comprises instructions that control the one or more computer processors to record, in response to a determination to track the new flow using both the hardware table and the software table in the network device, the flow information in the hardware table and the software table. 12. The network device of claim 8 , wherein the updating is performed periodically. 13. The network device of claim 8 , wherein the updating is performed in response to a threshold number of data packets corresponding to the new flow are counted. 14. The network device of claim 8 , wherein the flow information includes one or more of: a number of packets in the new flow, a number of bytes in the new flow, ingress and egress interface of the new flow, entry creation time of the table entry corresponding to the new flow, and last time of update of the new flow. 15. A non-transitory computer-readable storage device in a network device, the non-transitory computer-readable storage device having stored thereon computer executable instructions, which when executed, cause the network device to: receive a data packet, the data packet being associated with a flow; determine, in response to the flow being a new flow, whether or not to track the new flow using a hardware table in the network device based on characteristics related to the new flow and resource information related to the hardware table, wherein characteristics related to the new flow include an activity of the new flow that corresponds to a type of flow to be tracked using the hardware table, wherein the type of flow to be tracked includes flows that send a number of packets during a period of time that exceeds a threshold number of packets; add, in response to a determination to track the new flow using the hardware table, a table entry corresponding to the new flow to the hardware table, wherein flow information contained in received data packets corresponding to the new flow is recorded in the table entry corresponding to the new flow; and update, in response to the determination to track the new flow using the hardware table, a software table with flow information stored in the hardware table on a repeated basis. 16. The non-transitory computer-readable storage device of claim 15 , wherein the resource information related to the hardware table includes a number of flows installed in the hardware table, wherein whether or not to track the new flow using a hardware table includes comparing the number of flows installed in the hardware table to a threshold value. 17. The non-transitory computer-readable storage device of claim 15 , wherein the computer executable instructions, which when executed, further cause the network device to record, in response to a determination to track the new flow using only the software table in the network device, the flow information related to the new flow only in the software table. 18. The non-transitory computer-readable storage device of claim 15 , wherein the computer executable instructions, which when executed, further cause the network device to update

Assignees

Inventors

Classifications

  • involving identification of individual flows · CPC title

  • using flow identification · CPC title

  • by adaptive sampling · CPC title

  • H04L43/062Primary

    related to network traffic · CPC title

  • Network utilisation, e.g. volume of load or congestion level · 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 US12166650B2 cover?
Systems and methods are provided herein for using a network device's software (e.g., programs executed on a CPU) to maintain and export flow data while offloading network resource intensive tasks to the network device's hardware. This may be accomplished by a network device determining whether a new flow should be tracked using only the software table (e.g., table stored only on the CPU) of the…
Who is the assignee on this patent?
Arista Networks Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/2483. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 10 2024 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).