Virtual Machine Replay Recording Abstraction and Data Redaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional record-replay solutions in virtual machine platforms face challenges in selecting the appropriate abstraction level and security concerns due to the inclusion of confidential data, limiting their usefulness for debugging and error reproduction.

Innovation Solution

A method for generating a replay file that involves reading replay data from a log file, configuring a machine to replay executable instructions, determining if data objects are tainted, and redacting sensitive information to create a filtered output for targeted replay, allowing for arbitrary filtering and private data redaction without performance loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complete virtual machine state is recorded including all memory and device state, then replay accuracy is improved, but data security and privacy are compromised due to inclusion of confidential information

Engineering Contradiction:
Improvereplay accuracyVSAvoiddata security risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the virtual machine state into multiple abstraction levels (instruction level, system call level, application level) and selectively records only the necessary segments for the intended replay purpose. This allows accurate replay of specific behaviors without capturing unnecessary confidential data, thus resolving the contradiction between replay accuracy and data security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and removes tainted or confidential data from the recorded state through a redaction process. By identifying and extracting only the essential execution behavior while taking out sensitive information, the system maintains replay accuracy for debugging purposes while eliminating security risks associated with confidential data exposure.

Inventive Principle:
Principle #2Taking out (Extraction)

2Manufacturing precision

If comprehensive recording is performed at low abstraction level, then replay detail is improved, but recording time and storage requirements increase

Engineering Contradiction:
Improvereplay detailVSAvoidrecording time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements dynamic abstraction level selection that adapts to the specific replay needs. Instead of always recording at the most detailed level, the system dynamically chooses the appropriate abstraction level based on the intended use case, thereby reducing unnecessary recording overhead while maintaining sufficient replay detail when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different recording qualities to different parts of the virtual machine state based on their importance. Critical execution paths are recorded with high detail at appropriate abstraction levels, while less important areas use lower detail levels, optimizing the balance between replay detail and recording efficiency.

Inventive Principle:
Principle #3Local quality

3Object-affected harmful factors

If recording is performed at high abstraction level, then security and privacy are improved by excluding confidential data, but replay detail and debugging capability are reduced

Engineering Contradiction:
Improvedata securityVSAvoiddebugging capability
Core Design Contradiction:
Object-affected harmful factorsVSManufacturing precision

Solution Approach 1:

The patent segments debugging needs into different abstraction levels and allows selective replay at the appropriate level. For sensitive areas where security is paramount, higher abstraction levels are used that exclude confidential data. For critical debugging areas requiring detail, lower abstraction levels provide necessary granularity without exposing unnecessary sensitive information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary redaction layer that sits between the complete VM state and the recorded output. This intermediary selectively filters and redacts confidential data while preserving essential execution behavior, enabling both security protection and adequate debugging capability simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If all state changes are recorded for complete replay accuracy, then replay reliability is improved, but file size and processing overhead increase

Engineering Contradiction:
Improvereplay reliabilityVSAvoidrecording data volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and records only the essential state changes needed for reliable replay at the chosen abstraction level. By taking out and recording only the critical execution behavior and state transitions necessary for the intended replay purpose, the system maintains replay reliability while significantly reducing the volume of recorded data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial recording by capturing only the necessary portion of state changes required for accurate replay. Instead of recording all possible state changes, it selectively records those that are essential for reproducing the intended execution behavior, reducing data volume while maintaining sufficient replay reliability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9063766B2System and method of manipulating virtual machine recordings for high-level execution and replay
Publication Date: 2015.06.23 VMWARE INC
  • US9063766B2 patent drawing
  • US9063766B2 patent drawing
  • US9063766B2 patent drawing

AI summary

Execution behavior for processes within a virtual machine is recorded for subsequent replay. The execution behavior comprises a detailed, low-level recording of state changes for processes within the virtual machine. The low-level recording is processed via replay to produce a sliced recording that conforms to time, abstraction, and security requirements for a specific replay scenario. Multiple stages of replay may be arbitrarily stacked to generate different crosscut versions of a common low-level recording.