IP Library Granted Patent US 10,205,634
Granted Patent B2
US 10,205,634 · App. 15/593,635 · Granted Feb 12, 2019

Adaptive multi-phase network policy optimization

Inventors: Shauli Gal (Mountain View, CA); Satish Raghunath (Sunnyvale, CA); Kartikeya Chandrayana (San Francisco, CA); Tejaswini Ganapathi (San Francisco, CA)
Assignee: salesforce.com, inc.
H04L41/0893H04L41/046H04L43/16H04L67/28H04L69/16
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,205,634
App. No.
15/593,635
Granted
Feb 12, 2019
Kind
B2
Abstract

An adaptive multi-phase approach to estimating network parameters is presented. By gathering and aggregating raw network traffic data and comparing against default network parameters, a training data set may be generated. A black box optimization may be used in tandem with a supervised learning algorithm to bias towards better choices and eventually pick network parameters which optimize performance. Data delivery strategies are applied to deliver content using the optimized network policies based on the estimated parameters.

Claims (48)

1. A method, comprising:

receiving, at a plurality of proxy servers, a plurality of data transfer requests from a plurality of user devices;

determining a range of parameter values associated with a TCP parameter;

assigning a random parameter value from the range of parameter values to the TCP parameter for a time block of a plurality of time blocks, the random parameter value comprising a static policy;

assigning a default TCP parameter value to a subset of the plurality of data transfer requests, wherein raw network traffic data values associated with the subset of the plurality of data transfer requests comprise bypass traffic data values;

determining a plurality of raw network traffic data values associated with the plurality of data transfer requests based on the static policy;

storing the bypass traffic data values and the plurality of raw network traffic data values based on the static policy in a network traffic data store;

for each combination of TCP parameter and time block of the plurality of time blocks:

determining an aggregate data point having performance metrics comparing static policy against the bypass traffic data values;

estimating a best value for the TCP parameter; and

verifying the best value by comparing to a second TCP parameter value determined from a black box optimization, wherein the best value is verified based on a threshold tolerance value associated with the TCP parameter.

2. The method as recited in claim 1 , further comprising determining a network policy associated with the TCP parameter for use on future network traffic based on the best value being within the threshold tolerance value.

3. The method as recited in claim 2 , wherein each proxy server comprises an accelerator to implement the network policy.

4. The method as recited in claim 2 , wherein each user device comprises an agent that implements the network policy.

5. The method as recited in claim 1 , wherein determining the plurality of raw network traffic data values is performed by each proxy host based on the TCP parameter.

6. The method as recited in claim 1 , wherein determining the plurality of raw network traffic data values is performed by each user device based on the TCP parameter.

7. 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:

receiving, at a plurality of proxy servers, a plurality of data transfer requests from a plurality of user devices;

determining a range of parameter values associated with a TCP parameter;

assigning a random parameter value from the range of parameter values to the TCP parameter for a time block of a plurality of time blocks, the random parameter value comprising a static policy;

assigning a default TCP parameter value to a subset of the plurality of data transfer requests, wherein raw network traffic data values associated with the subset of the plurality of data transfer requests comprise bypass traffic data values;

determining a plurality of raw network traffic data values associated with the plurality of data transfer requests based on the static policy;

storing the bypass traffic data values and the plurality of raw network traffic data values based on the static policy in a network traffic data store;

for each combination of TCP parameter and time block of the plurality of time blocks:

determining an aggregate data point having performance metrics comparing static policy against the bypass traffic data values;

estimating a best value for the TCP parameter; and

verifying the best value by comparing to a second TCP parameter value determined from a black box optimization, wherein the best value is verified based on a threshold tolerance value associated with the TCP parameter.

8. The one or more non-transitory computer readable storage media as recited in claim 7 , wherein the one or more sequences of instructions, which when executed by the one or more processors cause further performance of: determining a network policy associated with the TCP parameter for use on future network traffic based on the best value being within the threshold tolerance value.

9. The one or more non-transitory computer readable storage media as recited in claim 8 , wherein each proxy server comprises an accelerator to implement the network policy.

10. The one or more non-transitory computer readable storage media as recited in claim 8 , wherein each user device comprises an agent that implements the network policy.

11. The one or more non-transitory computer readable storage media as recited in claim 7 , wherein determining the plurality of raw network traffic data values is performed by each proxy host based on the TCP parameter.

12. The one or more non-transitory computer readable storage media as recited in claim 7 , wherein determining the plurality of raw network traffic data values is performed by each user device based on the TCP parameter.

13. A system, comprising:

a subsystem, implemented at least partially in hardware, that receives, at a plurality of proxy servers, a plurality of data transfer requests from a plurality of user devices;

a subsystem, implemented at least partially in hardware, that determines a range of parameter values associated with a TCP parameter;

a subsystem, implemented at least partially in hardware, that assigns a random parameter value from the range of parameter values to the TCP parameter for a time block of a plurality of time blocks, the random parameter value comprising a static policy;

a subsystem, implemented at least partially in hardware, that assigns a default TCP parameter value to a subset of the plurality of data transfer requests, wherein raw network traffic data values associated with the subset of the plurality of data transfer requests comprise bypass traffic data values;

a subsystem, implemented at least partially in hardware, that a plurality of raw network traffic data values associated with the plurality of data transfer requests based on the static policy;

a subsystem, implemented at least partially in hardware, that stores the bypass traffic data values and the plurality of raw network traffic data values based on the static policy in a network traffic data store;

a subsystem, implemented at least partially in hardware, that for each of TCP parameter and time block of the plurality of time blocks:

determines an aggregate data point having performance metrics comparing static policy against the bypass traffic data values;

estimates a best value for the TCP parameter; and

verifies the best value by comparing to a second TCP parameter value determined from a black box optimization, wherein the best value is verified based on a threshold tolerance value associated with the TCP parameter.

14. The system as recited in claim 13 , further comprising a subsystem, implemented at least partially in hardware, that determines a network policy associated with the TCP parameter for use on future network traffic based on the best value being within the threshold tolerance value.

15. The system as recited in claim 14 , wherein each proxy server comprises an accelerator to implement the network policy.

16. The system as recited in claim 14 , wherein each user device comprises an agent that implements the network policy.

17. The system as recited in claim 13 , wherein determining the plurality of raw network traffic data values is performed by each proxy host based on the TCP parameter.

18. The system as recited in claim 13 , wherein determining the plurality of raw network traffic data values is performed by each user device based on the TCP parameter.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2017
From: GAL, SHAULI; RAGHUNATH, SATISH; CHANDRAYANA, KARTIKEYA; GANAPATHI, TEJASWINI
To: SALESFORCE.COM, INC.
Reel/Frame 042357/0338 →
Continuity (1)
Related Publication 20180331908A1 · Nov 15, 2018
Cited By (1)
US 12,563,010