IP Library Granted Patent US 9,838,339
Granted Patent B2
US 9,838,339 · App. 14/876,484 · Granted Dec 5, 2017

Distributed virtual switch for virtualized computer systems

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 9,838,339
App. No.
14/876,484
Granted
Dec 5, 2017
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 (69)

1. A method comprising:

creating a first virtual port associated with a first virtual switch of a source host;

establishing a connection between the first virtual port and a virtual network interface card (VNIC) of a virtual machine in the source host;

forwarding, by the virtual switch of the source host, network frames between the VNIC and a physical network interface card (NIC) of the source host;

during migration of the virtual machine from the source host to a destination host:

transferring a runtime state of the first virtual port to the destination host,

applying the runtime state to a second virtual port associated with a second virtual switch of the destination host,

clearing the runtime state of the first virtual port on the source host, and

establishing a connection between the VNIC of the virtual machine and the second virtual port associated with the second virtual switch of the destination host; and

forwarding, following the migration, by the second virtual switch of the destination host, network frames between the VNIC of the virtual machine and a physical network interface card (NIC) of the destination host.

2. The method of claim 1 , further comprising associating one or more classes with the virtual switch of the source host, the classes comprising at least one of a forwarding class and a filter class, the forwarding class comprising one or more rules indicating which virtual port(s) should receive frames received at the virtual switch and the filtering class implementing one or more of: monitoring, filtering, or transformation functionality for a virtual port associated with the virtual switch of the source host.

3. The method of claim 2 , further comprising saving the runtime state via one or more class-defined serializers.

4. The method of claim 3 , wherein applying the runtime state comprises restoring, via one or more class-defined deserializers, the runtime data saved via the one or more class-defined serializers.

5. The method of claim 1 , further comprising during migration of the first virtual machine from the source host to the destination host:

saving a configuration state of the virtual port; and

applying the configuration state to the virtual port associated with the virtual switch of the destination host.

6. The method of claim 1 , further comprising:

defining a distributed virtual switch (DVswitch), the DVswitch comprising a configurable logical entity;

configuring the DVswitch; and

attaching the DVswitch to the VNIC of the virtual machine of the source host;

wherein the first virtual port and first virtual switch are automatically configured in accordance with the configuration of the DVswitch.

7. The method of claim 6 , wherein the virtual machine is a first virtual machine, the method further comprising:

defining a second DVswitch;

configuring the second DVswitch; and

attaching the second DVswitch to a VNIC of a second virtual machine of the source host, wherein a second virtual port associated and a second virtual switch of the source host are automatically configured in accordance with the configuration of the DVswitch, and further wherein the first and second virtual machines are thereby connected to respective first and second local area networks.

8. A computer program product comprising a non-transitory computer-readable storage medium embodying machine-readable instructions configured to, upon execution, direct a computer system to at least:

create a first virtual port associated with a first virtual switch of a source host;

establish a connection between the first virtual port and a virtual network interface card (VNIC) of a virtual machine in the source host;

forward, by the virtual switch of the source host, network frames between the VNIC and a physical network interface card (NIC) of the source host;

during migration of the virtual machine from the source host to a destination host:

transfer a runtime state of the first virtual port to the destination host,

apply the runtime state to a second virtual port associated with a second virtual switch of the destination host,

clear the runtime state of the first virtual port on the source host, and

establish a connection between the VNIC of the virtual machine and the second virtual port associated with the second virtual switch of the destination host; and

forward, following the migration, by the second virtual switch of the destination host, network frames between the VNIC of the virtual machine and a physical network interface card (NIC) of the destination host.

9. The computer program product of claim 8 , wherein the computer system is further directed to associate one or more classes with the virtual switch of the source host, the classes comprising at least one of a forwarding class and a filter class, the forwarding class comprising one or more rules indicating which virtual port(s) should receive frames received at the virtual switch and the filtering class implementing one or more of: monitoring, filtering, or transformation functionality for a virtual port associated with the virtual switch of the source host.

10. The computer program product of claim 9 , wherein the computer system is further directed to save the runtime state via one or more class-defined serializers.

11. The computer program product of claim 10 , wherein applying the runtime state comprises restoring, via one or more class-defined deserializers, the runtime data saved via the one or more class-defined serializers.

12. The computer program product of claim 8 , wherein the computer system is further directed to, during migration of the first virtual machine from the source host to the destination host:

save a configuration state of the virtual port; and

apply the configuration state to the virtual port associated with the virtual switch of the destination host.

13. The computer program product of claim 8 , wherein the computer system is further directed to:

define a distributed virtual switch (DVswitch), the DVswitch comprising a configurable logical entity;

configure the DVswitch; and

attach the DVswitch to the VNIC of the virtual machine of the source host, wherein the first virtual port and first virtual switch are automatically configured in accordance with the configuration of the DVswitch.

14. The computer program product of claim 13 , wherein the virtual machine is a first virtual machine, the method further comprising:

defining a second DVswitch;

configuring the second DVswitch; and

attaching the second DVswitch to a VNIC of a second virtual machine of the source host, wherein a second virtual port associated and a second virtual switch of the source host are automatically configured in accordance with the configuration of the DVswitch, and further wherein the first and second virtual machines are thereby connected to respective first and second local area networks.

15. An apparatus comprising at least one processor and at least one memory storing program code instructions, the at least one memory and program code instructions being configured to, with the at least one processor, direct the apparatus to at least:

create a first virtual port associated with a first virtual switch of a source host;

establish a connection between the first virtual port and a virtual network interface card (VNIC) of a virtual machine in the source host;

forward, by the virtual switch of the source host, network frames between the VNIC and a physical network interface card (NIC) of the source host;

during migration of the virtual machine from the source host to a destination host:

transfer a runtime state of the first virtual port to the destination host,

apply the runtime state to a second virtual port associated with a second virtual switch of the destination host,

clear the runtime state of the first virtual port on the source host, and

establish a connection between the VNIC of the virtual machine and the second virtual port associated with the second virtual switch of the destination host; and

forward, following the migration, by the second virtual switch of the destination host, network frames between the VNIC of the virtual machine and a physical network interface card (NIC) of the destination host.

16. The apparatus of claim 15 , the apparatus being further directed to associate one or more classes with the virtual switch of the source host, the classes comprising at least one of a forwarding class and a filter class, the forwarding class comprising one or more rules indicating which virtual port(s) should receive frames received at the virtual switch and the filtering class implementing one or more of: monitoring, filtering, or transformation functionality for a virtual port associated with the virtual switch of the source host.

17. The apparatus of claim 16 , the apparatus being further directed to save the runtime state via one or more class-defined serializers.

18. The apparatus of claim 17 , wherein applying the runtime state comprises restoring, via one or more class-defined deserializers, the runtime data saved via the one or more class-defined serializers.

19. The apparatus of claim 15 , the apparatus being further directed to, during migration of the first virtual machine from the source host to the destination host:

save a configuration state of the virtual port; and

apply the configuration state to the virtual port associated with the virtual switch of the destination host.

20. The apparatus of claim 15 , the apparatus being further directed to:

define a distributed virtual switch (DVswitch), the DVswitch comprising a configurable logical entity;

configure the DVswitch; and

attach the DVswitch to the VNIC of the virtual machine of the source host, wherein the first virtual port and first virtual switch are automatically configured in accordance with the configuration of the DVswitch.

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