Boot Sequence Probing via Code Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques cannot dynamically probe the boot sequence of a computer system, which is essential for troubleshooting and performance analysis, especially during booting processes like hard and soft resets, network booting, and resume from hibernate.

Innovation Solution

Instrumenting probes into the boot sequence of a computer system, enabling the injection of executable code during the boot process to collect and analyze data, allowing for the probing of both virtualized and non-virtualized systems across various booting types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional probing techniques (DTrace, VProbes) are used, then system performance can be monitored during normal operation, but the boot sequence cannot be probed dynamically

Engineering Contradiction:
Improveprobing capabilityVSAvoidboot sequence analysis
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent instruments probes into the boot sequence before the system boots, by embedding probe code in the boot device's storage location. This preliminary action enables the system to capture boot sequence data during the actual boot process, rather than attempting to probe after booting is complete or relying on post-mortem analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a probe instrumentation system that sits between the boot device and the system software. This intermediary captures and records boot sequence events without preventing the boot process from completing, allowing dynamic observation of the boot sequence while maintaining system functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If probes are instrumented into the boot sequence by injecting executable code, then dynamic probing capability is achieved, but system complexity increases

Engineering Contradiction:
Improvedynamic probing capabilityVSAvoidboot sequence instrumentation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the probing functionality into distinct components: probe definition (user specifies what to probe), probe compilation (conversion to byte code), probe injection (embedding in boot sequence), and probe execution (data collection during boot). This segmentation allows each component to be optimized independently and simplifies the overall system architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses byte code as an intermediary representation that can be compiled from probe definitions and then injected into the boot sequence. This copying approach allows the same probe logic to be reused across different boot scenarios without requiring separate instrumentation for each case, reducing overall complexity.

Inventive Principle:
Principle #26Copying

3Ease of operation

If probing is enabled by writing a value to a predetermined storage location, then easy activation is achieved, but there is a risk of false activation or security issues

Engineering Contradiction:
Improveprobing activationVSAvoidprobing activation control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent uses a predetermined storage location that serves multiple functions: it acts as both the boot device's normal data storage and as the activation flag for probe instrumentation. By checking this location during boot, the system can determine whether probing should be enabled without requiring separate control mechanisms, simplifying operation while maintaining reliability through the boot process's existing trust boundaries.

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

Data Source

PatentUS8996853B2Probing the boot sequence of a computer system
Publication Date: 2015.03.31 VMWARE INC
  • US8996853B2 patent drawing
  • US8996853B2 patent drawing
  • US8996853B2 patent drawing

AI summary

Probes are instrumented into a boot sequence of a computer system to enable probing of the boot sequence. As part of the boot sequence, a value stored in a predetermined storage location within a boot device is read and, if the value indicates that probing of the boot sequence has been enabled, executable code for probing the boot sequence is injected into the boot sequence. Outputs of the probing during the boot process are collected into a buffer and analyzed after the completion of the boot process.