Runtime Extension Package for Cross-Platform Native Code
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


