Runtime Metadata Subsystem for Dynamic API Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing metadata management systems in software development are limited in their ability to dynamically associate and retrieve metadata at runtime, as they can only include information known or calculable at compile time, which restricts the flexibility and richness of tooling experiences.

Innovation Solution

A metadata subsystem that allows dynamic metadata association with program elements using a programming interface (API) that enables metadata to be specified and managed at runtime, including parameters for scope, recursion, and behavior modification, enabling metadata to be set and retrieved based on runtime state and behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If metadata is included only at compile time, then compilation efficiency is maintained, but runtime flexibility and metadata richness are limited

Engineering Contradiction:
Improveruntime metadata flexibilityVSAvoidmetadata management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic metadata management by allowing metadata to be associated with program elements at runtime through an API, rather than being static at compile time. The runtime system maintains metadata associations in memory, enabling dynamic addition, modification, and retrieval of metadata during program execution, which resolves the contradiction between runtime flexibility and system complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a metadata subsystem as an intermediary layer between the program code and the runtime system. This subsystem provides standardized API functions for metadata management, shielding users from the underlying complexity while enabling rich runtime metadata operations. The intermediary handles metadata storage, retrieval, and management operations, resolving the contradiction by abstracting complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If dynamic metadata API is introduced, then runtime metadata flexibility is improved, but system complexity increases

Engineering Contradiction:
Improvemetadata configurabilityVSAvoidsubsystem structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal metadata subsystem that handles multiple metadata operations through a unified API interface. The same subsystem structure supports various metadata types, scope levels (function, module, program), and operations (set, get, delete, iterate), reducing overall system complexity through consolidation while providing comprehensive runtime metadata flexibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments metadata management into distinct operational components within the API: metadata association functions, retrieval functions, and scope management functions. Each segment handles specific aspects of metadata management independently, making the overall system more manageable and less complex while providing comprehensive functionality.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If metadata is discarded after compilation, then memory usage is optimized, but metadata retrieval capability is lost

Engineering Contradiction:
Improvemetadata availabilityVSAvoidmemory consumption
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The runtime system provides self-service metadata management by automatically maintaining metadata associations in memory during program execution. The metadata subsystem actively manages its own data structures, handling association and retrieval operations without external intervention, thus preserving metadata availability while managing memory consumption through efficient data structures and selective retention.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2885712B1Imperative attribution for elements in managed runtimes
Publication Date: 2021.09.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2885712B1 patent drawingFigure 1
  • EP2885712B1 patent drawingFigure 2
  • EP2885712B1 patent drawingFigure 3

AI summary

Aspects of the subject matter described herein relate to imperative attribution. In aspects, metadata of a managed runtime environment may be set by imperative statements included in code of a program executing in the managed runtime environment. The metadata may be associated with lookup data that identifies the metadata. The lookup data may be formed from an identifier supplied by an imperative statement and an identifier of a logical element which may be explicitly or implicitly supplied. The metadata may be computed at parse time, run time, or another time and may be computed based on state available to a managed runtime environment at the time the metadata is computed.