Software Application Handover Using Synchronized State Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The real-time synchronization of different real-time controllers, especially their associated real-time databases, can be complicated and error-prone, making the migration of software applications between such controllers difficult and prone to interruptions.

Innovation Solution

A method that captures the state data of a software application at a specific point in time and transfers it to a second device, where a second instance of the application is started using the transmitted data, allowing it to be 'fast-forwarded' until both instances run synchronously, enabling an uninterrupted and bumpless transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If real-time synchronization is implemented between different real-time controllers, then software application migration becomes possible, but the process becomes complicated and error-prone

Engineering Contradiction:
Improvesoftware application migration capabilityVSAvoidsynchronization process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the software application instance on the target controller and uses this copy to receive and process state data during the migration process. This copying approach allows the migration to proceed without requiring complex real-time synchronization between controllers, as the target controller independently processes the transferred application instance.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by capturing and transmitting state data from the source controller to the target controller before the actual application switch occurs. The target controller prepares by receiving and storing this state data in advance, enabling a smooth transition without requiring complex real-time synchronization during the critical switch moment.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If real-time synchronization is implemented between different real-time controllers, then software application migration becomes possible, but errors increase

Engineering Contradiction:
Improvesoftware application migration capabilityVSAvoidmigration process reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

By creating and using a copy of the application instance on the target controller, the patent isolates the migration process from complex synchronization requirements. This copy mechanism reduces errors by eliminating the need for intricate real-time coordination between controllers during state data transmission and application switching.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts the state data from the source controller and transmits it independently to the target controller, separating the data transfer process from the complex real-time synchronization mechanism. This extraction approach improves reliability by handling state data transmission as a distinct, simplified operation.

Inventive Principle:
Principle #2Taking out (Extraction)

3Duration of action of stationary object

If state data is transferred in real-time during application migration, then continuity is maintained, but the process becomes complicated and error-prone

Engineering Contradiction:
Improveapplication continuityVSAvoiddata transfer process complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The target controller uses a copied application instance to independently receive and process state data during migration. This copying approach maintains application continuity while simplifying the data transfer process, as the target controller handles state data reception without requiring complex real-time synchronization with the source controller.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary mechanism where state data is captured from the source controller and transmitted to the target controller's application instance. This intermediary data transfer approach maintains continuity by ensuring the target controller has the necessary state information, while avoiding the complexity of direct real-time synchronization between controllers.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If application migration is performed quickly, then productivity is improved, but real-time requirements may not be met

Engineering Contradiction:
Improvemigration speedVSAvoidreal-time requirement compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary actions by capturing and transmitting state data before the application switch occurs. This preliminary data preparation enables the actual migration to execute quickly while still meeting real-time requirements, as the target controller already possesses the necessary state information when the switch happens.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By using a copied application instance on the target controller, the patent enables rapid migration execution. The copy mechanism allows the target controller to independently process and execute the transferred application without waiting for complex real-time synchronization, thus improving productivity while maintaining real-time performance through the copied instance's autonomous operation.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP4179425B1Method for transmitting a software application from a first to a second data processing device
Publication Date: 2025.08.20 SIEMENS AG
  • EP4179425B1 patent drawingFigure 1
  • EP4179425B1 patent drawingFigure 2
  • EP4179425B1 patent drawingFigure 3

AI summary

Transfer of a software application from a first to a second data processing device by means of the following steps: – execution of a first instance of the software application in the first data processing device, wherein – data communication by the first instance of the software application with a further software application and/or an apparatus takes place, – internal state data of the first data processing device and/or regarding an internal execution of the first instance of the software application are stored; – transfer of launch state data available in the first data processing device at a first time to a second memory device communicatively coupled to the second data processing device; – launch of a second instance of the software application, which is implemented in the second data processing device, at a second time by using the launch state data, in such a way that the first instance and the second instance of the software application are executed in sync at a subsequent third time; – handover of data communication with the further software application or apparatus from the first instance to the second instance of the software application.