IP Library Granted Patent US 9,870,241
Granted Patent B2
US 9,870,241 · App. 15/009,474 · Granted Jan 16, 2018

Data transfer guide

Inventors: Bill Faught (Sunnyvale, CA); Christopher Trueman (Bristol, GB)
Assignee: IntelliCorp Inc.
G06F9/45516G06F9/45533G06F9/45558G06F11/36G06F2009/45591
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 9,870,241
App. No.
15/009,474
Granted
Jan 16, 2018
Kind
B2
Abstract

Techniques to create and use a data transfer guide are disclosed. In various embodiments, at least a portion of application code comprising an application is executed in a virtual machine execution environment. An interaction between the application code executing in the virtual machine execution environment with a data entity included in a set of production data is observed programmatically. A data that represents the data entity is included in a data transfer guide at least in part programmatically.

Claims (39)

1. A method, comprising:

executing in a virtual machine execution environment at least a portion of application code comprising an application; and

observing programmatically an interaction between the application code executing in the virtual machine execution environment with a data entity included in a set of production data to create a data transfer guide, wherein to create the data transfer guide at least includes:

determining that the application code is attempting to change a production data value associated with the data entity and storing data reflecting the change in a shadow data store associated with the virtual machine execution environment;

determining a subset of the production data to be copied to a secondary location, the subset includes a minimal subset of production data that is determined to be minimally sufficient to exercise a portion of the application code that is associated with one or more execution paths of interest;

copying the subset of the production data to the secondary location; and

executing new or updated application code using the subset of production data.

2. The method of claim 1 , wherein the data entity comprises a first data entity and further comprising observing a relationship between the first data entity and a second data entity included in the set of production data.

3. The method of claim 2 , further comprising storing the relationship between the first data entity and the second data entity and the interaction between the application code executing in the virtual machine execution environment with the data entity.

4. The method of claim 1 , further comprising creating the data transfer guide at least in part on the interaction and a relationship between the data entity and the application code.

5. The method of claim 1 , wherein the secondary location includes a test environment.

6. The method of claim 1 , wherein the secondary location includes a development environment.

7. The method of claim 1 , further comprising performing data masking with respect to at least a portion of the subset of production data as stored in the secondary location.

8. The method of claim 7 , wherein the data masking renders confidential application data anonymous.

9. The method of claim 1 , wherein the system at the secondary location is configured to approve the new or updated application code based on whether the new or updated application code satisfies one or more applicable quality assurance criteria.

10. The method of claim 9 , further comprising approving the new or updated application code.

11. The method of claim 10 , further comprising, deploying the new or updated application code to a system from which the set of production data originates.

12. A system, comprising:

a memory; and

a processor coupled to the memory and configured to:

execute in a virtual machine execution environment at least a portion of application code comprising an application; and

observe programmatically an interaction between the application code executing in the virtual machine execution environment with a data entity included in a set of production data to create a data transfer guide, wherein to create the data transfer guide the processor is at least configured to:

determine that the application code is attempting to change a production data value associated with the data entity and store data reflecting the change in a shadow data store associated with the virtual machine execution environment; and

determine a subset of the production data to be copied to a secondary location based on the data transfer guide, the subset includes a minimal subset of production data that is determined to be minimally sufficient to exercise a portion of the application code that is associated with one or more execution paths of interest;

copy the subset of the production data to the secondary location; and

execute new or updated application code using the subset of production data.

13. The system of claim 12 , wherein the data entity comprises a first data entity and further comprising observing a relationship between the first data entity and a second data entity included in the set of production data.

14. The system of claim 13 , wherein the processor is further configured to store the relationship between the first data entity and the second data entity and the interaction between the application code executing in the virtual machine execution environment with the data entity.

15. The system of claim 12 , wherein the processor is further configured to create the data transfer guide at least in part on the interaction and a relationship between the data entity and the application code.

16. The system of claim 12 , wherein the processor is further configured to perform data masking with respect to at least a portion of the subset of data as stored in the secondary location.

17. A computer program product, stored on a non-transitory computer readable storage medium, comprising computer instructions for:

executing in a virtual machine execution environment at least a portion of application code comprising an application; and

observing programmatically an interaction between the application code executing in the virtual machine execution environment with a data entity included in a set of production data to create a data transfer guide, wherein to create the data transfer guide at least includes:

determining that the application code is attempting to change a production data value associated with the data entity and storing data reflecting the change in a shadow data store associated with the virtual machine execution environment;

determining a subset of the production data to be copied to a secondary location based on the data transfer guide, the subset includes a minimal subset of production data that is determined to be minimally sufficient to exercise a portion of the application code that is associated with one or more execution paths of interest;

copying the subset of the production data to the secondary location; and

executing new or updated application code using the subset of production data.

18. The computer program product of claim 17 , wherein the data entity comprises a first data entity and further comprising observing a relationship between the first data entity and a second data entity included in the set of production data.

19. The computer program product of claim 18 , further comprising instructions for storing the relationship between the first data entity and the second data entity and the interaction between the application code executing in the virtual machine execution environment with the data entity.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Feb 13, 2025
From: PNC BANK, NATIONAL ASSOCIATION
To: TRICENTIS AMERICAS, INC.; TRICENTIS GMBH
Reel/Frame 070216/0402 →
GRANT OF SECURITY INTEREST IN PATENTS Recorded Feb 11, 2025
From: TRICENTIS AMERICAS, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 070187/0305 →
SECURITY INTEREST Recorded Nov 2, 2023
From: TRICENTIS AMERICAS, INC.; TRICENTIS GMBH
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 065440/0283 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: TRUEMAN, CHRISTOPHER
To: INTELLICORP, INC.
Reel/Frame 049190/0070 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: FAUGHT, BILL
To: INTELLICORP, INC.
Reel/Frame 049190/0075 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: INTELLICORP, INC.
To: TRICENTIS AMERICAS, INC.
Reel/Frame 049190/0123 →
Continuity (3)
Continuation 14055529 · Oct 16, 2013
Provisional Application 61714678 · Oct 16, 2012
Related Publication 20160203011A1 · Jul 14, 2016