Application Migration via Virtual Sandbox and Call Redirection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Migrating applications from a legacy computing environment to a new target environment is challenging due to issues like outdated source environments, patching requirements, customization, lack of support for legacy applications, inconsistent file copying, and regulatory compliance, especially during transitions like from 32-bit to 64-bit architectures.
Innovation Solution
A method and system for migrating applications by discovering resources on the source environment, preparing a migration environment with the target OS, instantiating a virtual sandbox, capturing in-process and out-of-process calls, and updating the environment based on these captures, allowing applications to run on the target OS without modifying the source code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications are re-installed in the target computing environment, then the application can run on the new OS, but the process is time consuming and requires re-patching
Solution Approach 1:
The patent copies the application executable and resource files from the source computing environment to the target computing environment, then uses a migration agent to redirect runtime calls from the copied application to the original application in the source environment. This allows the application to run on the target OS without re-installation or re-patching.
Solution Approach 2:
The patent introduces a migration agent as an intermediary component that intercepts runtime calls from the copied application and redirects them to the original application in the source environment. This mediator layer enables the application to execute on the target OS while maintaining access to the original application's resources and functionality.
2Stability of the object's composition
If the source computing environment is preserved as a virtual machine image, then the application runs consistently, but the environment is not updated with security patches and functional updates
Solution Approach 1:
The patent separates the application execution environment into two independent parts: the source computing environment (preserved as-is with the original application) and the target computing environment (updated with latest OS and security patches). The migration agent enables the application to run on the target environment while maintaining access to the source environment's resources, thus achieving both stability and security updates.
3Reliability
If applications are customized for the legacy environment, then the application operates correctly in the source environment, but re-installation requires modifying or re-writing the installer and source code
Solution Approach 1:
The patent copies the application executable and resource files without modifying the installer or source code. The migration agent handles the complexity of environment translation by intercepting and redirecting runtime calls, allowing the customized application to operate correctly in the target environment without any changes to the original installation artifacts.
4Ease of manufacture
If copying executables and resource files is used for migration, then the process is simple, but it works inconsistently and never works properly for some applications
Solution Approach 1:
The patent combines simple file copying with a migration agent that acts as an intermediary to handle runtime call redirection. This intermediary layer ensures consistent and reliable migration by managing the complex interactions between the copied application and the target environment, making the migration process both simple and reliable.
Data Source
AI summary
A system, method, and computer program product is provided for migrating an application from a source computing environment having a source Operating System (OS) to a target computing environment, the target computing environment having a target OS. The method may include discovering applications and resources on the source computing environment; preparing a migration computing environment having the target OS based on the discovered applications and resources; instantiating a virtual migration sandbox in the migration computing environment; instantiating the application within the virtual migration sandbox; and, capturing in-process and out-of-process calls made by the application during execution; updating the migration computing environment based on the captured in-process and out-of-process calls.


