Hardware acceleration techniques using flow selection

US12445380B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12445380-B2
Application numberUS-202418604978-A
CountryUS
Kind codeB2
Filing dateMar 14, 2024
Priority dateJun 2, 2020
Publication dateOct 14, 2025
Grant dateOct 14, 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.

In some embodiments, a method receives a packet for a flow associated with a workload. Based on an indicator for the flow, the method determines whether the flow corresponds to one of an elephant flow or a mice flow. Only when the flow is determined to correspond to an elephant flow, the method enables a hardware acceleration operation on the packet. The hardware acceleration operation may include hardware operation offload, receive side scaling, and workload migration.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a packet for a flow; based on an indicator for the flow, determining whether the flow corresponds to one of first classification or a second classification, the first classification being associated with a first duration of less than a first threshold, the second classification being associated with a second duration of greater than a second threshold; and based on a determination that the flow corresponds to an elephant flow, enabling a hardware acceleration operation on the packet. 2. The method of claim 1 , wherein enabling the hardware acceleration operation comprises: offloading an operation on the packet from a network stack to a physical network interface card when the flow is associated with a second classification; and performing the hardware acceleration operation using the physical network interface card. 3. The method of claim 1 , wherein enabling the hardware acceleration operation comprises: receiving the packet at a physical network interface card; and performing the hardware acceleration operation in the physical network interface card. 4. The method of claim 1 , wherein enabling the hardware acceleration operation comprises: storing identification information for a set of flows associated with a set of workloads in a table based on network traffic associated with respective flows or workloads; and determining that identification information for the flow is found in the table, wherein the flow table identifies the flow as being associated with the second classification. 5. The method of claim 1 , wherein enabling the hardware acceleration operation comprises: storing the packet in a queue associated with a physical network interface card, wherein the queue is associated with packets from one or more flows corresponding to second classifications. 6. The method of claim 5 , wherein: a first queue stores packets for one or more flows corresponding to second classifications; and a second queue stores packets for one or more flows corresponding to first classifications. 7. The method of claim 1 , wherein enabling the hardware acceleration operation comprises: tagging a workload to indicate that the flow is associated with second classifications; and migrating the workload to a device, wherein information indicating the workload is associated with second classifications is sent to the device to allow the device to identify a flow associated with the workload as corresponding to the second classification. 8. A non-transitory computer-readable storage medium storing a first program for executing by a processing unit of a computer, the program comprising sets of instructions for: receiving a packet for a flow associated with a workload; based on an indicator for the flow, determining whether the flow corresponds to one of a second classification or a first classification, the first classification being associated with a first data size of less than a first threshold, the second classification being associated with a second data size of greater than a second threshold; when the flow is determined to correspond to a second classification, directing the packet to a physical network interface card (PNIC) to perform an operation; and when the flow is determined to correspond to a first classification, directing the packet to a second program executing on the computer to perform the operation on the packet. 9. The non-transitory computer-readable storage medium of claim 8 , wherein the second program is a network stack of the computer, wherein directing the packet to the PNIC comprises: offloading the operation on the packet from the network stack to the PNIC; and performing the operation using the PNIC. 10. The non-transitory computer-readable storage medium of claim 8 , the program further comprising sets of instructions for: storing identification information for a set of flows associated with a set of workloads in a table based on network traffic associated with respective flows or workloads; and determining that identification information for the flow is found in the table, wherein the flow table identifies the flow as being associated with the second classification. 11. The non-transitory computer-readable storage medium of claim 8 , wherein directing the packet to the PNIC comprises: storing the packet in a queue associated with the PNIC, wherein the queue is associated with packets from one or more flows corresponding to second classifications. 12. The non-transitory computer-readable storage medium of claim 11 , wherein: a first queue stores packets for one or more flows corresponding to second classifications; and a second queue stores packets for one or more flows corresponding to first classifications. 13. The non-transitory computer-readable storage medium of claim 8 , the program further comprising sets of instructions for: tagging a workload to indicate that the workload is associated with second classifications; and migrating the workload to a device, wherein information indicating the workload is associated with second classifications is sent to the device to allow the device to identify a flow associated with the workload as corresponding to the second classification. 14. An apparatus comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for: receiving a packet for a flow; based on an indicator for the flow, determining whether the flow corresponds to one of a second classification or a first classification, the first classification being associated with a first duration of less than a first threshold, the second classification being associated with a second duration of greater than a second threshold; and only when the flow is determined to correspond to a second classification, enabling a hardware acceleration operation. 15. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises: offloading an operation on the packet from a network stack to a physical network interface card when the flow is associated with the second classification; and performing the hardware acceleration operation using the physical network interface card. 16. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises: receiving the packet at a physical network interface card; and performing the hardware acceleration operation in the physical network interface card. 17. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises: storing identification information for a set of flows associated with a set of workloads in a table based on network traffic associated with respective flows or workloads; and determining that identification information for the flow is found in the table, wherein the flow table identifies the flow as being associated with the second classification. 18. The apparatus of claim 15 , wherein enabling the hardware acceleration technique operation comprises: storing the packet in a queue associated with a physical network interface card, wherein the queue is associated with packets from one or more flows corresponding to second classifications. 19. The apparatus of claim 14 , wherein: a first queue stores packets for one or more flows corresponding to second classifications; and a second queue stores packets for one or more flows corresponding to fir

Assignees

Inventors

Classifications

  • Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level · CPC title

  • Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields · CPC title

  • Parsing or analysis of headers · CPC title

  • Protocol engines · CPC title

  • Buffering arrangements · 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 US12445380B2 cover?
In some embodiments, a method receives a packet for a flow associated with a workload. Based on an indicator for the flow, the method determines whether the flow corresponds to one of an elephant flow or a mice flow. Only when the flow is determined to correspond to an elephant flow, the method enables a hardware acceleration operation on the packet. The hardware acceleration operation may incl…
Who is the assignee on this patent?
VMware LLC
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 14 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).