Runtime Type Verification Metadata Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing runtime type verification methods are inefficient as they require repeated examination of static and structural constraints during runtime, which can lead to performance issues and increased computational overhead.

Innovation Solution

The generation and use of verification metadata during an initial verification process, where a class loader verifies runtime types and stores constraints, allowing subsequent verifications to rely on stored metadata to confirm adherence to these constraints without re-examining the types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If runtime type verification repeatedly examines static and structural constraints during runtime, then verification accuracy is maintained, but computational overhead increases and performance decreases

Engineering Contradiction:
Improveverification accuracyVSAvoidruntime performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing verification of static and structural constraints during class loading phase before runtime execution. The class loader verifies constraints and generates verification metadata in advance, so that during runtime, the JVM can directly use the pre-verified metadata without re-examining constraints, thus maintaining verification accuracy while improving runtime performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating verification metadata that replicates the results of constraint verification. Instead of repeatedly examining original constraints during runtime, the system copies the verification results into metadata structures that can be quickly accessed and validated during runtime execution

Inventive Principle:
Principle #26Copying

2Manufacturing precision

If runtime type verification performs complete constraint checks during runtime, then verification thoroughness is ensured, but processing time increases

Engineering Contradiction:
Improveverification thoroughnessVSAvoidverification processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs complete constraint verification during the class loading phase before runtime execution. The class loader thoroughly checks static and structural constraints and stores the verification results in metadata, eliminating the need for repeated thorough checks during runtime and significantly reducing verification processing time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the verification process into two distinct phases: (1) class loading phase where complete constraint verification is performed, and (2) runtime phase where pre-verified metadata is used. This segmentation allows thorough verification to be performed once during loading while enabling fast verification during runtime

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10417024B2Generating verification metadata and verifying a runtime type based on verification metadata
Publication Date: 2019.09.17 ORACLE INT CORP
  • US10417024B2 patent drawing
  • US10417024B2 patent drawing
  • US10417024B2 patent drawing

AI summary

Operations include (a) receiving a request to verify a first runtime type loaded based on a first runtime type reference; (b) identifying verification metadata comprising a stored assignable relationship between a second runtime type reference and a third runtime type reference; (c) determining whether an actual assignable relationship between a second runtime type and a third runtime type adheres to the stored assignable relationship between the second runtime type reference and the third runtime type reference; and (d) responsive at least to determining that the actual assignable relationship adheres to the stored assignable relationship, determining that the first runtime type is verified based on the verification metadata.