IP Library Granted Patent US 11,609,781
Granted Patent B2
US 11,609,781 · App. 17/352,298 · Granted Mar 21, 2023

Providing services with guest VM mobility

Inventors: Rahul Mishra (Mountain View, CA); Camille Lecuyer (Mountain View, CA); Saahil Gokhale (Santa Clara, CA); Rajeev Nair (Newark, CA); Kantesh Mundaragi (Bangalore, IN); Pierluigi Rolando (Santa Clara, CA); Jayant Jain (Cupertino, CA); Raju Koganty (San Jose, CA)
Assignee: VMWARE, INC.
G06F9/45558G06F9/546H04L12/4633H04L41/0803H04L41/0816H04L41/5003H04L41/5054H04L45/26H04L45/308H04L45/38H04L45/586H04L45/66H04L45/74H04L45/745H04L47/125H04L47/17H04L47/19H04L47/2425H04L49/252H04L49/3009H04L61/2592H04L67/10H04L67/101H04L67/1001H04L67/51H04L67/56H04L67/563H04L67/60H04L69/321H04L69/324H04L69/325G06F2009/4557G06F2009/45595H04L41/0806H04L41/0893H04L2101/622H04L2212/00
View Patent ↗
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 11,609,781
App. No.
17/352,298
Granted
Mar 21, 2023
Kind
B2
Abstract

Some embodiments provide a method for performing services for data messages associated with a machine executing on a particular host computer. On the particular host computer, the method configures (1) a first distributed forwarding element (DFE) to forward data messages sent by the machine based on network addresses specified by machine, and (2) a second DFE to forward data messages sent by the machine to a set of one or more other host computers on which a set of one or more service nodes before the data messages are returned to the particular host computer to be forwarded by the first DFE based on the network addresses specified by the machine. Each DFE is implemented by at least one software forwarding element executing (SFE) on the particular host computer and at least one other SFE executing on at least one other host computer.

Claims (30)

1. A method of performing services for data messages associated with a machine executing on a particular host computer, the method comprising:

on the particular host computer:

configuring a first distributed forwarding element (DFE) to forward data messages sent by the machine based on network addresses specified by machine; and

configuring a second DFE to forward data messages sent by the machine to a set of one or more other host computers on which a set of one or more service nodes execute before the data messages are returned to the particular host computer to be forwarded by the first DFE based on the network addresses specified by the machine,

each DFE implemented by at least one software forwarding element (SFE) executing on the particular host computer and at least one other SFE executing on at least one other host computer.

2. The method of claim 1 , wherein the first and second DFEs are the same type of forwarding element.

3. The method of claim 2 , wherein each DFE is a distributed software switch and each SFE is a software switch.

4. The method of claim 1 , wherein one SFE on the particular host computer is configured to implement both the first and second DFEs.

5. The method of claim 1 , wherein first and second SFEs on the particular host computer are configured to implement respectively the first and second DFEs.

6. The method of claim 1 , wherein the second DFE defines a service forwarding plane for forwarding data messages to service nodes before the data messages are forwarded based on network addresses specified by the machine, while the first DFE defines a guest forwarding plane to forward the data messages based on network addresses specified by the machine.

7. The method of claim 6 , wherein

the first DFE has a port for receiving data messages from the machine,

the second DFE does not have a port for receiving data messages from the machine, but has a particular port for receiving data messages from a particular port proxy that executes on the particular host computer to receive data messages sent by the machine and to forward the data messages to the particular port.

8. The method of claim 7 , wherein the port proxy serves as an interface between a plurality of machines executing on the particular host computer and the second DFE.

9. The method of claim 1 , wherein the second DFE comprises a service proxy for each service node that executes on another host computer to perform a service operation on data messages sent by the machine, the service proxy for formatting the data messages provided to the service proxy's associated service node.

10. The method of claim 1 , wherein the second DFE forwards a subset of data messages to a first service node on the particular host computer before forwarding the subset of data messages to at least one other host computer in the set of other host computers for processing by a second service node in the set of service nodes.

11. A non-transitory machine readable medium storing a program for execution by at least one processing unit of a particular host computer and for performing services for data messages associated with a machine executing on the particular host computer, the program comprising sets of instructions for:

configuring a first distributed forwarding element (DFE) to forward data messages sent by the machine based on network addresses specified by machine; and

configuring a second DFE to forward data messages sent by the machine to a set of one or more other host computers on which a set of one or more service nodes execute before the data messages are returned to the particular host computer to be forwarded by the first DFE based on the network addresses specified by the machine,

each DFE implemented by at least one software forwarding element (SFE) executing on the particular host computer and at least one other SFE executing on at least one other host computer.

12. The non-transitory machine readable medium of claim 11 , wherein the first and second DFEs are the same type of forwarding element.

13. The non-transitory machine readable medium of claim 12 , wherein each DFE is a distributed software switch and each SFE is a software switch.

14. The non-transitory machine readable medium of claim 11 , wherein one SFE on the particular host computer is configured to implement both the first and second DFEs.

15. The non-transitory machine readable medium of claim 11 , wherein first and second SFEs on the particular host computer are configured to implement respectively the first and second DFEs.

16. The non-transitory machine readable medium of claim 11 , wherein the second DFE defines a service forwarding plane for forwarding data messages to service nodes before the data messages are forwarded based on network addresses specified by the machine, while the first DFE defines a guest forwarding plane to forward the data messages based on network addresses specified by the machine.

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

the first DFE has a port for receiving data messages from the machine,

the second DFE does not have a port for receiving data messages from the machine, but has a particular port for receiving data messages from a particular port proxy that executes on the particular host computer to receive data messages sent by the machine and to forward the data messages to the particular port.

18. The non-transitory machine readable medium of claim 17 , wherein the port proxy serves as an interface between a plurality of machines executing on the particular host computer and the second DFE.

19. The non-transitory machine readable medium of claim 11 , wherein the second DFE comprises a service proxy for each service node that executes on another host computer to perform a service operation on data messages sent by the machine, the service proxy for formatting the data messages provided to the service proxy's associated service node.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →