IP Library Granted Patent US 9,811,375
Granted Patent B2
US 9,811,375 · App. 14/266,773 · Granted Nov 7, 2017

Operating system migration while preserving applications, data, and settings

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,811,375
App. No.
14/266,773
Granted
Nov 7, 2017
Kind
B2
Abstract

An enterprise management system is described for efficient operating system migration, preserving applications, data, and settings. A staging area, such as an empty folder, is created on a client device. A base layer for the new operating system and application layers for applications that will be installed on the computing device are downloaded to the staging area. After the base layer and application layers are downloaded, the layers are merged onto the computing device to instantly install the operating system and the applications. User settings, data, and other applications can be migrated to corresponding locations in the new operating system from the old operating system.

Claims (83)

1. A method for efficient management of operating systems and applications on computing devices, said method comprising:

receiving a request to migrate a computing device on a network from a legacy operating system to a new operating system, the network comprising a plurality of computing devices centrally managed by a central server, the central server comprising a preexisting library including a plurality of base layers and application layers, wherein different base layers in the preexisting library correspond to different operating systems;

creating a staging area on the computing device;

retrieving from the preexisting library a base layer corresponding to the requested new operating system, the base layer comprising an image that contains complete content of the new operating system such that merging the base layer onto the computing device installs the new operating system on the computing device;

storing the base layer in the staging area;

identifying what applications are present on the computing device and selecting from the preexisting library application layers corresponding to the identified applications;

receiving the selected application layers from the preexisting library on the central server, wherein each of the selected application layers comprises complete content of a corresponding application such that merging the selected application layer onto the computing device installs the corresponding application on the computing device;

storing the received selected application layers in the staging area; and

merging the base layer and the received selected application layers onto the computing device to migrate the computing device from the legacy operating system to the new operating system with the corresponding applications installed on the new operating system.

2. The method of claim 1 , further comprising:

capturing user data and user settings from the computing device on the legacy operating system; and

migrating the captured user data and user settings to the computing device through a predefined protocol, the protocol including a mapping of user data locations and user setting locations from the legacy operating system to the new operating system.

3. The method of claim 1 , further comprising:

identifying a particular application on the computing device prior to the migration;

identifying a new version of the particular application, the new version being compatible with the new operating system;

wherein at least one of the selected application layers is an application layer for the new version of the particular application.

4. The method of claim 3 , further comprising:

an application version database containing information identifying, with respect to at least one application, a new version of the at least one application, the new version being compatible with the new operating system;

wherein the new version of the particular application is identified based on the database.

5. The method of claim 1 , further comprising:

identifying additional applications based on a rule engine and selecting from the preexisting library application layers corresponding to the additional applications, the rule engine defining which applications are to be installed on a particular computing device based on at least one of:

characteristics of the particular computing device; or

characteristics of a user of the particular computing device;

receiving the selected application layers corresponding to the additional applications from the preexisting library on the central server;

storing the received selected application layers corresponding to the additional applications in the staging area; and

merging the selected application layers corresponding to the additional applications onto the computing device during the migration of the computing device from the legacy operating system to the new operating system.

6. The method of claim 1 , further comprising:

transferring an application from the legacy operating system to the new operating system by transferring the application's files and the application's registry entries from the legacy operating system to the new operating system based on a predetermined mapping of the application's file locations and the application's registry entries between the legacy operating system and the new operating system.

7. A computing device, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to:

receive a request to migrate a computing device on a network from a legacy operating system to a new operating system, the network comprising a plurality of computing devices centrally managed by a central server, the central server comprising a preexisting library including a plurality of base layers and application layers, wherein different base layers in the preexisting library correspond to different operating systems;

create a staging area on the computing device;

retrieve from the preexisting library a base layer corresponding to the requested new operating system, the base layer comprising an image that contains complete content of the new operating system such that merging the base layer onto the computing device installs the new operating system on the computing device;

store the base layer in the staging area;

identify what applications are present on the computing device and select from the preexisting library application layers corresponding to the identified applications;

receive the selected application layers from the preexisting library on the central server, wherein each of the selected application layers comprises complete content of a corresponding application such that merging the selected application layer onto the computing device installs the corresponding application on the computing device;

store the received selected application layers in the staging area; and

merge the base layer and the received selected application layers onto the computing device to migrate the computing device from the legacy operating system to the new operating system with the corresponding applications installed on the new operating system.

