IP Library Granted Patent US 10,579,408
Granted Patent B2
US 10,579,408 · App. 15/456,594 · Granted Mar 3, 2020

Distributed network emulation implemented by a host in a virtualized computing environment

Inventors: Ziyou Wang (Beijing, CN); Hua Wang (Beijing, CN); Jianjun Shen (Palo Alto, CA); Donghai Han (Beijing, CN)
Assignee: NICIRA, INC.
G06F9/45558H04L12/4641H04L43/08G06F2009/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 10,579,408
App. No.
15/456,594
Granted
Mar 3, 2020
Kind
B2
Abstract

Example methods are provided for a host to implement distributed network emulation in a virtualized computing environment. The method may comprise detecting one or more packets from a source network address associated with a source virtualized computing instance to a destination network address associated with a destination virtualized computing instance. The method may also comprise, in response to determination that a network emulation rule configured for the source virtualized computing instance and destination virtualized computing instance is applicable to the one or more packets, determining a physical network condition associated with a path between the source virtualized computing instance and destination virtualized computing instance. The method may further comprise emulating a desired network condition specified by the network emulation rule by performing an emulation action on the one or more packets.

Claims (59)

1. A method for a host to implement distributed network emulation in a virtualized computing environment, wherein the method comprises:

detecting one or more packets from a source network address associated with a source virtualized computing instance to a destination network address associated with a destination virtualized computing instance, wherein the source virtualized computing instance or destination virtualized computing instance is supported by the host; and

in response to determination that a network emulation rule configured for the source virtualized computing instance and destination virtualized computing instance is applicable to the one or more packets,

determining a physical network condition associated with a path between the source virtualized computing instance and destination virtualized computing instance using a monitoring session; and

based on a comparison of the physical network condition and a desired network condition specified by the network emulation rule, emulating the desired network condition by performing an emulation action on the one or more packets.

2. The method of claim 1 , wherein determining the physical network condition comprises:

determining the physical network condition using the monitoring session that is established between a source hypervisor associated with the source virtualized computing instance and a destination hypervisor associated with the destination virtualized computing instance.

3. The method of claim 2 , wherein the host is a destination host supporting the destination virtualized computing instance, and the method further comprises:

obtaining, from a network management entity, a source session network address that is configured for the source hypervisor and in a same subnet as the source network address.

4. The method of claim 3 , wherein the method further comprises:

establishing the monitoring session using the source session network address and a destination session network address that is configured for the destination hypervisor and in a same subnet as the destination network address.

5. The method of claim 1 , wherein emulating the desired network condition comprises:

determining whether the desired network condition is emulatable; and

in response to determination that the desired network condition is emulatable, emulating the desired network condition, but otherwise, generating and sending a warning message to a network management entity.

6. The method of claim 5 , wherein emulating the desired network condition comprises:

based on the physical network condition, determining the emulation action to emulate at least one of the following characteristics: delay, packet loss rate, packet reorder rate, packet duplication rate, bandwidth limitation, disconnection, packet corruption rate and jitter.

7. The method of claim 1 , wherein the host is a destination host supporting the destination virtualized computing instance, and the method further comprises:

prior to detecting the one or more packets, determining a source identifier that uniquely identifies the source virtualized computing instance, wherein the source identifier is a virtual network interface controller (VNIC) identifier or a Media Access Control (MAC) address of the source virtualized computing instance; and

sending, to a network management entity, a report message that includes the source identifier for the network management entity to translate the source identifier to the source network address.

8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a host, cause the processor to perform a method of distributed network emulation in a virtualized computing environment, the method comprising:

detecting one or more packets from a source network address associated with a source virtualized computing instance to a destination network address associated with a destination virtualized computing instance, wherein the source virtualized computing instance or the destination virtualized computing instance is supported by the host; and

in response to determination that a network emulation rule configured for the source virtualized computing instance and destination virtualized computing instance is applicable to the one or more packets,

determining a physical network condition associated with a path between the source virtualized computing instance and the destination virtualized computing instance using a monitoring session; and

based on a comparison of the physical network condition and a desired network condition specified by the network emulation rule, emulating the desired network condition by performing an emulation action on the one or more packets.

