Remote smart NIC-based service acceleration

US11150963B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11150963-B2
Application numberUS-201916289412-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2019
Priority dateFeb 28, 2019
Publication dateOct 19, 2021
Grant dateOct 19, 2021

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 provide for accelerating and offloading network processing to a remote smart network interface card (NIC). A first network element, including a first smart NIC, can transmit capability information of the first smart NIC for receipt by a neighboring second network element. The second network element can determine that a network processing task of a virtualized network function (e.g., virtual network function (VNF), cloud-native network function (CNF), etc.) instantiated on the second network element can be offloaded to the first smart NIC. The second network element can receive processing information from the virtualized network function for performing the network processing task. Based on the processing information, the second network element can transmit control information that causes the first smart NIC to perform the network processing task on at least a portion of network data received by the first network element for transmission to the second network element.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method, comprising: receiving, at a second network element over a network from a first network element, an advertisement including capability information of a first smart network interface card (NIC) installed at the first network element, wherein the first network element is remotely and physically located from the second network element; in response to receiving the advertisement, determining, based on the received capability information and at the second network element, that one or more network processing tasks of a virtualized network function instantiated in the second network element can be offloaded to the first smart NIC; receiving, at the second network element from the virtualized network function, processing information for performing the one or more network processing tasks; and transmitting, from the second network element based on the processing information to the first network element, control information that causes the first smart NIC to perform the one or more network processing tasks on at least a portion of network data received by the first network element for transmission to the second network element. 2. The computer-implemented method of claim 1 , further comprising: determining that a second smart NIC is accessible to the second network element; determining a current load of at least one of the first smart NIC or the second smart NIC; and determining an apportioning of the network data based on the current load, wherein the control information further causes the second smart NIC to perform the one or more network processing tasks on an apportioned amount of the network data. 3. The computer-implemented method of claim 2 , wherein the second smart NIC is integrated in the second network element. 4. The computer-implemented method of claim 2 , wherein the second smart NIC is integrated in a third network element neighboring the second network element. 5. The computer-implemented method of claim 1 , wherein the capability information is received within an in-bound or in-situ operations, administration, and management (IOAM) portion of data traffic. 6. The computer-implemented method of claim 5 , further comprising: extracting, by a data path element of the second network element, the capability information from the IOAM portion of the data traffic; and updating, by the data path element, a control path element of the second network element with the capability information. 7. The computer-implemented method of claim 6 , wherein the data path element includes a Fast data-Input/Output (Fd.IO) vector packet processor (VPP). 8. The computer-implemented method of claim 6 , wherein the data path element resides in kernel space of the second network element. 9. The computer-implemented method of claim 6 , wherein the data path element resides in user space of the second network element. 10. The computer-implemented method of claim 6 , wherein the data path element resides in the first smart NIC. 11. The computer-implemented method of claim 6 , wherein the control path element includes at least one of an Open Virtual Switch (OVS) switch, a Contiv plugin, a Kubernetes proxy, or an Istio sidecar proxy. 12. The computer-implemented method of claim 1 , the capability information is received via at least one of Cisco Discovery Protocol (CDP), Link Layer Discovery Protocol (LLDP), Extended Address Resolution Protocol (E-ARP), or Neighbor Discovery Protocol (NDP). 13. A system, comprising: one or more processors; and memory including instructions that, when executed by the one or more processors, cause the system to: receive, over a network from a first network element, an advertisement including capability information of a first smart network interface card (NIC) installed at the first network element, wherein the first network element is remotely and physically located from a second network element; in response to receiving the advertisement, determine, based on the received capability information, that one or more network processing tasks of a virtualized network function instantiated in the system can be offloaded to the first smart NIC; receive, from the virtualized network function, processing information for performing the one or more network processing tasks; and transmit, to the first network element and based on the processing information, control information that causes the first smart NIC to perform the one or more network processing tasks on at least a portion of network data received by the first network element for transmission to the system. 14. The system of claim 13 , wherein the instructions, when executed, further cause the system to: determine that a second smart NIC is accessible to the system; determine a current load of at least one of the first smart NIC or the second smart NIC; and determine an apportioning of the network data based on the current load, wherein the control information further causes the second smart NIC to perform the one or more network processing tasks on an apportioned amount of the network data. 15. The system of claim 14 , wherein the second smart NIC is integrated in the first network element. 16. The system of claim 13 , wherein the capability information is received over a control plane protocol. 17. A non-transitory computer-readable storage medium including instructions that, upon being executed by one or more processors of a system, cause the system to: receive, over a network from a first network element, an advertisement including capability information of the first smart network interface card (NIC) installed at the first network element, wherein the first network element is remotely and physically located from a second network element; in response to receiving the advertisement, determine, based on the received capability information, that one or more network processing tasks of a virtualized network function instantiated in the system can be offloaded to the first smart NIC, receive, from the virtualized network function, processing information for performing the one or more network processing tasks; and transmit, to the first network element and based on the processing information, control information that causes the first smart NIC to perform the one or more network processing tasks on at least a portion of network data received by the first network element for transmission to the system. 18. The non-transitory computer-readable storage medium of claim 17 , wherein the capability information is received in data traffic. 19. The non-transitory computer-readable storage medium of claim 18 , wherein the instructions, when executed, further cause the system to: extract, by a data path element of the system, the capability information from the data traffic; and update, by the data path element, a control path element of the system with the capability information. 20. The non-transitory computer-readable storage medium of claim 19 , wherein the data path element includes a Fast data-Input/Output (Fd.IO) vector packet processor (VPP).

Assignees

Inventors

Classifications

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • considering software capabilities, i.e. software resources associated or available to the machine · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Reducing energy consumption in communication networks · CPC title

  • G06F9/541Primary

    via adapters, e.g. between incompatible applications · 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 US11150963B2 cover?
Systems and methods provide for accelerating and offloading network processing to a remote smart network interface card (NIC). A first network element, including a first smart NIC, can transmit capability information of the first smart NIC for receipt by a neighboring second network element. The second network element can determine that a network processing task of a virtualized network functio…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/541. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 19 2021 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).