Application Host Bridge for Cross-Language Interoperability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In scenarios where applications and host environments are not directly compatible, the use of customized code creates challenges when changing between host environments, as the customized code developed for a first host environment is no longer compatible with a second host environment.

Innovation Solution

A host bridge is implemented to provide interoperability between application and native hosts using bridge interfaces generated by a bridge interface generator, allowing communication through common data structures and native data structures across different programming languages, enabling seamless interaction without requiring detailed knowledge of the native host implementation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If customized code is used to enable application compatibility with a specific host environment, then the application can utilize host-specific functionality, but the application loses adaptability when changing to a different host environment

Engineering Contradiction:
Improveapplication compatibilityVSAvoidhost environment adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces a bridge interface as an intermediary layer between the application and the native host. This bridge interface is generated automatically by a bridge interface generator that translates application language function calls into native host language function calls. The intermediary bridge module handles the incompatibility between different programming languages and host environments, allowing the application to maintain its original code while achieving compatibility with the native host through the generated bridge interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a bridge interface is generated to enable communication between different programming languages, then interoperability is achieved, but the system complexity increases due to additional translation layers

Engineering Contradiction:
ImproveinteroperabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The bridge interface generator operates autonomously to generate the necessary bridge interface code without requiring manual intervention from developers. The generator automatically analyzes the application's function calls, identifies the corresponding native host functions, and generates the translation layer code. This self-service approach reduces the complexity burden on the system by automating the bridge creation process rather than requiring manual configuration or complex integration logic.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The bridge interface is generated in advance during the application development or deployment phase, before the application runs on the native host. The bridge interface generator pre-processes the application code, creates the necessary translation mappings, and generates the bridge module that will handle runtime communication. This preliminary action ensures that the interoperability infrastructure is ready before execution, reducing runtime complexity and improving performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4352613B1Interoperability bridge for application hosts
Publication Date: 2025.11.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4352613B1 patent drawingFigure 1
  • EP4352613B1 patent drawingFigure 2
  • EP4352613B1 patent drawingFigure 3

AI summary

A method for function call invocation is described. A function call that is implemented in a first programming language and corresponds to a function implemented in a second programming language is received by an application bridge interface implemented in the first programming language. The first programming language is different from the second programming language. A common data structure is generated by a bridge module based at least in part on the function call received by the application bridge interface. The common data structure is sent by the bridge module to a native bridge interface implemented in the second programming language. The common data structure is converted by the native bridge interface to a native data structure implemented in the second programming language. The function is called by the native bridge interface using the native data structure implemented in the second programming language.