8. The computing device of claim 7 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to:

capture user data and user settings from the computing device on the legacy operating system; and

migrate the captured user data and user settings to the computing device through a predefined protocol, the protocol including a mapping of user data locations and user setting locations from the legacy operating system to the new operating system.

9. The computing device of claim 7 , wherein the memory further comprises instructions that, when executed by the at least one processor, cause the computing device to:

identify a particular application on the computing device prior to the migration;

identify a new version of the particular application, the new version being compatible with the new operating system;

wherein at least one of the selected application layers is an application layer for the new version of the particular application.

10. The computing device of claim 9 , further comprising:

an application version database containing information identifying, with respect to at least one application, a new version of the at least one application, the new version being compatible with the new operating system;

wherein the new version of the particular application is identified based on the database.

11. The computing device of claim 7 , wherein the memory further comprises instructions that, when executed by the at least one processor, cause the computing device to:

identify additional applications based on a rule engine and select from the preexisting library application layers corresponding to the additional applications wherein, the rule engine defining which applications are to be installed on a particular computing device based on at least one of:

characteristics of the particular computing device; and

characteristics of a user of the particular computing device;

receive the selected application layers corresponding to the additional applications from the preexisting library on the central server;

store the received selected application layers corresponding to the additional applications in the staging area; and

merge the selected application layers corresponding to the additional applications onto the computing device during the migration of the computing device from the legacy operating system to the new operating system.

12. The computing device of claim 7 , wherein the memory further comprises instructions that, when executed by the at least one processor, cause the computing device to:

transfer an application from the legacy operating system to the new operating system by transferring the application's files and the application's registry entries from the legacy operating system to the new operating system based on a predetermined mapping of the application's file locations and the application's registry entries between the legacy operating system and the new operating system.

13. A non-transitory computer readable storage medium comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

receiving a request to migrate a computing device on a network from a legacy operating system to a new operating system, the network comprising a plurality of computing devices centrally managed by a central server, the central server comprising a preexisting library including a plurality of base layers and application layers, wherein different base layers in the preexisting library correspond to different operating systems;

creating a staging area on the computing device;

retrieving from the preexisting library a base layer corresponding to the requested new operating system, the base layer comprising an image that contains complete content of the new operating system such that merging the base layer onto the computing device installs the new operating system on the computing device;

storing the base layer in the staging area;

identifying what applications are present on the computing device and selecting from the preexisting library application layers corresponding to the identified applications;

receiving the selected application layers from the preexisting library on the central server, wherein each of the one selected application layers comprises complete content of a corresponding application such that merging the selected application layer onto the computing device installs the corresponding application on the computing device;

storing the received selected application layers in the staging area; and

merging the base layer and the received selected application layers onto the computing device to migrate the computing device from the legacy operating system to the new operating system with the corresponding applications installed on the new operating system.

14. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

capturing user data and user settings from the computing device on the legacy operating system; and

migrating the captured user data and user settings to the computing device through a predefined protocol, the protocol including a mapping of user data locations and user setting locations from the legacy operating system to the new operating system.

15. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors, cause the one or more processors to execute the operations of:

identifying a particular application on the computing device prior to the migration;

identifying a new version of the particular application, the new version being compatible with the new operating system;

wherein at least one of the selected application layers is an application layer for the new version of the particular application.

16. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors, cause the one or more processors to execute the operations of:

identifying additional applications based on a rule engine and selecting from the preexisting library application layers corresponding to the additional applications, the rule engine defining which applications are to be installed on a particular computing device based on at least one of:

characteristics of the particular computing device; or

characteristics of a user of the particular computing device;

receiving the selected application layers corresponding to the additional applications from the preexisting library on the central server;

storing the received selected application layers corresponding to the additional applications in the staging area; and

merging the selected application layers corresponding to the additional applications onto the computing device during the migration of the computing device from the legacy operating system to the new operating system.

17. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors, cause the one or more processors to execute the operations of:

transferring an application from the legacy operating system to the new operating system by transferring the application's files and the application's registry entries from the legacy operating system to the new operating system based on a predetermined mapping of the application's file locations and the application's registry entries between the legacy operating system and the new operating system.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2014
From: ZAMIR, TAL
To: VMWARE, INC
Reel/Frame 032795/0806 →