ACPI Table Inconsistency Detection in Virtualized Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualized computer systems face challenges in detecting substantive inconsistencies in Advanced Configuration and Power Interface (ACPI) tables between host and guest firmware without triggering false alarms due to compiler version differences or temporary variable name variations.

Innovation Solution

A system and method that decompiles binaries representing ACPI tables to compare strings of symbols, generating a signal for inconsistency only if differences are unrelated to compiler versions or temporary variable names, using a system table consistency monitor, reverse compilers, and a difference tool to ensure accurate detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If binary comparison of ACPI tables is performed to detect inconsistencies, then detection capability is improved, but false alarms increase due to compiler version differences and temporary variable name variations

Engineering Contradiction:
Improveinconsistency detection accuracyVSAvoidfalse alarm rate
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent segments the binary comparison process into multiple stages: decompiling binaries to symbolic representations, normalizing the symbolic representations by resolving compiler version differences and temporary variable names, and then performing comparison. This segmentation allows the system to distinguish between substantive inconsistencies and superficial differences caused by compilation variations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary normalization layer between the raw binary comparison and the final inconsistency detection. This intermediary process uses reverse compilers and symbol resolution mechanisms to transform binary representations into normalized symbolic forms, filtering out false differences before final comparison.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive comparison of ACPI tables is performed, then detection thoroughness is improved, but system complexity increases

Engineering Contradiction:
Improvedetection thoroughnessVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal comparison framework that can handle multiple types of inconsistencies in ACPI tables through a single unified process. The same decompilation, normalization, and comparison mechanisms work for various inconsistency types (device properties, checksums, etc.), reducing the need for multiple specialized detection systems.

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

Solution Approach 2:

The patent uses reverse compilers to create symbolic copies of the binary ACPI tables, allowing comparison to be performed on the symbolic representations rather than the original binaries. This copying approach simplifies the comparison process by working with more manageable symbolic data structures.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9483297B2Intelligent detection of inconsistent advanced configuration and power interface (ACPI) table instances in virtualized systems
Publication Date: 2016.11.01 RED HAT ISRAEL
  • US9483297B2 patent drawing
  • US9483297B2 patent drawing
  • US9483297B2 patent drawing

AI summary

A system and methods are disclosed for detecting inconsistent instances of a system table in a virtualized computer system. In accordance with one embodiment, a processing device decompiles a first binary representing a first instance of a system table, to obtain a first string of symbols. The processing device also decompiles a second binary representing a second instance of the system table that is associated with guest firmware of a first virtual machine, to obtain a second string of symbols. When there is a difference between the first string of symbols and the second string of symbols and the difference is unrelated to a compiler version and a temporary variable name, a signal indicating an inconsistency between the first instance and the second instance is generated.