IP Library Granted Patent US 10,791,035
Granted Patent B2
US 10,791,035 · App. 15/803,501 · Granted Sep 29, 2020

On demand synthetic data matrix generation

Inventors: Tejaswini Ganapathi (San Francisco, CA); Satish Raghunath (Sunnyvale, CA); Xu Che (San Mateo, CA); Shauli Gal (Mountain View, CA); Andrey Karapetov (San Ramon, CA)
Assignee: salesforce.com, inc.
H04L41/145G05B17/02G06F16/2477G06F17/16G06N7/005H04L41/142H04L43/08H04L43/087H04L43/0829H04L43/0858H04L43/0888
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,791,035
App. No.
15/803,501
Granted
Sep 29, 2020
Kind
B2
Abstract

An data driven approach to generating synthetic data matrices is presented. By retrieving historical network traffic data, probabilistic models are generated. Optimal distribution families for a set of independent data segments are determined. Applications are tested and performance metrics are determined based on the generated synthetic data matrices.

Claims (43)

1. A method, comprising:

retrieving historical network traffic data from a historical network traffic data store, wherein the historical network traffic data is associated with one or more parameterized data segments of a network request;

determining one or more representative statistics associated with a set of probability distribution function families associated with each parameterized data segment based on the historical network traffic data;

determining an optimal distribution family associated with each parameterized data segment comprising the one or more representative statistics;

generating a plurality of value combinations based on sampling from the optimal distribution family associated with each parameterized data segment;

calculating a plurality of download outcomes using the plurality of value combinations as a plurality of network requests associated with one or more applications;

determining a set of performance metrics of the one or more applications based on the plurality of download outcomes;

configuring network parameters of the one or more applications based on the set of performance metrics, wherein the network parameters affect network performance of the one or more applications.

2. The method as recited in claim 1 , further comprising generating an inference of performance based on the set of performance metrics.

3. The method as recited in claim 2 , further comprising storing the inference of performance in a data store.

4. The method as recited in claim 1 , further comprising applying policy optimizations to a first subset of the plurality of value combinations to generate accelerated network requests.

5. The method as recited in claim 4 , further comprising determining a second subset of the plurality of value combinations as bypass network requests, wherein determining a set of performance metrics of the one or more applications based on the plurality of download outcomes comprises comparing a first set of download outcomes associated with the first subset of the plurality of value combinations to a second set of download outcomes associated with the second subset of the plurality of value combinations.

6. The method as recited in claim 1 , wherein the parameterized data segments of a network request comprises one or more of an application, a network type, a geography, or a time window.

7. The method as recited in claim 1 , further comprising:

generating aggregate datasets of performance metrics comparing different combinations of network values of parameterized data segments that affect application performance.

8. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

retrieving historical network traffic data from a historical network traffic data store, wherein the historical network traffic data is associated with one or more parameterized data segments of a data request;

determining one or more representative statistics associated with a set of probability distribution function families associated with each parameterized data segment based on the historical network traffic data;

determining an optimal distribution family associated with each parameterized data segment comprising the one or more representative statistics;

generating a plurality of value combinations based on sampling from the optimal distribution family associated with each parameterized data segment;

calculating a plurality of download outcomes using the plurality of value combinations as a plurality of network requests associated with one or more applications;

determining a set of performance metrics of the one or more applications based on the plurality of download outcomes;

configuring network parameters of the one or more applications based on the set of performance metrics, wherein the network parameters affect network performance of the one or more applications.

9. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the one or more sequences of instructions, which when executed by the one or more processors further cause performance of: generating an inference of performance based on the set of performance metrics.

10. The one or more non-transitory computer-readable storage media as recited in claim 9 , wherein the one or more sequences of instructions, which when executed by the one or more processors further cause performance of: storing the inference of performance in a data store.

11. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the one or more sequences of instructions, which when executed by the one or more processors further cause performance of: applying policy optimizations to a first subset of the plurality of value combinations to generate accelerated network requests.

12. The one or more non-transitory computer-readable storage media as recited in claim 11 , wherein the one or more sequences of instructions, which when executed by the one or more processors further cause performance of: determining a second subset of the plurality of value combinations as bypass network requests, wherein determining a set of performance metrics of the one or more applications based on the plurality of download outcomes comprises comparing a first set of download outcomes associated with the first subset of the plurality of value combinations to a second set of download outcomes associated with the second subset of the plurality of value combinations.

13. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the one or more sequences of instructions, which when executed by the one or more processors further cause performance of:

generating aggregate datasets of performance metrics comparing different combinations of network values of parameterized data segments that affect application performance.

14. An apparatus, comprising:

a subsystem, implemented at least partially in hardware, that retrieves historical network traffic data from a historical network traffic data store, wherein the historical network traffic data is associated with one or more parameterized data segments of a network request;

a subsystem, implemented at least partially in hardware, that determines one or more representative statistics associated with a set of probability distribution function families associated with each parameterized data segment based on the historical network traffic data;

a subsystem, implemented at least partially in hardware, that determines an optimal distribution family associated with each parameterized data segment comprising the one or more representative statistics;

a subsystem, implemented at least partially in hardware, that generates a plurality of value combinations based on sampling from the optimal distribution family associated with each parameterized data segment;

a subsystem, implemented at least partially in hardware, that calculates a plurality of download outcomes using the plurality of value combinations as a plurality of network requests associated with one or more applications;

a subsystem, implemented at least partially in hardware, that determines a set of performance metrics of the one or more applications based on the plurality of download outcomes;

a subsystem, implemented at least partially in hardware, that configures network parameters of the one or more applications based on the set of performance metrics, wherein the network parameters affect network performance of the one or more applications.

15. The apparatus as recited in claim 14 , further comprising a subsystem, implemented at least partially in hardware, that generates an inference of performance based on the set of performance metrics.

16. The apparatus as recited in claim 15 , further comprising a subsystem, implemented at least partially in hardware, that stores the inference of performance in a data store.

17. The apparatus as recited in claim 14 , further comprising a subsystem, implemented at least partially in hardware, that applies policy optimizations to a first subset of the plurality of value combinations to generate accelerated network requests.

18. The apparatus as recited in claim 17 , further comprising a subsystem, implemented at least partially in hardware, that determines a second subset of the plurality of value combinations as bypass network requests, wherein determining a set of performance metrics of the one or more applications based on the plurality of download outcomes comprises comparing a first set of download outcomes associated with the first subset of the plurality of value combinations to a second set of download outcomes associated with the second subset of the plurality of value combinations.

19. The apparatus as recited in claim 14 , wherein the parameterized data segments of a network request comprises one or more of an application, a network type, a geography, or a time window.

20. The apparatus as recited in claim 14 , further comprising a subsystem, implemented at least partially in hardware, that generates aggregate datasets of performance metrics comparing different combinations of network values of parameterized data segments that affect application performance.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: GANAPATHI, TEJASWINI; RAGHUNATH, SATISH; CHE, XU; GAL, SHAULI; KARAPETOV, ANDREY
To: SALESFORCE.COM, INC.
Reel/Frame 044109/0824 →
Cited By (1)
US 12,563,010