# US 2019/0173760 A1 · Adaptive multi-phase network policy optimization

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0173760 A1
- Document ID: US20190173760A1
- Status: Published application
- Kind: A1
- Application number: 16/273,150
- Filed: 2019-02-12
- Published: 2019-06-06
- Earliest claimed: 2017-05-12
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Shauli Gal; Satish Raghunath; Kartikeya Chandrayana; Tejaswini Ganapathi
- Web page: https://patentgrep.com/patent/US20190173760A1

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 41/046: comprising network management agents or mobile agents therefor
- H04L 41/0894: Policy-based network configuration management
- H04L 43/16: Threshold monitoring
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method, comprising:
sending a default network policy to a first portion of a plurality of user devices, wherein the default network policy assigns one or more TCP parameter values to a default value associated with the one or more TCP parameter values;
sending an adjusted network policy to a second portion of the plurality of user devices, wherein the adjusted network policy assigns the one or more TCP parameter values to an adjusted value;
aggregating network traffic data received from the plurality of user devices, wherein the aggregated network traffic data records outcomes of download requests from the plurality of user devices;
analyzing performance metrics derived from the aggregated network data by comparing network traffic data values received from the first portion of user devices and network traffic data values received from the second portion of user devices;
estimating a best value for the one or more TCP parameter values based on the analyzed performance metrics;
updating the adjusted network policy by assigning the one or more TCP parameter values to an estimated best value; and
sending the updated adjusted network policy to the second portion of the plurality of user devices.

### Claim 2 (depends on 1)

The method as recited in claim 1, further comprising:
sending the updated adjusted network policy to one or more proxy servers.

### Claim 3 (depends on 1)

The method as recited in claim 1, further comprising:
sending the updated adjusted network policy to one or more proxy servers;
wherein each proxy server of the one or more proxy servers comprises an accelerator to implement the updated adjusted network policy.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein each user device of the first portion of the plurality of user devices and the second portion of the plurality of user devices comprises an agent that implements a received network policy.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein the adjusted value assigned to the one or more TCP parameter values is a parameter value randomly selected from a range of parameter values.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the estimating the best value estimates the best value for a particular TCP parameter value based on a comparison of an analyzed performance metric for the particular TCP parameter value with a threshold tolerance value associated with the TCP parameter.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein the analyzing performance metrics compares, for a particular time block, the network traffic data values received from the first portion of user devices and the network traffic data values received from the second portion of user devices.

### Claim 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:
sending a default network policy to a first portion of a plurality of user devices, wherein the default network policy assigns one or more TCP parameter values to a default value associated with the one or more TCP parameter values;
sending an adjusted network policy to a second portion of the plurality of user devices, wherein the adjusted network policy assigns the one or more TCP parameter values to an adjusted value;
aggregating network traffic data received from the plurality of user devices, wherein the aggregated network traffic data records outcomes of download requests from the plurality of user devices;
analyzing performance metrics derived from the aggregated network data by comparing network traffic data values received from the first portion of user devices and network traffic data values received from the second portion of user devices;
estimating a best value for the one or more TCP parameter values based on the analyzed performance metrics;
updating the adjusted network policy by assigning the one or more TCP parameter values to an estimated best value; and
sending the updated adjusted network policy to the second portion of the plurality of user devices.

### Claim 9 (depends on 8)

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 one or more processors cause further performance of:
sending the updated adjusted network policy to one or more proxy servers.

### Claim 10 (depends on 8)

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 one or more processors cause further performance of:
sending the updated adjusted network policy to one or more proxy servers;
wherein each proxy server of the one or more proxy servers comprises an accelerator to implement the updated adjusted network policy.

### Claim 11 (depends on 8)

The one or more non-transitory computer-readable storage media as recited in claim 8, wherein each user device of the first portion of the plurality of user devices and the second portion of the plurality of user devices comprises an agent that implements a received network policy.

### Claim 12 (depends on 8)

The one or more non-transitory computer-readable storage media as recited in claim 8, wherein the adjusted value assigned to the one or more TCP parameter values is a parameter value randomly selected from a range of parameter values.

### Claim 13 (depends on 8)

The one or more non-transitory computer-readable storage media as recited in claim 8, wherein the estimating the best value estimates the best value for a particular TCP parameter value based on a comparison of an analyzed performance metric for the particular TCP parameter value with a threshold tolerance value associated with the TCP parameter.

### Claim 14 (depends on 8)

The one or more non-transitory computer-readable storage media as recited in claim 8, wherein the analyzing performance metrics compares, for a particular time block, the network traffic data values received from the first portion of user devices and the network traffic data values received from the second portion of user devices.

### Claim 15

An apparatus, comprising:
a network policy device, implemented at least partially in hardware, configured to send a default network policy to a first portion of a plurality of user devices, wherein the default network policy assigns one or more TCP parameter values to a default value associated with the one or more TCP parameter values;
wherein the network policy device sends an adjusted network policy to a second portion of the plurality of user devices, wherein the adjusted network policy assigns the one or more TCP parameter values to an adjusted value;
a network traffic aggregator, implemented at least partially in hardware, configured to aggregate network traffic data received from the plurality of user devices, wherein the aggregated network traffic data records outcomes of download requests from the plurality of user devices;
a performance metrics analyzer, implemented at least partially in hardware, configured to analyze performance metrics derived from the aggregated network data by comparing network traffic data values received from the first portion of user devices and network traffic data values received from the second portion of user devices;
a TCP parameter estimator, implemented at least partially in hardware, configured to estimate a best value for the one or more TCP parameter values based on the analyzed performance metrics;
wherein the network policy device updates the adjusted network policy by assigning the one or more TCP parameter values to an estimated best value; and
wherein the network policy device sends the updated adjusted network policy to the second portion of the plurality of user devices.

### Claim 16 (depends on 15)

The apparatus as recited in claim 15, wherein the network policy device sends the updated adjusted network policy to one or more proxy servers.

### Claim 17 (depends on 15)

The apparatus as recited in claim 15, wherein the network policy device sends the updated adjusted network policy to one or more proxy servers, and wherein each proxy server of the one or more proxy servers comprises an accelerator to implement the updated adjusted network policy.

### Claim 18 (depends on 15)

The apparatus as recited in claim 15, wherein each user device of the first portion of the plurality of user devices and the second portion of the plurality of user devices comprises an agent that implements a received network policy.

### Claim 19 (depends on 15)

The apparatus as recited in claim 15, wherein the adjusted value assigned to the one or more TCP parameter values is a parameter value randomly selected from a range of parameter values.

### Claim 20 (depends on 15)

The apparatus as recited in claim 15, wherein the TCP parameter estimator estimates the best value for a particular TCP parameter value based on a comparison of an analyzed performance metric for the particular TCP parameter value with a threshold tolerance value associated with the TCP parameter.
