Cross-Process Interface for Legacy App Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy applications built on outdated technologies face compatibility issues with modern technologies, requiring developers to rewrite their codebase to access runtime improvements and functionality, which is time-consuming and expensive.

Innovation Solution

A cross-process interface is established between applications with non-compatible user interface frameworks, allowing rendering information to be exchanged and displayed, enabling integration of modern web content into legacy applications without native controls, using a system hosting application process and out-of-process webview control to manage webviews.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers rewrite their codebase to build applications on modern technology, then functionality and runtime improvements are improved, but development time and cost increase

Engineering Contradiction:
ImprovefunctionalityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a bridge component that acts as an intermediary between legacy applications and modern technologies. This bridge enables communication and integration without requiring complete rewriting of the legacy codebase, thus preserving development time while accessing modern functionality through the intermediary layer

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If developers rewrite their codebase to build applications on modern technology, then runtime improvements are improved, but development cost increases

Engineering Contradiction:
Improveruntime performanceVSAvoiddevelopment cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The bridge serves as a cost-effective intermediary that enables legacy applications to leverage modern runtime improvements without the high cost of complete codebase rewriting. The intermediary layer provides the necessary adaptation at a lower development cost

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If legacy applications are integrated with modern web content using native controls, then compatibility is improved, but device complexity increases

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

Solution Approach 1:

The bridge acts as a simplifying intermediary that manages the complexity of integrating legacy applications with modern web content. By centralizing the integration logic in the bridge component, the overall system complexity is reduced compared to implementing native controls throughout the legacy application

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3776180B1Cross-process interface for non-compatible frameworks
Publication Date: 2024.10.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3776180B1 patent drawingFigure 1
  • EP3776180B1 patent drawingFigure 2
  • EP3776180B1 patent drawingFigure 3

AI summary

A computer device is provided that includes a processor configured to execute a first application configured for a first user interface framework, instantiate a host window of the first application using the first user interface framework, and execute a second application, that is out of process with the first application. The second application is configured for a second user interface framework that is incompatible with the first user interface framework. The processor is further configured to instantiate a hosted window of the second application using the second user interface framework, establish a cross-process interface between the first application and the second application configured to exchange rendering information between the hosted window and the host window, and cause the host window to display the rendering information from the hosted window within the host window on a display of the computer device.