Intermediate Language File Reload Verification for Faster Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face inefficiencies in loading speed and code protection for intermediate language files, particularly due to the need to constantly recreate and decrypt optimization files, which slows down application execution and makes them vulnerable to forgery.

Innovation Solution

A method and system that generate a changed optimization file, store verification information, and determine if the intermediate language file has changed upon reloading, allowing for the reuse or recreation of the optimization file based on these changes, thereby enhancing loading speed and protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If optimization files are recreated every time an application is executed to ensure code protection, then code security is improved, but loading speed deteriorates

Engineering Contradiction:
Improvecode securityVSAvoidloading speed
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary verification by storing and comparing verification information (hash values) of intermediate language files before execution. This allows the system to determine in advance whether optimization files need to be recreated, avoiding unnecessary recreation operations and reducing loading time while maintaining code security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses the intermediate language file itself to generate verification information that determines whether its own optimization file should be recreated. This self-verification mechanism eliminates the need for external security checks while maintaining code protection, thereby improving loading speed without compromising security.

Inventive Principle:
Principle #25Self-service

2Loss of time

If optimization files are reused to improve loading speed, then loading speed is improved, but code protection deteriorates

Engineering Contradiction:
Improveloading speedVSAvoidcode protection
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements a feedback mechanism where verification information from the intermediate language file is continuously compared against stored verification information. This feedback loop ensures that optimization files are only reused when the intermediate language file has not been tampered with, maintaining code protection while enabling performance optimization through file reuse.

Inventive Principle:
Principle #23Feedback

3Reliability

If decryption operations are performed every time an intermediate language file is loaded to ensure security, then code protection is improved, but processing time increases

Engineering Contradiction:
Improvecode protectionVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The system performs decryption and verification operations preliminarily during the file loading phase rather than during execution. By generating and storing verification information in advance, the system avoids repeated decryption operations, reducing processing time while maintaining security through the stored verification data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10379886B2Method and system for enhancing loading speed of intermediate language file
Publication Date: 2019.08.13 LY CORP
  • US10379886B2 patent drawing
  • US10379886B2 patent drawing
  • US10379886B2 patent drawing

AI summary

A non-transitory computer-readable medium stores computer-executable instructions that, when executed by a computer, cause the computer to perform operations including generating a changed optimization file by changing an original optimization file, the original optimization file being an optimization file created at a point in time at which an intermediate language file for an application is loaded; storing the changed optimization file; creating and storing verification information for verifying whether the intermediate language file is changed; determining whether the intermediate language file is changed based on the stored verification information in response to reloading of the intermediate language file; and creating a new optimization file by deleting the changed optimization file or recovering the original optimization file based on the changed optimization file and reusing the original optimization file, based on whether the intermediate language file is changed.