Execution Environment for Independent Software Interoperation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large enterprises face significant costs and challenges in integrating business software applications from different vendors due to incompatible data models and APIs, requiring extensive software engineering efforts for integration.

Innovation Solution

A system and method that enables interoperation of independent software applications by using an execution environment with a data store and user interface request orchestrator, which translates requests between applications with different data models and combines user interfaces, allowing applications to operate independently without shared data models or APIs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If applications use common data models or APIs to share data, then data sharing capability is improved, but application independence and development flexibility deteriorate

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidapplication independence
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an execution environment as an intermediary layer between independent applications. This environment provides translation services that convert data models and API calls between applications without requiring the applications themselves to be modified or to share common data models. The intermediary handles the complexity of data translation, allowing applications to remain independent while achieving data sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the data sharing functionality into a separate execution environment component, distinct from the applications themselves. This segmentation allows each application to maintain its own data model and independence while the execution environment handles the integration and translation tasks, resolving the contradiction between data sharing and application independence.

Inventive Principle:
Principle #1Segmentation

2Reliability

If vendors agree upon APIs or data models before application development, then interoperation compatibility is improved, but development time and cost increase

Engineering Contradiction:
Improveinteroperation compatibilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The execution environment performs preliminary translation setup by maintaining translation information that maps between different application data models. This preliminary action allows applications to be developed independently without prior agreement on APIs or data models, while the translation infrastructure is already in place to ensure compatibility when applications need to interoperate.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The execution environment acts as a mediator that handles compatibility issues after applications are developed independently. Rather than requiring vendors to agree on standards before development, the intermediary translates between different standards, allowing parallel development while ensuring eventual interoperation compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If software engineers provide integration services to enable application interoperation, then data sharing capability is improved, but integration cost increases

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidintegration cost
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The execution environment provides self-service integration capabilities through automated translation of data models and API calls. Instead of requiring expensive software engineers to manually create integration services, the system automatically handles the translation and interoperation logic, significantly reducing integration costs while maintaining data sharing capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The execution environment intermediary automates the integration tasks that previously required manual software engineering. By providing automated translation services between different applications' data models and APIs, it eliminates the need for costly custom integration services while enabling comprehensive data sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11163616B2Systems and methods for enabling interoperation of independent software applications
Publication Date: 2021.11.02 POLYJUICE AB
  • US11163616B2 patent drawing
  • US11163616B2 patent drawing
  • US11163616B2 patent drawing

AI summary

One example method includes executing, by one or more processors of a computer system, an execution environment, the computer system comprising the one or more processors and a processor-addressable memory in communication with the one or more processors; maintaining, by the computer system, a data store memory; receiving first translation information for a first application and second translation information for a second application, the first translation information defining a first mapping relationship between a first derived data item and a first fundamental data item, and the second translation information defining a second mapping relationship between a second derived data item and the first fundamental data item, the first and second derived data items formatted according to data models of the first and second application, respectively; receiving input request information about an input request targeting the first application for a first user interface, the input request associated with the first derived data item; generating a complementary request for a second user interface using at least the input request information and the first and second mapping relationship, the complementary request associated with the second derived data item; providing the complementary request to the second application; and outputting the first user interface and the second user interface.