IP Library Granted Patent US 11,190,463
Granted Patent B2
US 11,190,463 · App. 16/859,176 · Granted Nov 30, 2021

Distributed virtual switch for virtualized computer systems

Inventors: Andrew W. Lambeth (San Mateo, CA); Shudong Zhou (Fremont, CA)
Assignee: VMWARE, INC.
H04L49/70G06F9/45558H04L29/12839H04L61/6022G06F2009/4557G06F2009/45575G06F2009/45579G06F2009/45595
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,190,463
App. No.
16/859,176
Granted
Nov 30, 2021
Kind
B2
Abstract

A runtime state of a virtual port associated with a virtual machine (“VM”) is persisted as the VM is migrated from a source host to a destination host. In certain embodiments, a virtual switch forwards network frames between the VM and the physical network interface via the virtual port. During migration of the VM, the runtime state of the virtual port is transferred to the destination host and applied at the second host to a virtual port associated with a second virtual switch at the destination host. The runtime state of the virtual port at the source host is then cleared, and the second virtual switch at the destination host forwards network frames between the migrated VM and the physical network interface of the destination host using the virtual port at the second host.

Claims (42)

1. A method of configuring virtual switches executing on host computers to connect machines executing on the host computers, the method comprising:

defining a distributed virtual switch (DVS) that spans a plurality of host computers;

defining a plurality of distributed ports for the DVS;

associating a first distributed port with a first machine executing on a first host; and

configuring the first host (i) to associate a first virtual port of a first virtual switch executing on the first host computer with the first machine to exchange data messages in order to allow the first machine to exchange data messages with other machines, and (ii) to associate the first virtual port with the first distributed port to receive operational settings defined for the first distributed port in order to implement desired forwarding behavior defined for the first distributed port.

2. The method of claim 1 , wherein the DVS is defined by a network administrator.

3. The method of claim 2 , wherein the distributed ports are also defined by the network administrator as ports of the DVS through which machines to the DVS.

4. The method of claim 3 , wherein said DVS represents an abstraction of logical network links between the machines.

5. The method of claim 1 , wherein the operational settings comprise at least one forwarding class defining forwarding behavior of the first distributed port.

6. The method of claim 1 , wherein the operational settings comprise at least one filtering class defining at least one of monitoring operation, filtering operation, and transformation operation of the first distributed port.

7. The method of claim 1 , wherein associating the first distributed port with the first machine comprises providing to the first host computer a connection identifier that associates the first machine with the first distributed port.

8. The method of claim 7 , wherein

the first machine comprises a first virtual network interface card (VNIC);

providing the connection identifier comprises assigning the connection identifier to the first VNIC to specify that the first VNIC has the right to use network resources associated with the first distributed port.

9. The method of claim 1 further comprising:

configuring the first host to store runtime state of first virtual port with the first distributed port;

collecting the runtime state from the first distributed port;

storing the runtime state outside of the first host.

10. The method of claim 9 further comprising:

migrating the first machine from the first host computer to a second host computer;

associating the first distributed port with a second virtual port of a second virtual switch executing on the second host computer;

providing the collected and stored runtime state to the second virtual port so that forwarding state associate with the migrated first machine is not lost because of the migration.

11. A non-transitory machine readable medium storing sets of instructions for execution by at least one processing unit of a computer to configure virtual switches executing on host computers to connect machines executing on the host computers, the sets of instructions for:

receiving definition of (i) a distributed virtual switch (DVS) that spans a plurality of host computers, and (ii) a plurality of distributed ports for the DVS;

configuring a first host computer (i) to associate a first distributed port with a first machine executing on the first host, (ii) to associate a first virtual port of a first virtual switch executing on the first host computer with the first machine to exchange data messages in order to allow the first machine to exchange data messages with other machines, and (iii) to associate the first virtual port with the first distributed port to receive operational settings defined for the first distributed port in order to implement desired forwarding behavior defined for the first distributed port.

12. The non-transitory machine readable medium of claim 11 , wherein the DVS is defined by a network administrator.

13. The non-transitory machine readable medium of claim 12 , wherein the distributed ports are also defined by the network administrator as ports of the DVS through which machines to the DVS.

14. The non-transitory machine readable medium of claim 13 , wherein said DVS represents an abstraction of logical network links between the machines.

15. The non-transitory machine readable medium of claim 11 , wherein the operational settings comprise at least one forwarding class defining forwarding behavior of the first distributed port.

16. The non-transitory machine readable medium of claim 11 , wherein the operational settings comprise at least one filtering class defining at least one of monitoring operation, filtering operation, and transformation operation of the first distributed port.

17. The non-transitory machine readable medium of claim 11 , wherein the set of instructions for configuring the first host to associate the first distributed port with the first machine comprises a set of instructions for providing to the first host computer a connection identifier that associates the first machine with the first distributed port.

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

the first machine comprises a first virtual network interface card (VNIC);

the set of instructions for providing the connection identifier comprises a set of instructions for assigning the connection identifier to the first VNIC to specify that the first VNIC has the right to use network resources associated with the first distributed port.

19. The non-transitory machine readable medium of claim 11 , wherein the sets of instructions are further for:

configuring the first host to store runtime state of first virtual port with the first distributed port;

collecting the runtime state from the first distributed port;

storing the runtime state outside of the first host.

20. The non-transitory machine readable medium of claim 19 , wherein the sets of instructions are further for:

migrating the first machine from the first host computer to a second host computer;

associating the first distributed port with a second virtual port of a second virtual switch executing on the second host computer;

providing the collected and stored runtime state to the second virtual port so that forwarding state associate with the migrated first machine is not lost because of the migration.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
Continuity (5)
Continuation 15818398 · Nov 20, 2017
Continuation 14876484 · Oct 6, 2015
Continuation 13470560 · May 14, 2012
Continuation 12126777 · May 23, 2008
Related Publication 20200328989A1 · Oct 15, 2020
Cited By (1)
US 12,683,884