IP Library Granted Patent US 10,592,616
Granted Patent B2
US 10,592,616 · App. 15/055,901 · Granted Mar 17, 2020

Generating simulation data using a linear curve simplification and reverse simplification method

Inventors: Shengzhi Liu (GuangDong, CN); Peisen Lin (GuangDong, CN); Yinghua Qin (GuangDong, CN)
Assignee: Quest Software Inc.
G06F17/5009G06N5/02
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 10,592,616
App. No.
15/055,901
Granted
Mar 17, 2020
Kind
B2
Abstract

Simulation data can be generated using a linear curve simplification and reverse simplification technique. The linear curve simplification and reverse simplification technique can facilitate the generation of simulation data from existing data where the simulation data will exhibit the same curve pattern as the existing data but with a degree of variation. In this way, varying sets of simulation data for a particular environment can be easily generated.

Claims (72)

1. A method, performed by a computing system that includes a simplification engine and a reverse simplification engine, for generating simulation data for testing a subject computing system based on existing data for the subject computing system by applying a simplification algorithm and a reverse simplification algorithm to the existing data to generate the simulation data with a controllable degree of individual distinction from the existing data such that the simulation data represents resource utilization variations that may actually occur when the subject computing system is executing, the method comprising:

obtaining, by the simplification engine, the existing data that comprises a series of points where each point represents resource utilization of the subject computing system at a particular time;

applying, by the simplification engine, the simplification algorithm to the existing data to convert the existing data into a reduced set of characteristic points, wherein the simplification engine employs a particular value of a parameter to calculate which of the points of the existing data are characteristic points;

receiving, by the reverse simplification engine and from the simplification engine, the reduced set of characteristic points and the particular value of the parameter;

calculating, by the reverse simplification engine, simulation data with a degree of individual distinction from the existing data by:

for each adjacent pair of characteristic points, defining a reverse simplification data sample zone using the particular value of the parameter;

for each defined reverse simplification data sample zone, generating a number of additional points that fall within the reverse simplification data sample zone; and

combining the number of additional points generated for each defined reverse simplification data sample zone along with the characteristic points to thereby produce the simulation data; and

testing the subject computing system using the simulation data.

2. The method of claim 1 , wherein each point in the series of points of the existing data represents one of:

actual resource utilization of the subject computing system obtained by monitoring the actual computing system's performance at each particular time; or

simulated resource utilization.

3. The method of claim 1 , wherein the parameter comprises a distance.

4. The method of claim 3 , wherein the distance is a perpendicular distance from a line between two points of the existing data.

5. The method of claim 4 , wherein the two points of the existing data are the first and last points.

6. The method of claim 3 , wherein the distance is a radial distance.

7. The method of claim 1 , wherein defining a reverse simplification data sample zone comprises:

identifying a first line between a first and a last characteristic point; and

identifying a second line that is parallel to the first line and is the farthest-spaced line from the first line that intersects a characteristic point.

8. The method of claim 7 , wherein defining a reverse simplification data sample zone further comprises:

identifying a first rectangle that has a first set of opposing sides that extend along the first and second lines and a second set of opposing sides that intersect the adjacent pair of characteristic points; and

identifying a second rectangle that has a first set of opposing sides that intersect the adjacent pair of characteristic points, has an axis of symmetry along a line segment between the adjacent pair of characteristic points, and that has a second set of opposing sides that are each spaced from the axis of symmetry by the particular value of the parameter;

wherein the reverse simplification data sample zone comprises the intersection of the first and second rectangles.

9. The method of claim 1 , wherein the number of additional points are generated randomly.

10. The method of claim 1 , further comprising:

receiving, by the reverse simplification engine, a decompression rate, wherein the number of additional points that are generated are based on the decompression rate.

11. The method of claim 1 , wherein the number of additional points that are generated are based on a number of points in the existing data.

12. The method of claim 1 , further comprising:

generating characteristic points from the simulation data; and

comparing the characteristic points generated from the simulation data to the characteristic points that were generated from the existing data to verify that the simulation data exhibits a degree of individual distinction from the existing data.

13. The method of claim 1 , wherein the simplification algorithm is the Ramer-Douglas-Peucker algorithm.

14. The method of claim 1 , further comprising:

applying, by the simplification engine, the simplification algorithm to the existing data to convert the existing data into a second reduced set of characteristic points, wherein the simplification engine employs a second particular value of the parameter, different from the first particular value of the parameter, to calculate which of the points of the existing data are characteristic points in the second reduced set of characteristic points;

receiving, by the reverse simplification engine and from the simplification engine, the second reduced set of characteristic points and the second particular value of the parameter;

calculating, by the reverse simplification engine, second simulation data with a second degree of individual distinction from the existing data by:

for each adjacent pair of characteristic points in the second reduced set of characteristic points, defining a reverse simplification data sample zone using the second particular value of the parameter;

for each defined reverse simplification data sample zone, generating a number of additional points that fall within the reverse simplification data sample zone; and

combining the number of additional points generated for each defined reverse simplification data sample zone along with the characteristic points in the second reduced set of characteristic points to thereby produce the second simulation data; and

