Metadata-Driven API Command Control in Runtime Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for controlling API commands in runtime environments lack the necessary granularity, often restricting all API commands from a previous release, which can limit user flexibility and prevent timely access to new features until they are fully tested.

Innovation Solution

A computer-implemented method and system that uses metadata to instruct the processing of high-level language API commands, allowing for finer control by applying instructions such as allowing, restricting, or warning about the use of specific API commands, enabling translation into low-level code only after applying these instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all API commands from a previous release are restricted, then reliability is improved by preventing use of untested features, but adaptability deteriorates as users cannot access new features until fully tested

Engineering Contradiction:
Improvestability of runtime environmentVSAvoiduser flexibility in API command usage
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the control of API commands by introducing metadata that can be associated with individual API commands or groups of commands. This metadata enables selective control at a granular level, allowing the runtime environment to restrict specific untested commands while permitting others. The segmentation transforms the monolithic restriction approach into a fine-grained, command-specific control mechanism, resolving the contradiction between reliability and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic control of API command availability through metadata that can be configured and updated without changing the runtime environment itself. The metadata acts as a dynamic configuration layer that can enable or disable specific commands based on testing status, allowing the system to adapt its behavior over time while maintaining stability. This dynamic approach allows gradual introduction of new features as they are tested.

Inventive Principle:
Principle #15Dynamics

2Reliability

If API commands are restricted at the release level, then reliability is improved, but device complexity increases due to the need for version management

Engineering Contradiction:
Improvecontrolled deployment of API commandsVSAvoidcomplexity of command translation process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces metadata as an intermediary layer between the API commands and the translation process. This metadata acts as a mediator that carries control information without requiring changes to the runtime environment or the command translator's core logic. The intermediary approach simplifies the overall system by centralizing control information in a manageable format that can be processed during translation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies preliminary action by associating metadata with API commands before the translation process occurs. The metadata is prepared and attached to commands in advance, containing all necessary control information. During translation, the command translator simply reads and applies this pre-prepared metadata, avoiding the need for complex version management logic during the translation process itself.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If new API commands are made available immediately, then adaptability is improved, but reliability deteriorates due to potential use of untested features

Engineering Contradiction:
Improveuser access to new API commandsVSAvoidstability of runtime environment
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the set of API commands into those that are restricted and those that are permitted, based on metadata associations. This segmentation allows new commands to be individually evaluated and selectively enabled, rather than requiring all commands to be either fully restricted or fully available. The segmentation enables controlled adaptability where users can access specific new features that have been tested while maintaining protection for untested commands.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If granular control of individual API commands is implemented, then adaptability is improved, but device complexity increases due to metadata management

Engineering Contradiction:
Improvefine-grained control of API commandsVSAvoidcomplexity of metadata processing
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The metadata serves as an intermediary structure that manages the complexity of granular control. Rather than requiring the command translator to implement complex control logic for each individual command, the metadata encapsulates all control information in a standardized format. This intermediary approach reduces the complexity burden on the translation process while enabling fine-grained control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10956232B2Instructing the use of application programming interface commands in a runtime environment
Publication Date: 2021.03.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10956232B2 patent drawing
  • US10956232B2 patent drawing
  • US10956232B2 patent drawing

AI summary

A method, computer system, and a computer program product for instructing the use of application programming interface (API) commands in a runtime environment is provided. The present invention may include receiving, by a computer processor, a source code with a high level language API command. The present invention may include accessing, by a computer processor, metadata for the source code and determining whether the metadata includes an instruction to be applied to the high level language API command, and applying, by a computer processor, the instruction to the high level language API command. The present invention may include processing, by a computer processor, the high level language API command to a low level code using a command translator, wherein the processing occurs after the applying the instruction.