Application Platform Version Update via Parallel API Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Updating an application platform in a medical data processing system is complex and time-consuming due to compatibility issues with existing applications, often resulting in significant downtime and increased workload, as changes to the platform's API specifications or behavior can render previous versions incompatible.

Innovation Solution

Incorporating an update module that checks the compatibility of new and old API versions, allowing for parallel installation of multiple versions and ensuring that applications can access compatible APIs, thereby reducing the need for immediate migration and minimizing downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the application platform is updated to a new version, then the platform provides improved functions and performance, but the compatibility with existing applications is compromised due to changes in API specifications and behavior

Engineering Contradiction:
Improveplatform version update capabilityVSAvoidapplication compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the application platform into multiple co-existing versions (old version and new version) that can run simultaneously. Each version maintains its own API implementation, allowing applications to be assigned to specific versions based on compatibility requirements. This segmentation resolves the contradiction by enabling platform updates while preserving compatibility for existing applications through version-specific API bindings.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary layer (the version management mechanism) that sits between the applications and the API implementations. This intermediary automatically selects which version of the API to bind to based on the application's requirements, eliminating the need for applications to directly depend on specific API versions. This mediator resolves the compatibility conflict by transparently managing version assignments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If all applications are migrated to the new platform version to ensure compatibility, then the new platform version can be fully utilized, but the workload and time required for migration increases significantly

Engineering Contradiction:
Improvenew platform version utilizationVSAvoidmigration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Instead of requiring complete migration of all applications to the new platform version, the system enables partial action where only select applications are migrated while others continue running on the old version. The version management mechanism handles the coexistence and routing automatically, allowing organizations to migrate at their own pace without forcing full migration, thus reducing the time and effort burden.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements self-service functionality where the version management mechanism automatically assigns applications to appropriate API versions without requiring manual intervention or complex migration scripts. The system autonomously handles version compatibility detection and binding, significantly reducing the manual workload associated with migration activities.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If the application platform is updated, then newer features and improvements are available, but the system experiences significant downtime during the update process

Engineering Contradiction:
Improveplatform update capabilityVSAvoidsystem downtime
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by installing and preparing the new platform version in parallel with the existing version before any switching occurs. The new version is pre-configured and validated while the old version continues to serve applications. This preliminary preparation eliminates downtime because the transition to the new version becomes a simple binding change rather than a disruptive reinstall or replacement operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by ensuring that applications continue to run on the old version while the new version is being prepared and installed. The version management mechanism ensures uninterrupted service by keeping the old version active throughout the update process, allowing the new version to be deployed without causing system downtime or service interruption.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9063817B2Application platform and method for operating a data processing arrangement having such an application platform
Publication Date: 2015.06.23 SIEMENS AG
  • US9063817B2 patent drawing
  • US9063817B2 patent drawing
  • US9063817B2 patent drawing

AI summary

An application platform is disclosed together with a method for operating a data processing arrangement on which the application platform is implemented along with at least one application which is executable on the application platform by accessing at least one programming interface of the application platform. In at least one embodiment, in the course of a change of version of the application platform or of a part of the platform, a check is carried out by way of an update module to determine whether a newly-to-be-installed more recent version of the application platform or of the part of the platform is consistent with the existing older version of the application platform or of the part of the platform in terms of the interface specification and/or the behavior of the or each programming interface. If necessary, the update module overwrites the older version with the more recent version. Otherwise the update module installs the more recent version or at least its programming interface in parallel with the existing version or its programming interface.