IP Library Granted Patent US 9,785,527
Granted Patent B2
US 9,785,527 · App. 14/224,024 · Granted Oct 10, 2017

Methods, systems, and computer readable media for emulating virtualization resources

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,785,527
App. No.
14/224,024
Granted
Oct 10, 2017
Kind
B2
Abstract

Methods, systems, and computer readable media for emulating virtualization resources are disclosed. According to one method, the method occurs at a computing platform. The method includes receiving a message associated with a device under test (DUT) and in response to receiving the message, performing an action associated with at least one of an emulated hypervisor and an emulated virtual machine (VM).

Claims (37)

1. A method for emulating virtualization resources, the method comprising:

at a computing platform configured to emulate a hypervisor by responding to hypervisor directed messages, wherein the emulated hypervisor lacks functionality for executing VMs:

receiving a message from a device under test (DUT) for creating a virtual machine (VM);

in response to receiving the message, performing an action associated with the emulated hypervisor or an emulated VM, wherein performing the action associated with the emulated hypervisor or the emulated VM includes emulating the VM by creating an entry in a VM state data structure for representing emulated VMs associated with the emulated hypervisor, wherein the entry includes a VM identifier, a VM operating system identifier, a hypervisor identifier, and state information indicating that the VM has been created, and responding to the message using the state information indicating that the VM has been created, wherein the emulated VM is a non-executing data representation of the VM, wherein the computing platform uses or modifies the entry in the VM state data structure when responding to a subsequent message directed to the emulated VM.

2. The method of claim 1 wherein performing the action includes sending a response message, monitoring performance of the DUT, creating the emulated VM, powering up the emulated VM, powering down the emulated VM, modifying state information associated with the emulated hypervisor or the emulated VM, deleting state information associated with the emulated hypervisor or the emulated VM, adding state information associated with the emulated hypervisor or the emulated VM, emulating a communications protocol associated with the DUT, emulating traffic associated with the emulated hypervisor or the emulated VM, emulating a virtual networking component or instantiating a virtual networking component.

3. The method of claim 1 wherein the computing platform is configured to emulate network interfaces, network traffic, protocols, applications executing on the emulated VM, or applications executing on the emulated hypervisor.

4. The method of claim 1 wherein the computing platform is configured to emulate an overlay tunnel associated with the emulated hypervisor and to add header information associated with the overlay tunnel to one or more packets transmitted from or to the computing platform.

5. The method of claim 1 wherein the DUT includes a router, a network switch, a hypervisor controller, a data center manager, or a network controller.

6. The method of claim 1 wherein the message is for moving or migrating the emulated VM from the emulated hypervisor to a second emulated hypervisor.

7. The method of claim 6 wherein performing the action includes:

updating state information associated with the emulated VM in a data structure maintained by the computing platform to indicate that the emulated VM is moving to the second emulated hypervisor,

sending at least one message for moving the emulated VM from a first interface associated with the emulated hypervisor to a second interface associated with the second emulated hypervisor,

updating the state information associated with the emulated VM to indicate that the emulated VM is associated with the second emulated hypervisor, and

stopping traffic associated with the emulated VM sent via the first interface associated with the emulated hypervisor.

8. The method of claim 1 wherein the computing platform is configured to maintain state information associated with the emulated VM or the emulated hypervisor in a data structure such that the computing platform is capable of responding to the messages with appropriate state information.

9. The method of claim 1 wherein the state information associated with the emulated VM or the emulated hypervisor includes information about the emulated VM, information about the emulated hypervisor associated with the emulated VM, information about a previous emulated hypervisor associated with the emulated VM, information about an emulated application executing on the emulated VM, information about an emulated protocol associated with the emulated VM, information about an emulated operating system associated with the emulated VM, information about an operating status associated with the emulated VM, information about the emulated hypervisor, information about a plurality of emulated VMs associated with the emulated hypervisor, information about an emulated application executing on the emulated hypervisor, information about an emulated protocol associated with the emulated hypervisor, information about an emulated operating system associated with the emulated hypervisor, or information about an operating status associated with the emulated hypervisor.

10. A system for emulating virtualization resources, the system comprising:

a computing platform comprising:

at least one processor; and

