IP Library Patent Application 17876460
Patent Application
App. No. 17/876,460

OFFLOADING STATEFUL SERVICES FROM GUEST MACHINES TO HOST RESOURCES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/876,460
Abstract

Some embodiments of the invention provide a method for offloading one or more data message processing services from a machine executing on a host computer. The method is performed at a virtual network interface card (VNIC) that executes within a set of virtualization software executing on the host computer and that is connected to the machine. The method uses a set of configuration data received from the machine to perform the set of data message processing services for a first set of data messages belonging to a particular data message flow associated with the machine. The method determines that a physical network interface card (PNIC) connected to the host computer is available to perform the set of data message processing services for a subsequent second set of data messages belonging to the particular data message flow. The method directs the PNIC to perform the set of data message processing services for subsequent data messages belonging to the particular data message flow.

Claims (39)

1 . A method for offloading a set of data message processing services from a machine executing on a host computer, the method comprising:

at a virtual network interface card (VNIC) that executes within a set of virtualization software executing on the host computer and that is connected to the machine:

using a set of configuration data received from the machine to perform the set of data message processing services for a first set of data messages belonging to a particular data message flow associated with the machine;

determining that a physical network interface card (PNIC) connected to the host computer is available to perform the set of data message processing services for a subsequent second set of data messages belonging to the particular data message flow; and

directing the PNIC to perform the set of data message processing services for subsequent data messages belonging to the particular data message flow.

2 . The method of claim 1 , wherein directing the PNIC to perform the set of data message processing services for subsequent data messages belonging to the particular data message flow comprises providing, through a communications channel between the VNIC and the PNIC, the set of configuration data received from the machine to the PNIC.

3 . The method of claim 2 , wherein the set of configuration data comprises (i) security session configuration data associated with the particular data message flow, (ii) session state data associated with the particular data message flow, and (iii) a set of service rules that define the set of data message processing services for the particular data message flow.

4 . The method of claim 2 , wherein:

the set of virtualization software is a first set of virtualization software;

the PNIC is a smartNIC comprising a processor executing a second set of virtualization software; and

the second set of virtualization software executes at least one service engine for performing at least one data message processing service in the set of data message processing services.

5 . The method of claim 4 , wherein the at least one service engine comprises a service virtual machine.

6 . The method of claim 1 , wherein determining that the PNIC is able to perform the set of data message processing services comprises determining that the PNIC is a smartNIC.

7 . The method of claim 1 , wherein the set of data message processing services comprises at least two of a firewall service, a load balancing service, an IPsec (Internet protocol security) service, and an encapsulation and decapsulation service.

8 . The method of claim 7 , wherein the firewall service comprises a connection tracking service.

9 . The method of claim 7 , wherein the IPsec service comprises an authentication service and an encryption service.

10 . The method of claim 1 further comprising:

receiving a particular data message from the machine;

determining that the particular data message belongs to the particular data message flow; and

forwarding the particular data message to the PNIC for processing by the PNIC.

11 . The method of claim 1 , wherein directing the PNIC to perform the set of data message processing services for subsequent data messages belonging to the particular data message flow further comprises directing the PNIC to forward data messages that are directed to the machine and that do not belong to the particular data message flow to the machine.

12 . The method of claim 1 , wherein the particular data message flow comprises an elephant flow.

13 . A non-transitory machine readable medium storing a virtual network interface card (VNIC) connected to a machine and executing within a set of virtualization software on a host computer, the VNIC for execution by a set of processing units of the host computer, the VNIC comprising sets of instructions for:

using a set of configuration data received from the machine to perform the set of data message processing services for a first set of data messages belonging to a particular data message flow associated with the machine;

determining that a physical network interface card (PNIC) connected to the host computer is available to perform the set of data message processing services for a subsequent second set of data messages belonging to the particular data message flow; and

directing the PNIC to perform the set of data message processing services for subsequent data messages belonging to the particular data message flow.

14 . The non-transitory machine readable medium of claim 13 , wherein the set of instructions for directing the PNIC to perform the set of data message processing services for subsequent data messages belonging to the particular data message flow comprises a set of instructions for providing, through a communications channel between the VNIC and the PNIC, the set of configuration data received from the machine to the PNIC.

15 . The non-transitory machine readable medium of claim 14 , wherein the set of configuration data comprises (i) security session configuration data associated with the particular data message flow, (ii) session state data associated with the particular data message flow, and (iii) a set of service rules that define the set of data message processing services for the particular data message flow.

16 . The non-transitory machine readable medium of claim 14 , wherein:

the set of virtualization software is a first set of virtualization software;

the PNIC is a smartNIC comprising a processor executing a second set of virtualization software; and

the second set of virtualization software executes at least one service engine for performing at least one data message processing service in the set of data message processing services.

17 . The non-transitory machine readable medium of claim 16 , wherein the at least one service engine comprises a service virtual machine.

18 . The non-transitory machine readable medium of claim 13 , wherein the set of instructions for determining that the PNIC is able to perform the set of data message processing services comprises a set of instructions for determining that the PNIC is a smartNIC.

19 . The non-transitory machine readable medium of claim 13 , wherein the set of data message processing services comprises at least two of a firewall service, a load balancing service, an IPsec (Internet protocol security) service, and an encapsulation and decapsulation service.

20 . The non-transitory machine readable medium of claim 13 , the VNIC further comprising sets of instructions for:

receiving a particular data message from the machine;

determining that the particular data message belongs to the particular data message flow; and

forwarding the particular data message to the PNIC for processing by the PNIC.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2023
From: LI, PENG; YANG, GUOLIN; DOSHI, RONAK; ANG, BOON SEONG; JIANG, WENYI
To: VMWARE, INC.
Reel/Frame 063093/0581 →