IP Library Granted Patent US 9,507,616
Granted Patent B1
US 9,507,616 · App. 14/749,606 · Granted Nov 29, 2016

Methods, systems, and computer readable media for emulating computer processing usage patterns on a virtual machine

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,507,616
App. No.
14/749,606
Granted
Nov 29, 2016
Kind
B1
Abstract

According to one aspect, the disclosed subject matter describes herein a method for emulating computer processing usage patterns on a virtual machine that includes generating a usage pattern specification based on a plurality of computer processing usage patterns provided by a user and receiving, by a virtual machine hosted by a device under test (DUT), the usage pattern specification containing the plurality of computer processing usage patterns. The method also includes generating a plurality of pattern instruction sequences using execution parameters included in each of the plurality of computer processing usage patterns and distributing each of the plurality of pattern instruction sequences among a plurality of virtual processing cores of the virtual machine. The method further includes emulating the operation of the application on the virtual machine by executing the pattern instruction sequences on the virtual processing cores in a manner specified by the execution parameters.

Claims (35)

1. A method for emulating computer processing usage patterns on a virtual machine, the method comprising:

generating a usage pattern specification based on a plurality of computer processing usage patterns provided by a user;

receiving, by a virtual machine hosted by a device under test (DUT), the usage pattern specification containing the plurality of computer processing usage patterns, wherein each of the plurality of computer processing usage patterns includes execution parameters associated with the execution of simulated actions of an application;

generating a plurality of pattern instruction sequences using the execution parameters included in each of the plurality of computer processing usage patterns;

distributing each of the plurality of pattern instruction sequences among a plurality of virtual processing cores of the virtual machine; and

emulating the operation of the application on the virtual machine by executing the pattern instruction sequences on the virtual processing cores in a manner specified by the execution parameters.

2. The method of claim 1 wherein the user selects one or more of the plurality of computer processing usage patterns from a plurality of stored pre-defined usage patterns.

3. The method of claim 1 wherein the user defines one or more of the plurality of computer processing usage patterns to generate a customized computer processing usage pattern.

4. The method of claim 1 wherein each of the plurality of computer processing usage patterns specifies actions executed by the application in response to user activity.

5. The method of claim 1 further comprising measuring a performance level of i) each of the virtual cores, ii) file input/output access, or iii) memory usage emulating the operation of the application.

6. The method of claim 1 wherein the execution parameters corresponding to each computer processing usage pattern includes at least one of i) a specified thread count for executing the computer processing usage pattern, ii) a number of processing cores to use to execute the computer processing usage pattern, iii) an indication whether to automatically scale the computer processing usage pattern to run on all of the virtual processing cores, iv) a number of instances to repeat the execution of the computer processing usage pattern, and v) a total amount of time to execute the computer processing usage pattern.

7. The method of claim 1 wherein the pattern instruction sequence specifies computer processing usage patterns representing activity generated by multiple pre-canned usage patterns operating across multiple servers.

8. A system for emulating computer processing usage patterns on a virtual machine, the system comprising:

a processing activity emulation machine configured to generate a computer processing usage specification based on a plurality of computer processing usage patterns provided by a user;

a device under test (DUT) that includes:

one or more virtual machines hosted by the DUT configured to receive the usage pattern specification containing the plurality of computer processing usage patterns, wherein each of the one or more virtual machines includes a usage pattern generation module comprising:

a pattern instruction sequence generation module configured to receive the usage pattern specification containing the plurality of computer processing usage patterns and to generate a plurality of pattern instruction sequences using execution parameters included in each of the plurality of computer processing usage patterns, wherein each of the plurality of computer processing usage patterns includes the execution parameters associated with the execution of simulated actions of an application; and

a pattern execution module configured to receive the plurality of pattern instruction sequences, to distribute each of the plurality of pattern instruction sequences among a plurality of virtual processing cores of the virtual machine, wherein the operation of the application is emulated on the virtual machine via the execution of the pattern instruction sequences on the virtual processing cores in a manner specified by the execution parameters.

9. The system of claim 8 wherein the user selects one or more of the plurality of computer processing usage patterns from a plurality of stored pre-defined usage patterns.

10. The system of claim 8 wherein the user defines one or more of the plurality of computer processing usage patterns to generate a customized computer processing usage pattern.

11. The system of claim 8 wherein each of the plurality of computer processing usage patterns specifies actions executed by the application in response to user activity.

12. The system of claim 8 wherein the processing activity emulator is further configured to measure a performance level of i) each of the virtual cores, ii) file input/output access, or iii) memory usage emulating the operation of the application.

13. The system of claim 8 wherein the execution parameters corresponding to each computer processing usage pattern includes at least one of i) a specified thread count for executing the computer processing usage pattern, ii) a number of processing cores to use to execute the computer processing usage pattern, iii) an indication whether to automatically scale the computer processing usage pattern to run on all of the virtual processing cores, iv) a number of instances to repeat the execution of the computer processing usage pattern, and v) a total amount of time to execute the computer processing usage pattern.

14. The system of claim 8 wherein the pattern instruction sequence specifies computer processing usage patterns representing activity generated by multiple pre-canned usage patterns operating across multiple servers.

15. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer cause the computer to perform steps comprising:

generating a usage pattern specification based on a plurality of computer processing usage patterns defined by a user;

receiving, by a virtual machine hosted by a device under test (DUT), the usage pattern specification containing the plurality of computer processing usage patterns, wherein each of the plurality of computer processing usage patterns includes execution parameters associated with the execution of simulated actions of an application;

generating a plurality of pattern instruction sequences using the execution parameters included in each of the plurality of computer processing usage patterns;

distributing each of the plurality of pattern instruction sequences among a plurality of virtual processing cores of the virtual machine; and

emulating the operation of the application on the virtual machine by executing the pattern instruction sequences on the virtual processing cores in a manner specified by the execution parameters.

16. The computer readable medium of claim 15 wherein the user selects one or more of the plurality of computer processing usage patterns from a plurality of stored pre-defined usage patterns.

17. The computer readable medium of claim 15 wherein the user defines one or more of the plurality of computer processing usage patterns to generate a customized computer processing usage pattern.

18. The computer readable medium of claim 15 wherein each of the plurality of computer processing usage patterns specifies actions executed by the application in response to user activity.

19. The computer readable medium of claim 15 further comprising measuring a performance level of i) each of the virtual cores, ii) file input/output access, or iii) memory usage emulating the operation of the application.

20. The computer readable medium of claim 15 wherein the pattern instruction sequence specifies computer processing usage patterns representing activity generated by pre-canned usage patterns profiles operating across multiple servers.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2015
From: RAMANATH, AVINASH; LVOV, SERGEY; PUCHIU, GHEORGHE MIHAI
To: IXIA
Reel/Frame 036298/0615 →