Concurrent execution of a first instance and a cloned instance of an application
Abstract
Methods, systems, and apparatus, including computer program products, for reconciling data on a set of virtual machines, generating a virtual machine snapshot of the set of shadow virtual machines, identifying a set of virtual disks and containers of the set of virtual disks, wherein the set of virtual disks operates as storage for the set of shadow virtual machines, producing a set of storage snapshots of the containers of the set of virtual disks, identifying data that has changed within the set of storage snapshots, and reconciling the data back to when the virtual machine snapshot was generated. Using the reconciled data to test a computer application having a first instance, generate a cloned instance of the application, wherein the cloned instance sources storage shared with the first instance, interact with the cloned instance to cause a result without interacting with the first instance, and monitor the result.
Claims
exact text as granted — not AI-modified1 .- 26 . (canceled)
27 . A computer-implemented method of testing a computer application having a first instance executing in a computing environment, the method comprising:
executing a cloned instance of the application concurrently with execution of the first instance of the application, wherein executing the cloned instance includes interacting with the computing environment through a communication layer that modifies inbound and outbound communications to and from the cloned instance, including accessing data in a storage element of the computing environment shared with the first instance; interacting with the cloned instance to cause a result without interacting with the first instance; and monitoring the result.
28 . The method of claim 27 , wherein interacting with the cloned instance of the application comprises:
executing instructions to alter data in the storage element relied upon by the cloned instance of the application without altering data relied upon by the first instance of the application.
29 . The method of claim 27 , wherein interacting with the cloned instance of the application comprises causing the cloned instance of the application to process input.
30 . The method of claim 27 , wherein interacting with the cloned instance of the application comprises performing one or more interactions specified in a workflow.
31 . The method of claim 30 , wherein the workflow comprises a sequence of task specifications, each task specification comprising either a single task or a set of tasks to be executed in parallel.
32 . The method of claim 30 , wherein the workflow is recorded in an Extensible Markup Language (XML) format.
33 .- 37 . (canceled)
38 . A non-transitory machine-readable medium that stores a computer program for testing a computer application having a first instance executing in a computing environment, the computer program including executable instructions to cause a machine to:
execute a cloned instance of a computer application concurrently with execution of the first instance of the application, wherein executing the cloned instance includes interacting with the computing environment through a communication layer that modifies inbound and outbound communications to and from the cloned instance, including accessing data in a storage element of the computing environment shared with the first instance; interact with the cloned instance to cause a result without interacting with the first instance; and monitor the result.
39 . The machine-readable medium of claim 38 , wherein the instructions to interact with the cloned instance of the application comprise instructions to:
alter data in the storage element relied upon by the cloned instance of the application without altering data relied upon by the first instance of the application.
40 . The machine-readable medium of claim 38 , wherein the instructions to interact with the cloned instance of the application comprises:
cause the cloned instance of the application to process input.
41 . The machine-readable medium of claim 38 , wherein the instructions to interact with the cloned instance of the application comprise instructions to:
perform one or more interactions specified in a workflow.
42 . The machine-readable medium of claim 41 , wherein the workflow comprises a sequence of task specifications, each task specification comprising either a single task or a set of tasks to be executed in parallel.
43 . The machine-readable medium of claim 41 , wherein the workflow is recorded in an Extensible Markup Language (XML) format.
44 . The method of claim 27 , wherein the communication layer masks communication between the first instance of the application and the cloned instance of the application.
45 . The method of claim 27 , wherein modifying inbound and outbound communications to and from the cloned instance includes modifying addresses or names in the inbound and outbound communications.
46 . The method of claim 27 , wherein modifying inbound and outbound communications to and from the cloned instance includes maintaining isolation between the first instance of the application and the cloned instance of the application.
47 . The method of claim 46 , wherein the first instance of the application and the cloned instance of the application each communicate with the same server application.
48 . The method of claim 27 , wherein interacting with the cloned instance to cause a result without interacting with the first instance occurs through a storage system layer that provides the cloned instance a view of data in the storage element relied upon by the first instance of the application and filters write operations of data relied upon by the cloned instance of the application, and the storage system layer provides the cloned instance a duplicated computing environment.
49 . The method of claim 48 , wherein the communication layer limits usage demand on the computing environment in which the first instance is executing by throttling requests.
50 . The method of claim 48 , wherein the communication layer provides at least one virtual network to enable communication between multiple cloned instances executing in the duplicated computing environment.
51 . The method of claim 48 , wherein providing the duplicated computing environment includes reconciling a time-fixed data image and the computing environment in which the first instance is executing.
52 . The machine-readable storage medium of claim 38 , wherein the communication layer masks communication between the first instance of the application and the cloned instance of the application.
53 . The machine-readable storage medium of claim 38 , wherein modifying inbound and outbound communications to and from the cloned instance includes modifying addresses or names in the inbound and outbound communications.
54 . The machine-readable storage medium of claim 38 , wherein modifying inbound and outbound communications to and from the cloned instance includes maintaining isolation between the first instance of the application and the cloned instance of the application.
55 . The machine-readable storage medium of claim 54 , wherein the first instance of the application and the cloned instance of the application each communicate with the same server application.
56 . The machine-readable storage medium of claim 38 , wherein interacting with the cloned instance to cause a result without interacting with the first instance occurs through a storage system layer that provides the cloned instance a view of data in the storage element relied upon by the first instance of the application and filters write operations of data relied upon by the cloned instance of the application, and the storage system layer provides the cloned instance a duplicated computing environment.
57 . The machine-readable storage medium of claim 56 , wherein the communication layer limits usage demand on the computing environment in which the first instance is executing by throttling requests.
58 . The machine-readable storage medium of claim 56 , wherein the communication layer provides at least one virtual network to enable communication between multiple cloned instances executing in the duplicated computing environment.
59 . The machine-readable storage medium of claim 56 , wherein providing the duplicated computing environment includes reconciling a time-fixed data image and the computing environment in which the first instance is executing.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.