IP Library Granted Patent US 11,233,704
Granted Patent B2
US 11,233,704 · App. 16/775,807 · Granted Jan 25, 2022

Machine learning based end to end system for tcp optimization

Inventors: Tejaswini Ganapathi (San Francisco, CA); Satish Raghunath (Sunnyvale, CA); Shauli Gal (Mountain View, CA)
Assignee: salesforce.com, inc.
H04L41/16H04L41/142H04L43/062H04L47/21
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 11,233,704
App. No.
16/775,807
Granted
Jan 25, 2022
Kind
B2
Abstract

Bypass network traffic records are generated for a web application. Sufficient statistics of network optimization parameters are calculated for network performance categories. The bypass network traffic records are partitioned for the network performance categories into network traffic buckets. Sufficient statistics and the network traffic buckets are used to generate network quality mappings. The network quality mappings are used as training instances to train a machine learner for generating network optimization policies to be implemented by user devices.

Claims (44)

1. A computer-implemented method, comprising:

receiving, by one or more computing devices, a plurality of bypass network traffic records for a web application that communicates with user devices from a plurality of different access networks in a time window over a plurality of application servers located at a plurality of different geographic locations, wherein the plurality of bypass network traffic records is generated from network traffic data devoid of information about (a) network access technologies used by the user devices and (b) locations of the user devices;

wherein the plurality of bypass network traffic records is clustered into a plurality of network performance categories, wherein each network performance category in the plurality of network performance categories comprises a respective subset of bypass network traffic records in the plurality of bypass network traffic records;

calculating, by the one or more computing devices, a plurality of sets of sufficient statistics of one or more network optimization parameters for the plurality of network performance categories, wherein each set of sufficient statistics of the one or more network optimization parameters is calculated for a corresponding network performance category based on its respective subset of bypass network traffic records;

partitioning, by the one or more computing devices, the respective subset of bypass network traffic records for the corresponding network performance category into one or more network traffic buckets, thereby generating a plurality of network traffic buckets for the plurality of network performance categories;

generating, from the plurality of sets of sufficient statistics and the plurality of network traffic buckets, a plurality of network quality mappings;

using the plurality of network quality mappings as training instances to train a machine learner for generating network optimization policies; and

causing the one or more network optimization policies generated by the machine learner to be propagated to one or more user devices to be implemented by the one or more user devices in making network requests to the web application.

2. The method as recited in claim 1 , wherein each network quality mapping in the plurality of network quality mappings is weighed by a respective traffic share represented in a network traffic bucket used to generate the network quality mapping.

3. The method as recited in claim 1 , wherein expected values of the network optimization parameters are generated from the sufficient statistics of the network optimization parameters to be used as optimized values of the network optimization parameters.

4. The method as recited in claim 1 , wherein the sufficient statistics of the network optimization parameters are used to generate optimized values of the network optimization parameters.

5. The method as recited in claim 1 , wherein the plurality of network quality mappings is derived from the network traffic data intrinsically with no dependence on information about (a) network access technologies used by the user devices and (b) locations of the user devices.

6. The method as recited in claim 1 , wherein the plurality of bypass network traffic records for the web application is free of network traffic records for accelerated network requests and accelerated data downloads.

7. The method as recited in claim 1 , wherein the plurality of bypass network traffic records for the web application further includes network traffic records for accelerated network requests and accelerated data downloads.

8. A non-transitory computer readable medium storing a program of instructions that is executable by a device to perform a method, the method comprising:

receiving, by a computing device implementing unsupervised machine learning, a plurality of bypass network traffic records for a web application that communicates with user devices from a plurality of different access networks in a time window over a plurality of application servers located at a plurality of different geographic locations, wherein the plurality of bypass network traffic records is generated from network traffic data devoid of information about (a) network access technologies used by the user devices and (b) locations of the user devices;

wherein the plurality of bypass network traffic records is clustered into a plurality of network performance categories, wherein each network performance category in the plurality of network performance categories comprises a respective subset of bypass network traffic records in the plurality of bypass network traffic records;

calculating, using a sufficient statistics generator implemented by the computing device, a plurality of sets of sufficient statistics of one or more network optimization parameters for the plurality of network performance categories, wherein each set of sufficient statistics of the one or more network optimization parameters is calculated for a corresponding network performance category based on its respective subset of bypass network traffic records;

