US2016350205A1PendingUtilityA1

Concurrent execution of a first instance and a cloned instance of an application

52
Assignee: KUBISYS INCPriority: Oct 19, 2007Filed: Aug 15, 2016Published: Dec 1, 2016
Est. expiryOct 19, 2027(~1.3 yrs left)· nominal 20-yr term from priority
H04L 47/70H04L 41/14G06F 11/3698G06F 11/3684G06F 11/3692G06F 11/3688G06F 17/30908G06F 2009/45583G06F 11/3664G06F 2009/45591G06F 9/45558G06F 11/1433G06F 16/80G06F 11/1471G06F 9/455G06F 2201/84G06F 2009/45595G06F 9/542G06F 9/45533H04L 67/51H04L 67/1097G06F 11/302H04L 41/50G06F 11/3696G06F 2201/815
52
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 .- 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.