FAULT TOLERANT APPLICATION STORAGE VOLUMES FOR ENSURING APPLICATION AVAILABILITY AND PREVENTING DATA LOSS USING FORKING TECHNIQUES
First Claim
1. A method for fault tolerant delivery of an application to a virtual machine (VM) being executed by a server in a remote desktop environment using application storage volumes, comprising:
- delivering the application to the VM by attaching a primary application storage volume (ASV) containing components of the application to the VM;
cloning the primary ASV to create a backup ASV;
executing the application on the VM from the primary ASV;
monitoring the primary ASV to detect failures;
detecting a failure of the primary ASV;
in response to the detecting the failure of the primary ASV, forking a child application process from a parent application process of the application;
attaching the backup ASV to the VM;
directing the child application process to the backup ASV; and
resuming the application with the child application process from the backup ASV.
3 Assignments
0 Petitions
Accused Products
Abstract
A fault tolerant system is described for deploying an application contained in an application storage volume, which may be a virtual disk, on a virtual machine (VM) in a remote desktop environment. The application can be executed on the VM after mounting the virtual disk. A backup of the virtual disk is produced by cloning the virtual disk to a different storage device than the location of the primary virtual disk. In some embodiments, if the primary virtual disk fails during execution of the application, the application is suspended, redirected to the backup virtual disk, and resumed from the backup virtual disk. In other embodiments, if the primary virtual disk fails during execution of the application, a child process is spun off from the parent process using forking techniques, the child process is directed to the backup virtual disk, and the application is resumed from the backup virtual disk.
-
Citations
20 Claims
-
1. A method for fault tolerant delivery of an application to a virtual machine (VM) being executed by a server in a remote desktop environment using application storage volumes, comprising:
-
delivering the application to the VM by attaching a primary application storage volume (ASV) containing components of the application to the VM; cloning the primary ASV to create a backup ASV; executing the application on the VM from the primary ASV; monitoring the primary ASV to detect failures; detecting a failure of the primary ASV; in response to the detecting the failure of the primary ASV, forking a child application process from a parent application process of the application; attaching the backup ASV to the VM; directing the child application process to the backup ASV; and resuming the application with the child application process from the backup ASV. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device for fault tolerant delivery of an application to a virtual machine (VM) being executed by a server in a remote desktop environment using application storage volumes, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the computing device to perform the steps of; delivering the application to the VM by attaching a primary application storage volume (ASV) containing components of the application to the VM; cloning the primary ASV to create a backup ASV; executing the application on the VM from the primary ASV; monitoring the primary ASV to detect failures; detecting a failure of the primary ASV; in response to the detecting the failure of the primary ASV, forking a child application process from a parent application process of the application; attaching the backup ASV to the VM; directing the child application process to the backup ASV; and resuming the application with the child application process from the backup ASV. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium for fault tolerant delivery of an application to a virtual machine (VM) being executed by a server in a remote desktop environment using application storage volumes, 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:
-
delivering the application to the VM by attaching a primary application storage volume (ASV) containing components of the application to the VM; cloning the primary ASV to create a backup ASV; executing the application on the VM from the primary ASV; monitoring the primary ASV to detect failures; detecting a failure of the primary ASV; in response to the detecting the failure of the primary ASV, forking a child application process from a parent application process of the application; attaching the backup ASV to the VM; directing the child application process to the backup ASV; and resuming the application with the child application process from the backup ASV. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification