Native Image Validation via Auxiliary File Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing native image validation methods are costly in terms of system resources and time, as they often require opening multiple files and accessing the system registry, especially when validating large programs or programs across different hardware platforms.

Innovation Solution

A lightweight validation method is introduced that creates an auxiliary file during native image generation, which includes identifiers such as a last modified timestamp, module version identifier, and strong name hash, allowing for validation without accessing the native image or system registry, and employing a sequence of identifiers based on increasing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional native image validation methods are used (accessing system registry and multiple files), then validation reliability is maintained, but processing time and system resource utilization increase significantly

Engineering Contradiction:
Improvevalidation reliabilityVSAvoidvalidation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing validation identifiers (hashes, checksums, version information) in an auxiliary file during the native image generation process. This allows validation to be performed by simply comparing these pre-stored identifiers against the current assembly identifiers, eliminating the need for time-consuming registry access and file operations during validation, thus resolving the contradiction between maintaining reliability and reducing processing time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating an auxiliary file that contains copies of essential validation information (identifiers, hashes, version data) from the original assembly and build process. This copied information serves as a lightweight validation reference that can be quickly compared without accessing the original complex system registry or source files, thereby reducing validation time while maintaining accuracy

Inventive Principle:
Principle #26Copying

2Reliability

If traditional native image validation methods are used (accessing system registry and multiple files), then validation completeness is ensured, but system resource utilization (CPU, memory, I/O) increases

Engineering Contradiction:
Improvevalidation completenessVSAvoidsystem resource utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies extraction by isolating and extracting only the essential validation information (identifiers, hashes, version data) from the complex build environment and storing it in a dedicated auxiliary file. This extracted subset of information is sufficient for validation purposes and eliminates the need to access and process numerous other files and registry entries, thereby reducing system resource utilization while maintaining validation completeness

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The auxiliary file serves as a lightweight, disposable validation artifact that contains minimal necessary information. It is created once during build and used for multiple quick validation checks without requiring the system to maintain or access heavier, more persistent system registry structures, thus reducing ongoing system resource demands

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If multiple identifiers are validated in sequence based on increasing resource utilization, then validation efficiency improves, but the complexity of the validation process increases

Engineering Contradiction:
Improvevalidation efficiencyVSAvoidvalidation process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing validation into multiple stages using different identifiers with increasing validation strength but also increasing resource requirements. The process starts with simple, fast comparisons (e.g., file timestamps, basic version strings) and only proceeds to more resource-intensive validations (e.g., full hash comparisons, detailed metadata verification) if needed. This segmented approach improves overall efficiency by quickly handling most cases with minimal resources while maintaining the option for thorough validation when necessary

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9584877B2Light-weight validation of native images
Publication Date: 2017.02.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9584877B2 patent drawing
  • US9584877B2 patent drawing
  • US9584877B2 patent drawing

AI summary

One or more identifiers that facilitate efficient native image validation can be generated and stored in an auxiliary file upon pre-compiling of an assembly. The native image can be validated against an assembly from which the native image is generated, among other files that influence the generated contents of the native image, based upon the auxiliary file and included identifiers. Additionally, native image validation can be performed in an increasing cost sequence associated with each identifier included within the auxiliary file.