partitioning, using a data aggregator implemented by the computing device, the respective subset of bypass network traffic records for the corresponding network performance category into one or more network traffic buckets, thereby generating a plurality of network traffic buckets for the plurality of network performance categories;

generating, from the plurality of sets of sufficient statistics and the plurality of network traffic buckets, a plurality of network quality mappings;

using the plurality of network quality mappings as training instances to train a machine learner for generating network optimization policies; and

causing the one or more network optimization policies generated by the machine learner to be propagated to one or more user devices to be implemented by the one or more user devices in making network requests to the web application.

9. The non-transitory computer readable medium as recited in claim 8 , wherein each network quality mapping in the plurality of network quality mappings is weighed by a respective traffic share represented in a network traffic bucket used to generate the network quality mapping.

10. The non-transitory computer readable medium as recited in claim 8 , wherein expected values of the network optimization parameters are generated from the sufficient statistics of the network optimization parameters to be used as optimized values of the network optimization parameters.

11. The non-transitory computer readable medium as recited in claim 8 , wherein the sufficient statistics of the network optimization parameters are used to generate optimized values of the network optimization parameters.

12. The non-transitory computer readable medium as recited in claim 8 , wherein the plurality of network quality mappings is derived from the network traffic data intrinsically with no dependence on information about (a) network access technologies used by the user devices and (b) locations of the user devices.

13. The non-transitory computer readable medium as recited in claim 8 , wherein the plurality of bypass network traffic records for the web application is free of network traffic records for accelerated network requests and accelerated data downloads.

14. The non-transitory computer readable medium as recited in claim 8 , wherein the plurality of bypass network traffic records for the web application further includes network traffic records for accelerated network requests and accelerated data downloads.

15. An apparatus, comprising:

one or more computing devices;

a non-transitory computer readable medium storing a program of instructions that is executable by the one or more computing devices to perform a method, the method comprising:

receiving a plurality of bypass network traffic records for a web application that communicates with user devices from a plurality of different access networks in a time window over a plurality of application servers located at a plurality of different geographic locations, wherein the plurality of bypass network traffic records is generated from network traffic data devoid of information about (a) network access technologies used by the user devices and (b) locations of the user devices;

wherein the plurality of bypass network traffic records is clustered into a plurality of network performance categories, wherein each network performance category in the plurality of network performance categories comprises a respective subset of bypass network traffic records in the plurality of bypass network traffic records;

calculating a plurality of sets of sufficient statistics of one or more network optimization parameters for the plurality of network performance categories, wherein each set of sufficient statistics of the one or more network optimization parameters is calculated for a corresponding network performance category based on its respective subset of bypass network traffic records;

partitioning the respective subset of bypass network traffic records for the corresponding network performance category into one or more network traffic buckets, thereby generating a plurality of network traffic buckets for the plurality of network performance categories;

generating, from the plurality of sets of sufficient statistics and the plurality of network traffic buckets, a plurality of network quality mappings;

using the plurality of network quality mappings as training instances to train a machine learner for generating network optimization policies; and

causing the one or more network optimization policies generated by the machine learner to be propagated to one or more user devices to be implemented by the one or more user devices in making network requests to the web application.

16. The apparatus as recited in claim 15 , wherein each network quality mapping in the plurality of network quality mappings is weighed by a respective traffic share represented in a network traffic bucket used to generate the network quality mapping.

17. The apparatus as recited in claim 15 , wherein expected values of the network optimization parameters are generated from the sufficient statistics of the network optimization parameters to be used as optimized values of the network optimization parameters.

18. The apparatus as recited in claim 15 , wherein the sufficient statistics of the network optimization parameters are used to generate optimized values of the network optimization parameters.

19. The apparatus as recited in claim 15 , wherein the plurality of network quality mappings is derived from the network traffic data intrinsically with no dependence on information about (a) network access technologies used by the user devices and (b) locations of the user devices.

20. The apparatus as recited in claim 15 , wherein the plurality of bypass network traffic records for the web application is free of network traffic records for accelerated network requests and accelerated data downloads.

21. The apparatus as recited in claim 15 , wherein the plurality of bypass network traffic records for the web application further includes network traffic records for accelerated network requests and accelerated data downloads.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2020
From: GANAPATHI, TEJASWINI; RAGHUNATH, SATISH; GAL, SHAULI
To: SALESFORCE.COM, INC.
Reel/Frame 051885/0802 →
Continuity (1)
Related Publication 20210234769A1 · Jul 29, 2021
Cited By (2)
US 12,563,010 US 12,587,941