IP Library Granted Patent US 8,666,938
Granted Patent B1
US 8,666,938 · App. 13/433,124 · Granted Mar 4, 2014

Installed application cloning and failover to virtual server

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 8,666,938
App. No.
13/433,124
Granted
Mar 4, 2014
Kind
B1
Abstract

An application installed on a computer system is cloned to provide quick recovery and/or failover should the application become corrupted or inoperable. The installed application is profiled to determine a footprint of files, system registry, data files, and configurations (or “application resources”) that are associated with the installed application. The installed application is then cloned as a virtualized application package that captures a plurality of application resources residing on the computer system. In an embodiment, the installed application is profiled by simulating a removal of the installed application from a virtual machine (VM) that is a copy of the computer system.

Claims (51)

1. A method for backing up an application installed on a computer system, comprising:

virtualizing the computer system to generate a virtualized computer system having a copy of the application installed thereon;

uninstalling the copy of the application from the virtualized computer system;

determining locations of application resources associated with the application based on a comparison of states of the virtualized computer system prior to the uninstalling and after the uninstalling;

generating a virtualized application package for the application based on the determined locations of the application resources associated with the application; and

generating a library of application states for the application, wherein the library of application states comprises a plurality of versioned changes to at least one application resource of the virtualized application package.

2. The method of claim 1 , further comprising:

modifying the virtualized application package to synchronize application state of the application installed on the computer system.

3. The method of claim 1 , further comprising:

receiving one or more changes to at least one application resource of the virtualized application package.

4. The method of claim 1 , further comprising:

responsive to receiving a request to failover to the virtualized application package, determining an application state for the virtualized application package; and

retrieving one or more versioned changes to at least one application resource of the virtualized application package to generate the determined application state.

5. The method of claim 1 , further comprising:

determining file permissions for the application resources associated with the application according to a state of the virtualized computer system prior to the uninstalling.

6. The method of claim 1 , further comprising:

monitoring execution of the copy of the application on the virtualized computer system to determine additional application resources associated with the application.

7. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, back up an application installed on a computer system, by performing the steps of:

virtualizing the computer system to generate a virtualized computer system having a copy of the application installed thereon;

uninstalling the copy of the application from the virtualized computer system;

determining locations of application resources associated with the application based on a comparison of states of the virtualized computer system prior to the uninstalling and after the uninstalling;

generating a virtualized application package for the application based on the determined locations of the application resources associated with the application; and

generating a library of application states for the application, wherein the library of application states comprises a plurality of versioned changes to at least one application resource of the virtualized application package.

8. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions that, when executed in the computing device, perform the steps of:

modifying the virtualized application package to synchronize application state of the application installed on the computer system.

9. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions that, when executed in the computing device, perform the steps of:

receiving one or more changes to at least one application resource of the virtualized application package.

10. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions that, when executed in the computing device, perform the steps of:

responsive to receiving a request to failover to the virtualized application package, determining an application state for the virtualized application package; and

retrieving one or more versioned changes to at least one application resource of the virtualized application package to generate the determined application state.

11. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions that, when executed in the computing device, perform the steps of:

determining file permissions for the application resources associated with the application according to a state of the virtualized computer system prior to the uninstalling.

12. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions that, when executed in the computing device, perform the steps of:

monitoring execution of the copy of the application on the virtualized computer system to determine additional application resources associated with the application.

13. A computer system for backing up an application installed on a target computer system, the computer system comprising a system memory and a processor programmed to carry out the steps of:

virtualizing the target computer system to generate a virtualized computer system having a copy of the application installed thereon;

uninstalling the copy of the application from the virtualized computer system;

determining locations of application resources associated with the application based on a comparison of states of the virtualized computer system prior to the uninstalling and after the uninstalling;

generating a virtualized application package for the application based on the determined locations of the application resources associated with the application; and

generating a library of application states for the application, wherein the library of application states comprises a plurality of versioned changes to at least one application resource of the virtualized application package.

14. The computer system of claim 13 , wherein the processor is further programmed to carry out the step of:

modifying the virtualized application package to synchronize application state of the application installed on the computer system.

15. The computer system of claim 13 , wherein the processor is further programmed to carry out the step of:

receiving one or more changes to at least one application resource of the virtualized application package.

16. The computer system of claim 13 , wherein the processor is further programmed to carry out the step of:

responsive to receiving a request to failover to the virtualized application package, determining an application state for the virtualized application package; and

retrieving one or more versioned changes to at least one application resource of the virtualized application package to generate the determined application state.

17. The computer system of claim 13 , wherein the processor is further programmed to carry out the step of:

determining file permissions for the application resources associated with the application according to a state of the virtualized computer system prior to the uninstalling.

18. The computer system of claim 13 , wherein the processor is further programmed to carry out the step of:

monitoring execution of the copy of the application on the virtualized computer system to determine additional application resources associated with the application.

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/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2012
From: PANCHOLY, MITESH
To: VMWARE, INC.
Reel/Frame 028639/0282 →