Identifying application resources through implicit application models
US-8930886-B2 · Jan 6, 2015 · US
US9910662B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9910662-B2 |
| Application number | US-201615186251-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 17, 2016 |
| Priority date | Jun 17, 2016 |
| Publication date | Mar 6, 2018 |
| Grant date | Mar 6, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described for segregating a monolithic computing device that contains many installed applications into separate application storage volumes that can be attached or detached from the computing device as needed. Once the monolithic device has been segregated, the application storage volumes can be managed remotely from a management server and can be enabled or disabled on the device based on instructions from an administrator. Additionally, the administrator is enabled to select which application storage volumes are migrated during an operating system (OS) upgrade on the computing device.
Opening claim text (preview).
What is claimed is: 1. A method for migrating applications between operating systems, the method comprising: on a computing device running a first operating system (OS), receiving a request to migrate the computing device to a second OS; performing a static analysis of the computing device to determine application boundaries of one or more applications installed on the computing device, including identifying components that comprise each of the one or more applications, wherein performing the static analysis further includes: inspecting an installation database on the computing device to determine a set of basic components of an application installed on the computing device, the set of basic components including one or more binary executable files; parsing the one or more binary executable files to identify character strings that indicate a file system path, a registry path, a file name or an imported module; and capturing one or more additional components identified by the character strings parsed from the one or more binary executable files; receiving input indicating a selection of the one or more applications installed on the computing device; for each selected application, generating a virtual disk and storing the components identified during the static analysis that comprise the selected application into the virtual disk, including storing the set of basic components and the additional components in the virtual disk; migrating the computing device from the first OS to the second OS; and mounting the virtual hard disk to the second OS installed on the computing device to make the selected application executable on the second OS on the computing device. 2. The method of claim 1 , further comprising: deleting the components identified during the static analysis from original locations on the computing device in which the components were installed during installation of the one or more applications after the components have been stored in the virtual disk. 3. The method of claim 1 , further comprising: deleting applications that were not selected by the received input during the migration of the computing device from the first OS to the second OS, such that the deleted applications are no longer available on the second OS. 4. The method of claim 1 , wherein the second OS is an updated version of the first OS. 5. The method of claim 1 , further comprising: uploading the virtual disk to a management server over a network connection before the computing device is migrated from the first OS to the second OS; and downloading the virtual disk from the management server over the network connection after the computing device has been migrated from the first OS to the second OS; and mounting the downloaded virtual disk and modifying one or more registry entries to make the application executable from the mounted virtual disk on the second OS. 6. The method of claim 1 , wherein performing the static analysis further comprises: executing the application on the computing device; and monitoring access requests from the application being executed to any components and retrieving any components being accessed by the application, the monitoring being performed by an agent operating on the computing device. 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 the computing device from a first operating system (OS) to a second OS; perform a static analysis of the computing device to determine application boundaries of one or more applications installed on the computing device, including identifying components that comprise each of the one or more applications, wherein performing the static analysis further includes: inspecting an installation database on the computing device to determine a set of basic components of an application installed on the computing device, the set of basic components including one or more binary executable files; parsing the one or more binary executable files to identify character strings that indicate a file system path, a registry path, a file name or an imported module; and capturing one or more additional components identified by the character strings parsed from the one or more binary executable files; receive input indicating a selection of the one or more applications installed on the computing device; for each selected application, generate a virtual disk and store the components identified during the static analysis that comprise the selected application into the virtual disk, including storing the set of basic components and the additional components in the virtual disk; migrate the computing device from the first OS to the second OS; and mount the virtual hard disk to the second OS installed on the computing device to make the selected application executable on the second OS on the computing device. 8. 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: delete the components identified during the static analysis from original locations on the computing device in which the components were installed during installation of the one or more applications after the components have been stored in the virtual disk. 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: delete applications that were not selected by the received input during the migration of the computing device from the first OS to the second OS, such that the deleted applications are no longer available on the second OS. 10. The computing device of claim 7 , wherein the second OS is an updated version of the first OS. 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: upload the virtual disk to a management server over a network connection before the computing device is migrated from the first OS to the second OS; and download the virtual disk from the management server over the network connection after the computing device has been migrated from the first OS to the second OS; and mount the downloaded virtual disk and modifying one or more registry entries to make the application executable from the mounted virtual disk on the second OS. 12. The computing device of claim 7 , wherein performing the static analysis further comprises: executing the application on the computing device; and monitoring access requests from the application being executed to any components and retrieving any components being accessed by the application, the monitoring being performed by an agent operating on the computing device. 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: on a computing device running a first operating system (OS), receiving a request to migrate the computing device to a second OS; performing a static analysis of the computing device to determine application boundaries of one or more applications installed on the computing device, including identifying components that comprise each of the one or more applications, wherein performing the static analysis further includes: inspecting an installation database on the computing device to determine a set of basic components
Physics · mapped topic
Updates (security arrangements therefor G06F21/57) · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Installation · CPC title
Details of migration of file systems (migration mechanisms in storage systems G06F3/0647) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.