9. The non-transitory computer-readable storage medium of claim 8 , wherein determining the physical network condition comprises:

determining the physical network condition using the monitoring session that is established between a source hypervisor associated with the source virtualized computing instance and a destination hypervisor associated with the destination virtualized computing instance.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the host is a destination host supporting the destination virtualized computing instance, and the method further comprises:

obtaining, from a network management entity, a source session network address that is configured for the source hypervisor and in a same subnet as the source network address.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the method further comprises:

establishing the monitoring session using the source session network address and a destination session network address that is configured for the destination hypervisor and in a same subnet as the destination network address.

12. The non-transitory computer-readable storage medium of claim 8 , wherein emulating the desired network condition comprises:

determining whether the desired network condition is emulatable; and

in response to determination that the desired network condition is emulatable, emulating the desired network condition, but otherwise, generating and sending a warning message to a network management entity.

13. The non-transitory computer-readable storage medium of claim 12 , wherein emulating the desired network condition comprises:

based on the physical network condition, determining the emulation action to emulate at least one of the following characteristics: delay, packet loss rate, packet reorder rate, packet duplication rate, bandwidth limitation, disconnection, packet corruption rate and jitter.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the host is a destination host supporting the destination virtualized computing instance, and the method further comprises:

prior to detecting the one or more packets, determining a source identifier that uniquely identifies the source virtualized computing instance, wherein the source identifier is a virtual network interface controller (VNIC) identifier or a Media Access Control (MAC) address of the source virtualized computing instance; and

sending, to a network management entity, a report message that includes the source identifier for the network management entity to translate the source identifier to the source network address.

15. A host configured to implement distributed network emulation in a virtualized computing environment, comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to:

detect one or more packets from a source network address associated with a source virtualized computing instance to a destination network address associated with a destination virtualized computing instance, wherein the source virtualized computing instance or destination virtualized computing instance is supported by the host; and

in response to determination that a network emulation rule configured for the source virtualized computing instance and destination virtualized computing instance is applicable to the one or more packets,

determine a physical network condition associated with a path between the source virtualized computing instance and destination virtualized computing instance using a monitoring session; and

based on a comparison of the physical network condition and a desired network condition specified by the network emulation rule, emulate the desired network condition by performing an emulation action on the one or more packets.

16. The host of claim 15 , wherein instructions for determining the physical network condition cause the processor to:

determine the physical network condition using the monitoring session that is established between a source hypervisor associated with the source virtualized computing instance and a destination hypervisor associated with the destination virtualized computing instance.

17. The host of claim 16 , wherein the host is a destination host supporting the destination virtualized computing instance, and the instructions further cause the processor to:

obtain, from a network management entity, a source session network address that is configured for the source hypervisor and in a same subnet as the source network address.

18. The host of claim 17 , wherein the instructions further cause the processor to:

establish the monitoring session using the source session network address and a destination session network address that is configured for the destination hypervisor and in a same subnet as the destination network address.

19. The host of claim 15 , wherein instructions for emulating the desired network condition cause the processor to:

determine whether the desired network condition is emulatable; and

in response to determination that the desired network condition is emulatable, emulate the desired network condition, but otherwise, generate and send a warning message to a network management entity.

20. The host of claim 19 , wherein instructions for emulating the desired network condition cause the processor to:

based on the physical network condition, determine the emulation action to emulate at least one of the following characteristics: delay, packet loss rate, packet reorder rate, packet duplication rate, bandwidth limitation, disconnection, packet corruption rate and jitter.

21. The host of claim 15 , wherein the host is a destination host supporting the destination virtualized computing instance, and the instructions further cause the processor to:

prior to detecting the one or more packets, determine a source identifier that uniquely identifies the source virtualized computing instance, wherein the source identifier is a virtual network interface controller (VNIC) identifier or a Media Access Control (MAC) address of the source virtualized computing instance; and

send, to a network management entity, a report message that includes the source identifier for the network management entity to translate the source identifier to the source network address.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2017
From: WANG, ZIYOU; WANG, HUA; SHEN, JIANJUN; HAN, DONGHAI
To: NICIRA, INC.
Reel/Frame 041550/0057 →
Cited By (1)
US 12,372,576