Runtime Extension Package for Cross-Platform Native Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cross-platform managed code environments face challenges in supporting native program code extensions, as third-party developers need to create multiple versions of extensions for different computing platforms, leading to increased complexity and workflow inefficiencies.

Innovation Solution

A method that includes obtaining a package of information defining an extension to an application program interface (API) with native program code and descriptors, determining the target computing platform, and generating an installable package or providing notifications based on platform support, using either runtime code or native code depending on platform specification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple versions of extensions are created for different computing platforms, then platform compatibility is improved, but device complexity and development workflow complexity increase

Engineering Contradiction:
Improveplatform compatibilityVSAvoidextension management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple platform-specific extension versions into a single extension package that contains descriptors identifying supported computing platforms. The runtime environment automatically selects the appropriate native code version based on the detected platform, eliminating the need for developers to manually manage multiple versions while maintaining broad platform compatibility.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a runtime extension mechanism as an intermediary between the application code and native platform-specific code. This intermediary layer handles platform detection and automatic selection of appropriate native code versions, shielding developers from platform complexity while ensuring compatibility across multiple platforms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple versions of extensions are created for different computing platforms, then platform compatibility is improved, but development time and workflow efficiency deteriorate

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent combines multiple platform-specific implementations into a single extension package with platform descriptors. Developers create one extension rather than multiple versions, and the runtime automatically handles platform-specific selection, dramatically reducing development time while maintaining support for multiple computing platforms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs platform detection and extension version selection in advance during the extension packaging phase, rather than requiring developers to manually configure different versions for each platform. The descriptors pre-identify supported platforms, and the runtime automatically matches the appropriate version during deployment, streamlining the development workflow.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If native code extensions are allowed, then functionality and performance are improved, but safety and reliability worsen due to dangerous native code calls

Engineering Contradiction:
Improveextension functionalityVSAvoidcode safety
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a runtime extension mechanism as a safety intermediary between application code and native platform-specific code. This intermediary layer validates and controls native code execution, allowing powerful native functionality while maintaining safety through structured interaction protocols and platform verification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies different quality controls to different parts of the extension system. Platform descriptors and metadata are rigorously validated for safety and compatibility, while the actual native code execution is controlled through the runtime's security model. This localized quality approach enables powerful native functionality while maintaining overall system reliability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8694988B2Runtime extensions
Publication Date: 2014.04.08 ADOBE INC
  • US8694988B2 patent drawing
  • US8694988B2 patent drawing
  • US8694988B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, provide a technique for supporting native program code extensions for managed code environments. In one aspect, a method includes the actions of: obtaining a package of information defining an extension to an application program interface of a runtime, the package of information including native program code and descriptors that identify different computing platforms supported by the extension; obtaining a declaration of a target computing platform for an application program that employs the extension; comparing the declaration of the target computing platform for the application program with the descriptors that identify the different computing platforms supported by the extension; if the target computing platform is supported by the extension, generating an installable package for the application program; and if the target computing platform is not supported by the extension, providing a notification corresponding thereto.