US 12,131,141 B2
Systems and methods for seamless software migration
Andrey Kulaga, Moscow (RU); Serguei Beloussov, Costa del Sol (SG); Stanislav Protasov, Singapore (SG); and Nikolay Grebennikov, Sofia (BG)
Assigned to Acronis International GmbH, Schaffhausen (CH)
Filed by Acronis International GmbH, Schaffhausen (CH)
Filed on May 18, 2021, as Appl. No. 17/323,075.
Claims priority of provisional application 63/035,932, filed on Jun. 8, 2020.
Prior Publication US 2021/0382705 A1, Dec. 9, 2021
Int. Cl. G06F 8/61 (2018.01); G06F 9/48 (2006.01)
CPC G06F 8/62 (2013.01) [G06F 9/4881 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method for seamlessly migrating from an existing software to a new software, the method comprising:
receiving a command to migrate from the existing software to the new software on at least one computing device, wherein the existing software and the new software are different applications that share a plurality of features and have different software vendors;
responsive to receiving the command:
retrieving usage activity information of the existing software from the at least one computing device;
identifying settings from the existing software to migrate, by identifying at least one setting for migration in response to determining that the at least one setting has been unchanged by a user of the existing software for more than a threshold period of time;
converting, based on an internal database with metadata information about the new software, the settings in the existing software to corresponding settings in the new software;
determining, based on the usage activity information, a migration plan indicative of a sequence of tasks for installing the new software and removing the existing software such that a quality of service associated with accessing the plurality of features on the at least one computing device does not decrease to less than a threshold quality of service; and
executing the sequence of tasks while the existing software is running , wherein executing the sequence of tasks comprises:
detecting that a respective feature is being executed on the existing software
installing files of the new software associated with the respective feature;
applying a setting of the corresponding settings to the installed files, such that the respective feature is accessible on the new software;
while the respective feature is being executed on the existing software on the at least one computing device, forwarding, to the new software on the at least one computing device, new requests to execute the respective feature, wherein the user begins access of the respective feature on the existing software and completes the access of the respective feature on the new software during migration on the at least one computing device; and
removing files of the existing software associated with the feature.