Virtual Machine Processing Pattern Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

System administrators face challenges in simulating specific CPU and IO usage patterns on virtual machines to accurately assess processing needs and stress test network elements, as existing methods lack the capability to emulate real-world processing activities effectively.

Innovation Solution

A method and system for generating usage pattern specifications based on user-defined computer processing patterns, distributing pattern instruction sequences across virtual processing cores, and executing them to emulate application operations, allowing for customizable CPU, file I/O, and memory usage simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If specific CPU and IO usage patterns are simulated on virtual machines, then accurate assessment of processing needs and stress testing capability is improved, but existing methods lack the capability to emulate real-world processing activities effectively

Engineering Contradiction:
Improveaccuracy of processing needs assessmentVSAvoidcapability to emulate real-world processing activities
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates copies of real-world processing activities by capturing actual application execution patterns and reproducing them through synthesized usage patterns. The system monitors real application behavior, extracts usage patterns, and generates synthetic workloads that replicate the characteristics of actual processing activities, enabling accurate emulation without requiring the original applications to be present.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system transforms complex real-world processing activities into parameterized usage patterns by extracting key characteristics such as CPU utilization, I/O operations, and memory access patterns. These parameters are then used to generate synthesized workloads that can be configured and executed on virtual machines, allowing flexible adaptation to different scenarios while maintaining fidelity to original behavior.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple usage patterns are distributed across virtual processing cores, then stress testing coverage is improved, but system complexity increases

Engineering Contradiction:
Improvestress testing coverageVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the stress testing process into distinct segments: pattern generation, pattern distribution, and pattern execution. Each virtual processing core receives specific usage patterns tailored to its capabilities, and the system manages these segments independently. This segmentation allows comprehensive coverage across multiple cores while maintaining manageable system complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a universal usage pattern generation mechanism that can produce multiple types of workloads (CPU-intensive, I/O-intensive, memory-intensive) from a single framework. This multi-functional approach allows the same system to stress test various aspects of virtual machine performance simultaneously, improving productivity without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9507616B1Methods, systems, and computer readable media for emulating computer processing usage patterns on a virtual machine
Publication Date: 2016.11.29 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US9507616B1 patent drawing
  • US9507616B1 patent drawing
  • US9507616B1 patent drawing

AI summary

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.