Virtual Machine Recording System for Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The large size of virtual machine snapshots, including sensitive data, makes it difficult to store and share recordings of execution behavior for debugging purposes, due to security and privacy concerns.

Innovation Solution

Record only the portions of memory accessed by the application during the recording session, storing the initial snapshot and logging changes in the application's address space, reducing the data needed for replay and minimizing exposure of sensitive information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complete snapshot of the virtual machine state is taken for recording, then the replay can accurately replicate execution behavior, but the recording size becomes very large making storage and sharing difficult

Engineering Contradiction:
Improvereplay accuracyVSAvoidrecording size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and records only the necessary portions of the virtual machine state - specifically the application process memory pages that are actually accessed during execution - rather than recording the complete VM snapshot. This is achieved by monitoring which memory pages are accessed by the application and recording only those pages along with the log of execution events, thereby reducing recording size while maintaining replay accuracy for debugging purposes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the virtual machine state into distinct components: application process memory pages, operating system memory pages, and device state. It then selectively records only the application process memory pages that are accessed during execution, separating the essential debugging information from the unnecessary data, thus reducing overall recording size while preserving replay capability.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a complete snapshot including hard disk drive state is taken, then all data is captured for replay, but sensitive information such as database files and personal information is exposed

Engineering Contradiction:
Improvedata completenessVSAvoidsecurity risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts only the application process memory pages that are relevant to debugging, excluding the operating system memory pages and device state that contain sensitive information such as database files and personal information. By recording only the necessary application-specific data, the patent maintains data completeness for replay purposes while eliminating security risks associated with exposing sensitive information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different recording quality levels to different parts of the virtual machine state: it records application process memory pages in detail (high quality) while excluding operating system memory pages and device state (low or zero quality). This local differentiation ensures that sensitive areas are not exposed while maintaining comprehensive coverage of the application-specific debugging information.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8656222B2Method and system for recording a selected computer process for subsequent replay
Publication Date: 2014.02.18 VMWARE INC
  • US8656222B2 patent drawing
  • US8656222B2 patent drawing
  • US8656222B2 patent drawing

AI summary

The execution behavior of a selected application is recorded for subsequent replay. During recording, only those portions of memory that are accessed by the selected application are stored. As a result, the amount of data that is stored during the recording session is reduced and data that is not necessary for replaying the selected application, which may include possible sensitive and personal information, are not stored.