Hypervisor Interrupt Routing Across Virtual Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for managing interrupts in virtual environments are inefficient, leading to wasted processing time and resource utilization due to improper prioritization and handling of interrupts across multiple virtual processors.

Innovation Solution

A hypervisor system that prioritizes and queues interrupts based on their priority and the current load of virtual processors, ensuring that interrupts are delivered efficiently to the appropriate virtual processor, reducing unnecessary notifications and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If interrupts are delivered to virtual processors without prioritization, then delivery speed is improved, but processing efficiency deteriorates due to improper prioritization and resource waste

Engineering Contradiction:
Improveinterrupt delivery speedVSAvoidprocessing efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements dynamic interrupt prioritization where the hypervisor continuously monitors virtual processor states and adjusts interrupt delivery decisions in real-time. The interrupt controller dynamically determines which virtual processor should receive each interrupt based on current system conditions, virtual processor availability, and interrupt importance, rather than using static assignment rules.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor acts as an intermediary layer between the interrupt controller and virtual processors. It receives interrupts from the controller, evaluates the current state of virtual processors, and intelligently routes interrupts to the most appropriate processor. This mediation enables optimized interrupt distribution that balances speed and processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If interrupts are delivered to all virtual processors, then reliability of interrupt handling is improved, but resource utilization deteriorates due to unnecessary notifications

Engineering Contradiction:
Improveinterrupt handling reliabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the necessary interrupt notifications from the set of all possible virtual processors. The hypervisor identifies and selects only those virtual processors that are currently capable and appropriate for handling specific interrupts, filtering out processors that would not benefit from receiving the interrupt. This selective approach maintains reliability while eliminating wasteful resource usage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the parameter of interrupt delivery from a static 'deliver to all' approach to a dynamic 'deliver to selected' approach. The hypervisor modifies delivery parameters based on virtual processor states, interrupt priorities, and system load conditions, enabling reliable interrupt handling with optimized resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If interrupt prioritization is implemented, then processing efficiency is improved, but device complexity increases due to hypervisor management overhead

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidhypervisor management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where virtual processors periodically report their own state and readiness to handle interrupts. The hypervisor leverages this self-reported information to make prioritization decisions, reducing the complexity of centralized monitoring while maintaining efficient interrupt distribution.

Inventive Principle:
Principle #25Self-service

4Productivity

If interrupt queuing is implemented, then processing efficiency is improved, but loss of time increases due to interrupt waiting in queue

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinterrupt waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The hypervisor performs preliminary actions by pre-evaluating virtual processor states and pre-positioning interrupts in optimized queues. When a virtual processor becomes available, the hypervisor can immediately deliver the next appropriate interrupt from the pre-prepared queue, minimizing actual waiting time while maintaining efficient processing through advance preparation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3685262B1Hypervisor managing interrupts in a virtual environment having a plurality of virtual processors
Publication Date: 2025.12.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3685262B1 patent drawingFigure 1
  • EP3685262B1 patent drawingFigure 2
  • EP3685262B1 patent drawingFigure 3

AI summary

This disclosure generally relates to enabling a hypervisor of a host machine to provide virtual interrupts to select virtual processors or a set of virtual processors. More specifically, the present disclosure describes how interrupts may be provided to targeted virtual processors, regardless of where the virtual processors are currently executing. That is, when an interrupt is received, the interrupt may be delivered to a specified virtual processor regardless of which logical processor is currently hosting the virtual processor.