a memory, wherein the computing platform is configured to emulate a hypervisor by responding to hypervisor directed messages, wherein the emulated hypervisor lacks functionality for executing VMs, wherein the computing platform is configured to receive a message from a device under test (DUT) for creating a virtual machine (VM) and to perform, in response to receiving the message, an action associated with at least one of the emulated hypervisor and an emulated VM, wherein performing the action associated with the emulated hypervisor or the emulated VM includes emulating the VM by creating an entry in a VM state data structure for representing emulated VMs associated with the emulated hypervisor, wherein the entry includes a VM identifier, a VM operating system identifier, a hypervisor identifier, and state information indicating that the VM has been created, and responding to the message using the state information indicating that the VM has been created, wherein the emulated VM is a non-executing data representation of the VM, wherein the computing platform uses or modifies the entry in the VM state data structure when responding to a subsequent message directed to the emulated VM.

11. The system of claim 10 wherein the computing platform is configured to send a response message, monitoring performance of the DUT, create the emulated VM, power up the emulated VM, power down the emulated VM, modify state information associated with the emulated hypervisor or the emulated VM, delete state information associated with the emulated hypervisor or the emulated VM, add state information associated with the emulated hypervisor or the emulated VM, emulate a communications protocol associated with the DUT, emulate traffic associated with the emulated hypervisor or the emulated VM, emulate a virtual networking component, or instantiate a virtual networking component.

12. The system of claim 10 wherein the computing platform is configured to emulate network interfaces, network traffic, protocols, applications executing on the emulated VM, or applications executing on the emulated hypervisor.

13. The system of claim 10 wherein the computing platform is configured to emulate an overlay tunnel associated with the emulated hypervisor.

14. The system of claim 13 wherein the computing platform is configured to add header information associated with the overlay tunnel to one or more packets transmitted from or to the computing platform.

15. The system of claim 10 wherein the DUT includes a router, a network switch, a hypervisor controller, a data center manager, or a network controller.

16. The system of claim 10 wherein the message is for moving or migrating the emulated VM from the emulated hypervisor to a second emulated hypervisor.

17. The system of claim 16 wherein the computing platform is configured to performing the action by:

updating state information associated with the emulated VM in a data structure maintained by the computing platform to indicate that the emulated VM is moving to the second emulated hypervisor,

sending at least one message for moving the emulated VM from a first interface associated with the emulated hypervisor to a second interface associated with the second emulated hypervisor,

updating the state information associated with the emulated VM to indicate that the emulated VM is associated with the second emulated hypervisor, and

stopping traffic associated with the emulated VM sent via the first interface associated with the emulated hypervisor.

18. The system of claim 10 wherein the computing platform is configured to maintain state information associated with the emulated VM or the emulated hypervisor in a data structure such that the computing platform is capable of responding to the messages with appropriate state information.

19. The system of claim 10 wherein the state information associated with the emulated VM or the emulated hypervisor includes information about the emulated VM, information about the emulated hypervisor associated with the emulated VM, information about a previous emulated hypervisor associated with the emulated VM information about an emulated application executing on the emulated VM, information about an emulated protocol associated with the emulated VM, information about an emulated operating system associated with the emulated VM, information about an operating status associated with the emulated VM, information about the emulated hypervisor, information about a plurality of emulated VMs associated with the emulated hypervisor, information about an emulated application executing on the emulated hypervisor, information about an emulated protocol associated with the hypervisor, information about an emulated operating system associated with the emulated hypervisor, or information about an operating status associated with the emulated hypervisor.

20. A non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by a processor of a computer perform steps comprising:

at a computing platform configured to emulate a hypervisor by responding to hypervisor directed messages, wherein the emulated hypervisor lacks functionality for executing VMs:

receiving a message from a device under test (DUT) for creating a virtual machine (VM);

in response to receiving the message, performing an action associated with the emulated hypervisor or an emulated VM, wherein performing the action associated with the emulated hypervisor or the emulated VM includes emulating the VM by creating an entry in a VM state data structure for representing emulated VMs associated with the emulated hypervisor, wherein the entry includes a VM identifier, a VM operating system identifier, a hypervisor identifier, and state information indicating that the VM has been created, and responding to the message using the state information indicating that the VM has been created, wherein the emulated VM is a non-executing data representation of the VM, wherein the computing platform uses or modifies the entry in the VM state data structure when responding to a subsequent message directed to the emulated VM.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
SECURITY INTEREST Recorded Mar 3, 2015
From: IXIA; ANUE SYSTEMS, INC.; BREAKINGPOINT SYSTEMS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 035121/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2014
From: REGEV, ALON; ARORA, DEEPESH; DUDHWALA, TOSHAL; MAJUMDER, ANIRBAN
To: IXIA
Reel/Frame 033685/0838 →