Automatic Native Image Generation Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current managed platforms face difficulties in utilizing Native Generation (NGen) for creating and managing native images, as it requires complex custom actions and manual commands, and NGen images often become invalidated, necessitating frequent regeneration.

Innovation Solution

An automatic native generation service that monitors application libraries, determines when native generation is appropriate based on usage frequency or opt-in identifiers, and automatically regenerates native images when they become invalid, using load counters and heuristics to optimize the process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If manual NGen commands are used through custom installer actions, then native images can be generated, but the complexity of the system increases and ease of operation deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidsystem complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system automatically monitors application libraries and generates native images without requiring manual intervention through custom installer actions. The native generation service self-manages the entire process, eliminating the need for complex custom actions while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary monitoring and detection of when native generation is needed before actually generating the native images. By using load counters and usage frequency tracking, the system prepares and schedules native generation actions in advance, reducing operational complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If NGen images are regenerated manually each time they become invalid, then valid images are maintained, but time consumption increases and productivity decreases

Engineering Contradiction:
Improveimage validityVSAvoidregeneration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system continuously monitors the validity of native images through load counters and usage frequency tracking. When a native image becomes invalid or is rarely used, the feedback mechanism automatically triggers regeneration, ensuring reliable image validity while improving productivity through automated response.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The native generation service operates continuously in the background, monitoring library usage and automatically regenerating native images as needed. This continuous operation eliminates interruptions and manual interventions, maintaining image validity while maximizing system productivity.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If all application libraries are monitored for native generation, then appropriate images are generated, but the complexity of detection and measurement increases

Engineering Contradiction:
Improvemonitoring capabilityVSAvoiddetection complexity
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

Instead of uniformly monitoring all application libraries, the system applies local quality by selectively monitoring based on usage frequency and specific criteria. Libraries with higher usage frequency or marked with opt-in identifiers are prioritized for monitoring and native generation, reducing detection complexity while maintaining adaptability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses parameter changes such as load counters and usage frequency thresholds to determine which libraries warrant native generation. By dynamically adjusting monitoring parameters based on actual usage patterns, the system achieves adaptability without excessive detection complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8296742B2Automatic native generation
Publication Date: 2012.10.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8296742B2 patent drawing
  • US8296742B2 patent drawing
  • US8296742B2 patent drawing

AI summary

Various technologies and techniques are disclosed for automatically generating native images for a virtual machine environment. A virtual machine environment is provided where application libraries are distributed in an intermediate language format and then compiled at a later point in time. An automatic native generation service is provided that monitors the application libraries and generates a native image for a particular one or more of the application libraries when the service determines that native generation is appropriate. Invalid native images are automatically detected and re-generated. If a load attempt for a particular native image is unsuccessful, then the native image is determined to be invalid. The particular native image is then re-generated automatically.