API Contract Platform for Version Independent Application Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy platforms are monolithic, requiring applications to be explicitly developed for specific versions, making them inflexible and unable to operate on other platforms or versions, and lacking mechanisms to test for feature availability, which complicates application development and compatibility.

Innovation Solution

A contract platform is introduced, where API contracts define a set of APIs that are both development-time and run-time executable, allowing applications to be platform-agnostic by requiring specific contracts rather than particular platforms, enabling operation on any platform providing the required contracts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications are explicitly developed for specific platform versions, then reliability is improved, but adaptability deteriorates

Engineering Contradiction:
Improveapplication operation reliabilityVSAvoidplatform version adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the monolithic platform API into multiple independent API contracts, each representing a specific functionality or feature set. Applications can then selectively depend on specific contracts rather than the entire platform API, enabling them to operate reliably on platforms that provide the required contracts while adapting to different platform versions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic contract availability checking at runtime. The system dynamically determines which contracts are available on the current platform version and adjusts application behavior accordingly, allowing applications to maintain reliability while adapting to different platform versions without recompilation.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If a monolithic platform API is used, then ease of manufacture is improved, but device complexity increases

Engineering Contradiction:
Improveplatform development easeVSAvoidplatform API complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The monolithic platform API is divided into multiple smaller, independent API contracts. Each contract encapsulates a specific functionality, making the overall system easier to manufacture and maintain. Developers can create and modify individual contracts without affecting the entire platform API, reducing complexity while preserving ease of development.

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If platform-specific APIs are used, then manufacturing precision is improved, but adaptability deteriorates

Engineering Contradiction:
ImproveAPI functionality precisionVSAvoidcross-platform compatibility
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent creates universal API contracts that can be implemented across different platform versions. Each contract defines a precise functionality that can be universally applied, allowing applications to achieve manufacturing precision through well-defined interfaces while maintaining adaptability across platforms through the contract-based architecture.

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

4Reliability

If version checking is performed at development time, then reliability is improved, but loss of time increases

Engineering Contradiction:
Improveapplication-platform compatibilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary contract availability checking at development time to ensure compatibility, but also implements runtime checking to avoid failures. This preliminary action at development time helps identify potential issues early, reducing the need for time-consuming debugging and deployment failures later.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3207453B1API versioning independent of product releases
Publication Date: 2022.03.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3207453B1 patent drawingFigure 1
  • EP3207453B1 patent drawingFigure 2
  • EP3207453B1 patent drawingFigure 3

AI summary

Technologies for a contract platform versioned according to the set of API contracts provided. API contracts are both development-time and run-time executable components. Each such contract defines a particular set of APIs that are fully supported at run-time by a corresponding implementation module. Contract applications are written to API contracts as opposed to the monolithic APIs of a legacy platform. Such applications are "platform agnostic".