Flexible Metadata Composition for Dynamic Type Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in abstracting type resolution between multiple type systems, requiring manual wrapper code or hardcoded paths to access APIs, which breaks when file or namespace locations change, leading to unintentional coupling and potential application failures.

Innovation Solution

The solution abstracts type resolution by storing type descriptions in programmatically accessible files, allowing applications to dynamically access and resolve type systems without prior knowledge of file locations, using metadata files and type resolution modules to restructure and locate type information independently of its location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardcoded paths or registry keys are used to access API files, then the linkage is stable, but the system loses flexibility when file locations change

Engineering Contradiction:
Improvelinkage stabilityVSAvoidflexibility to location changes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a metadata file as an intermediary between the application and the API files. This metadata file contains path information that can be dynamically updated without changing the application code. The application queries the metadata file to locate API files, creating a flexible linkage that maintains stability while adapting to location changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transitions from static hardcoded paths to dynamic path resolution. The metadata file allows path information to be changed and updated at runtime or during deployment, enabling the system to adapt to different file locations without recompiling or reconfiguring the application.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If wrapper code is written to translate between type systems, then type resolution is achieved, but device complexity increases

Engineering Contradiction:
Improvetype system compatibilityVSAvoidwrapper code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses metadata files to copy and store type system information in a standardized format. Instead of writing complex wrapper code to translate between type systems, the system reads type descriptions from metadata files, which can be programmatically accessed and resolved without manual translation layers.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The metadata files contain self-describing type information that applications can query and resolve automatically. The system serves its own type resolution needs through programmatically accessible metadata, eliminating the need for external wrapper code to bridge type systems.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If type descriptions are stored in programmatically accessible files, then flexibility is improved, but information retrieval complexity increases

Engineering Contradiction:
Improvedynamic access capabilityVSAvoidfile location discovery
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The metadata file acts as an intermediary that consolidates location information for type descriptions. Applications query the metadata file to discover where type descriptions are stored, eliminating the need to search through multiple files or directories. This maintains flexibility while simplifying information retrieval.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9043305B2Flexible metadata composition
Publication Date: 2015.05.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9043305B2 patent drawing
  • US9043305B2 patent drawing
  • US9043305B2 patent drawing

AI summary

Various embodiments provide an ability to abstract type resolution between multiple type systems. At least one type can be described in one or more programmatically accessible file(s). In some embodiments, an application using a different type system can programmatically access and resolve a type of the at least one type system without knowledge of a location of where a description of the type resides. Alternately or additionally, type descriptions contained in the one or more programmatically accessible file(s) can be analyzed and restructured into one or more new programmatically accessible file(s) based, at least in part, upon the type descriptions.