Software Compatibility Verification via Requirements Specification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating software on end devices are prone to incompatibility issues, leading to potential damage and inability to reverse the update process, as they rely on manual, labor-intensive testing that does not account for the compatibility of new software components with existing systems and hardware.

Innovation Solution

A method that creates a requirements specification for new software components, comparing it with actual deployment requirements on the end device, ensuring compatibility before deployment, using a system arrangement with entities for creating, transmitting, and detecting specifications, and deploying the software only if compliant, thereby preventing incompatible installations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If new software components are installed on an end device, then the software system is updated and functionality is improved, but incompatibility with existing software or hardware may occur causing damage or destruction of the end device

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidsystem compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs compatibility verification before installing new software components by creating a requirements specification from the software image, transmitting it to the end device, detecting actual deployment requirements, and comparing them to ensure compatibility before deployment occurs

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a requirements specification as an intermediary element that mediates between the new software image and the end device hardware/software environment, enabling compatibility assessment without direct installation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual testing methods are used to verify software compatibility, then some level of quality control is achieved, but significant technical effort and time are required making the process labor-intensive and error-prone

Engineering Contradiction:
Improvecompatibility verification accuracyVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables the end device to autonomously detect its own deployment requirements and perform compatibility verification by comparing received requirements specifications against actual device capabilities, eliminating the need for external manual testing

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical testing processes with an automated information-based verification system that uses data transmission and comparison algorithms to assess compatibility

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If compatibility testing is performed before software deployment, then incompatible software can be prevented from being installed, but additional time and processing steps are required in the deployment process

Engineering Contradiction:
Improvepre-installation compatibility checkVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential requirements specification information from the complete software image for transmission and verification, separating the critical compatibility data from the full software package to minimize verification overhead

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3958114B1Software eligibility
Publication Date: 2024.04.24 GIESECKE DEVRIENT MOBILE SECURITY GERMANY GMBH
  • EP3958114B1 patent drawingFigure 1
  • EP3958114B1 patent drawingFigure 2
  • EP3958114B1 patent drawingFigure 3

AI summary

The present invention is directed towards a method for making sure that a piece of software to be installed on an end device is compatible with an existing software and especially the underlying hardware structure of the end device. Consequently, it is an advantage of the present invention that new software components can be evaluated before installing them, thus preventing incompatible software components from being installed on an end device which would harm or destroy the same. Furthermore, the present invention is directed towards a system arrangement implemented in accordance with the suggested method along with a computer program product comprising control instructions for implementing the suggested method.