Selectively migrating applications during an operating system upgrade

US9910662B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9910662-B2
Application numberUS-201615186251-A
CountryUS
Kind codeB2
Filing dateJun 17, 2016
Priority dateJun 17, 2016
Publication dateMar 6, 2018
Grant dateMar 6, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F8/65Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9910662B2 cover?
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 devic…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 06 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).