Software Application Transfer via State Copying and Sync Handover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for transferring software applications between data processing devices are complicated and error-prone, especially under real-time synchronization demands, leading to potential interruptions and delays.
Innovation Solution
A method that involves executing a first instance of the software application, storing its state data, transferring launch state data to a second device, launching a second instance, and synchronizing both instances to ensure uninterrupted data communication, allowing for a hitch-free and interruption-free transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If real-time synchronization of real-time databases is used to transfer software applications between real-time controllers, then the application can be moved between controllers, but the process becomes complicated and error-prone
Solution Approach 1:
The invention creates a copy of the software application's state data (process image, counter values, memory contents) from the source controller and transfers it to the target controller. This copying approach avoids the complexity of real-time database synchronization by simply replicating the necessary state information, making the transfer process more reliable and easier to implement.
Solution Approach 2:
The invention performs preliminary actions by capturing and storing the complete state data of the source application before transfer, including process images, counter values, and memory contents. This preliminary state capture allows the target controller to resume execution seamlessly without requiring complex real-time synchronization during the actual transfer.
2Reliability
If real-time synchronization is implemented for sophisticated real-time demands, then real-time performance is maintained, but the transfer process becomes more complicated and error-prone
Solution Approach 1:
Instead of implementing complex real-time synchronization mechanisms, the invention copies the complete state data (process image, counters, memory) of the application at a specific moment and transfers it to the target controller. This copying method maintains real-time performance by ensuring state consistency without requiring ongoing synchronization, thereby reducing complexity and errors.
Solution Approach 2:
The invention segments the state data into distinct components (process image, counter values, memory contents) that can be independently captured and transferred. This segmentation allows each component to be handled separately, simplifying the transfer process while maintaining overall real-time performance and reliability.
3Adaptability or versatility
If software application transfer is performed using prior art methods, then application migration is possible, but interruptions and delays occur
Solution Approach 1:
The invention performs preliminary actions by capturing the complete state data (process image, counter values, memory contents) before the actual transfer occurs. This preliminary state capture ensures that when the application is transferred to the target controller, it can resume execution immediately without interruptions or delays, as all necessary state information is already prepared and available.
Solution Approach 2:
By copying the complete application state data and transferring it as a unified package to the target controller, the invention enables seamless application migration without interruptions. The target controller receives all necessary state information in advance, allowing immediate resumption of execution and eliminating transfer-related delays.
Data Source
AI summary
Method for transferring a software application between first and second data processing devices includes executing a first software application instance in the first data processing device, data communication by the first software application instance with a further software application and/or an apparatus occurring, and internal state data of the first data processing device and/or regarding an internal execution of the first software application instance being stored, transferring 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, launching a second software application instance, at a second time via the launch state data, such that the first and second software application instances are executed in sync at a subsequent third time, and handing over data communication with the further software application or apparatus from the first to second software application instance.