testing the subject computing system using the second simulation data.

15. The method of claim 1 , further comprising:

sending the characteristic points and the particular value of the parameter to another reverse simplification engine.

16. One or more computer storage media storing computer executable instructions which when executed by one or more processors implement a method for generating simulation data for testing a subject computing system based on existing data for the subject computing system by applying a simplification algorithm and a reverse simplification algorithm to the existing data to generate the simulation data with a controllable degree of individual distinction from the existing data such that the simulation data represents resource utilization variations that may actually occur when the subject computing system is executing, the method comprising:

obtaining, by a simplification engine, the existing data that comprises a series of points where each point represents resource utilization of the subject computing system at a particular time;

applying, by the simplification engine, the simplification algorithm to the existing data to convert the existing data into a reduced set of characteristic points, wherein the simplification engine employs a particular value of a parameter to calculate which of the points of the existing data are characteristic points;

receiving, by a reverse simplification engine and from the simplification engine, the reduced set of characteristic points and the particular value of the parameter;

calculating, by the reverse simplification engine, simulation data with a degree of individual distinction from the existing data by:

for each adjacent pair of characteristic points, defining a reverse simplification data sample zone using the particular value of the parameter;

for each defined reverse simplification data sample zone, generating a number of additional points that fall within the reverse simplification data sample zone; and

combining the number of additional points generated for each defined reverse simplification data sample zone along with the characteristic points to thereby produce the simulation data; and

testing the subject computing system using the simulation data.

17. The computer storage media of claim 16 , wherein defining a reverse simplification data sample zone comprises:

identifying a first line between a first and a last characteristic point; and

identifying a second line that is parallel to the first line and is the farthest-spaced line from the first line that intersects a characteristic point.

18. The computer storage media of claim 17 , wherein defining a reverse simplification data sample zone further comprises:

identifying a first rectangle that has a first set of opposing sides that extend along the first and second lines and a second set of opposing sides that intersect the adjacent pair of characteristic points; and

identifying a second rectangle that has a first set of opposing sides that intersect the adjacent pair of characteristic points, has an axis of symmetry along a line segment between the adjacent pair of characteristic points, and that has a second set of opposing sides that are each spaced from the axis of symmetry by the particular value of the parameter;

wherein the reverse simplification data sample zone comprises the intersection of the first and second rectangles.

19. A method, performed by a computing system that includes a simplification engine and a reverse simplification engine, for generating multiple sets of simulation data for testing a subject computing system based on existing data for the subject computing system by applying a simplification algorithm and a reverse simplification algorithm to the existing data to generate each of the multiple sets of simulation data with a controllable degree of individual distinction from the existing data such that each of the multiple sets of simulation data represents resource utilization variations that may actually occur when the subject computing system is executing, the method comprising:

obtaining, by the simplification engine, the existing data that comprises a series of points where each point represents resource utilization of the subject computing system at a particular time;

applying, by the simplification engine, the simplification algorithm to the existing data to convert the existing data into multiple reduced sets of characteristic points, wherein the simplification engine employs a different value of a parameter to calculate which of the points of the existing data are characteristic points in each of the multiple reduced sets of the characteristic points;

receiving, by the reverse simplification engine and from the simplification engine, the multiple reduced sets of characteristic points and the corresponding values of the parameter;

calculating, by the reverse simplification engine, multiple sets of simulation data where each set of simulation data exhibits a different degree of individual distinction from the existing data, each set of simulation data being calculated using a corresponding reduced set of characteristic points and a corresponding value of the parameter by:

for each adjacent pair of characteristic points in the corresponding reduced set of characteristic points, defining a reverse simplification data sample zone using the corresponding value of the parameter;

for each defined reverse simplification data sample zone, generating a number of additional points that fall within the reverse simplification data sample zone; and

combining the number of additional points generated for each defined reverse simplification data sample zone along with the characteristic points in the corresponding reduced set of characteristic points to thereby produce the set of simulation data; and

testing the subject computing system using at least one of the sets of simulation data.

20. The method of claim 19 , wherein defining a reverse simplification data sample zone comprises:

identifying a first line between a first and a last characteristic point in the corresponding reduced set of characteristic points;

identifying a second line that is parallel to the first line and is the farthest-spaced line from the first line that intersects a characteristic point;

identifying a first rectangle that has a first set of opposing sides that extend along the first and second lines and a second set of opposing sides that intersect the adjacent pair of characteristic points; and

identifying a second rectangle that has a first set of opposing sides that intersect the adjacent pair of characteristic points, has an axis of symmetry along a line segment between the adjacent pair of characteristic points, and that has a second set of opposing sides that are each spaced from the axis of symmetry by the corresponding value of the parameter;

wherein the reverse simplification data sample zone comprises the intersection of the first and second rectangles.

Assignments (26)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CHANGE OF NAME Recorded Sep 13, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 043834/0852 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF REEL 038664 FRAME 0908 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038665/0041 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038665/0001 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 11, 2016
From: DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 038664/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2016
From: LIU, SHENGZHI; LIN, PEISEN; QIN, YINGHUA
To: DELL SOFTWARE, INC.
Reel/Frame 037850/0480 →