# US 10,484,288 B2 · Network flow control

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

- Number: US 10,484,288 B2
- Document ID: US10484288B2
- Status: Granted
- Kind: B2
- Application number: 15/440,927
- Filed: 2017-02-23
- Published: 2017-08-24
- Granted: 2019-11-19
- Earliest claimed: 2016-02-23
- Assignees: Level 3 Communications, LLC
- Applicants: Level 3 Communications, LLC
- Inventors: Joseph C. Lawrence; William R. Power
- Web page: https://patentgrep.com/patent/US10484288B2

## CPC

- H04L 47/2475: for supporting traffic characterised by the type of applications
- H04L 47/28: in relation to timing considerations
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 47/193: at the transport layer, e.g. TCP related
- H04L 47/6275: based on priority
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Aspects of the present disclosure include a content delivery network (CDN) for delivering content associated with a plurality of different types of applications/devices. Using a CDN flow application, a plurality of network flow parameters are generated for content delivery unique to different types of applications or devices. The network flow parameters include customized data transmission rates. The network flow parameters include predetermined settings for transmission control protocol (TCP) connections between the CDN and devices using a TCP flow control mechanism. Upon receiving a content request, the CDN fulfills the content request based upon first network flow parameters. The network flow parameters may be adjusted for each of the plurality of different types of applications/devices. The network flow parameters may be generated based upon requests or based upon the performance of each of the plurality of applications/devices.

## Claims

### Claim 1

A method of optimizing network traffic flow for a content delivery network (CDN), comprising:
assigning a first network flow parameter for a first application requesting content from the CDN from one or more user devices in communication with the CDN, the first network flow parameter establishing one or more quality of service criteria for a transmission of the requested content associated with providing content to the first application;
receiving a request for content at a content server of the CDN from a requesting device, the request received from the first application executing on the requesting device and comprising a host name associated with the first application;
applying the first network flow parameter for transmitting the requested content to the requesting device in response to the host name associated with the first application;
transmitting, at a first rate, the requested content to the requesting device with the first network flow parameters applied to the transmission of the requested content associated with providing content to the first application;
receiving an indication that the requested content may be transmitted to the application at a second rate that is higher than the first rate;
altering the first network flow parameter to deliver the requested content at a third rate that is between the first rate and the second rate; and
altering, after a period of time, the first network flow parameter to deliver the requested content at the second rate.

### Claim 2 (depends on 1)

The method of claim 1 wherein the requested content is a video file and the application of the first network flow parameter comprises a first bandwidth for transmitting the requested content to the requesting device.

### Claim 3 (depends on 2)

The method of claim 2, further comprising assigning a second network flow parameter for a second application requesting content from the CDN, the second network flow parameter establishing one or more quality of service criteria for a transmission of additional requested content to the first application wherein the additional requested content is a data file and the second network flow parameter comprises a second bandwidth for transmitting the additional requested content to the requesting device, the second bandwidth being less than the first bandwidth.

### Claim 4 (depends on 1)

The method of claim 1 further comprising:
establishing a transmission control protocol/Internet protocol (TCP/IP) connection with the requesting device; and
wherein the first network flow parameter comprises a TCP/IP flow control parameter.

### Claim 5 (depends on 1)

The method of claim 1 wherein the host name comprises a uniform resource locator (URL) associated with the first application and the method further comprises identifying a type of the first application based on the URL associated with the first application.

### Claim 6 (depends on 1)

The method of claim 1 wherein the first network flow parameter comprises network server data transmission caps to limit data transmission to a predefined rate during transmission of the requested content.

### Claim 7 (depends on 1)

The method of claim 1 wherein the first network flow parameter comprises a queue priority for data packets associated with the transmission of the requested content associated with providing content to the first application.

### Claim 8 (depends on 1)

The method of claim 1 further comprising:
assigning a second network flow parameter different from the first network parameter for a second application type; and
receiving a second content request at the content server of the CDN, the request received from the second application comprising a host name associated with the second application.

### Claim 9 (depends on 8)

The method of claim 8 further comprising:
applying the second network flow parameter for transmitting the requested content to the requesting device in response to the host name associated with the second application; and
transmitting the requested content to the requesting device with the second network flow parameters applied to the transmission of the requested content associated with providing content to the second application.

### Claim 10 (depends on 1)

The method of claim 1 further comprising adjusting the first network flow parameter based on a time of day.

### Claim 11

A content delivery network (CDN) networking device comprising:
at least one communication port for receiving a request for content from a first application executed on a client device, the request comprising an identification of the content;
a processing device; and
a computer-readable medium connected to the processing device configured to store information and instructions that, when executed by the processing device, performs the operations of:
assigning a first network flow parameter for a first application, the first network flow parameter establishing one or more quality of service criteria for a transmission of the requested content associated with providing content to the first application;
applying the first network flow parameter for transmitting the requested content to the client device in response to the identification of the content associated with the first application;
transmitting, at a first rate, the requested content to the client device with the first network flow parameter applied to the transmission of the requested content associated with providing content to the first application;
receiving an indication that the requested content may be transmitted to the application at a second rate that is higher than the first rate;
altering the first network flow parameter to deliver the requested content at a third rate that is between the first rate and the second rate; and
altering, after a period of time, the first network flow parameter to deliver the requested content at the second rate.

### Claim 12 (depends on 11)

The networking device of claim 11 wherein the requested content is a video file and the application of the first network flow parameter comprises a first bandwidth for transmitting the requested content to the client device.

### Claim 13 (depends on 12)

The networking device of claim 12 wherein the operations further comprise assigning a second network flow parameter for a second application requesting content from the CDN, the second network flow parameter establishing one or more quality of service criteria for a transmission of additional requested content to the first application, and wherein the additional requested content is a data file and the second network flow parameter comprises a second bandwidth for transmitting the additional requested content to the client device, the second bandwidth being less than the first bandwidth.

### Claim 14 (depends on 11)

The networking device of claim 11 wherein the identification of the content comprises a host name within a uniform resource locator (URL) associated with the first application.

### Claim 15 (depends on 11)

The networking device of claim 11 wherein the processing device is further configured to perform the operations of:
identifying a type of the first application based on the URL associated with the first application.

### Claim 16 (depends on 11)

The networking device of claim 11 wherein the processing device is further configured to perform the operations of:
identifying a type of the client device based on the URL associated with the first application.

### Claim 17 (depends on 11)

The networking device of claim 11 wherein the processing device is further configured to perform the operations of:
establishing a transmission control protocol/Internet protocol (TCP/IP) connection with the client device; and
wherein the first network flow parameter comprises a TCP/IP flow control parameter.

### Claim 18

A content delivery network (CDN) comprising:
a first content server configured to:
assign a first network flow parameter for a first application requesting content form the CDN from one or more user devices in communication with the CDN, the first network flow parameter establishing one or more quality of service criteria for a transmission of the requested content associated with providing content to the first application;
receive a request for content at a content server of the CDN from a requesting device, the request received from the first application executing on the requesting device and comprising a host name associated with the first application;
identify a type of the first application based on the host name associated with the first application;
apply the first network flow parameter for transmitting the requested content to the requesting device in response to the identified type of the first application; and
transmit, at a first rate, the requested content to the requesting device with the first network flow parameters applied to the transmission of the requested content associated with providing content to the first application;
receive an indication that the requested content may be transmitted to the application at a second rate that is higher than the first rate;
alter the first network flow parameter to deliver the requested content at a third rate that is between the first rate and the second rate; and
alter, after a period of time, the first network flow parameter to deliver the requested content at the second rate.

### Claim 19 (depends on 18)

The content delivery network of claim 18 wherein the requested content is a video file and the application of the first network flow parameter comprises a first bandwidth for transmitting the requested content to the requesting device.

### Claim 20 (depends on 19)

The content delivery network of claim 19 wherein the first content server is further configured to assign a second network flow parameter for a second application requesting content from the CDN, the second network flow parameter establishing one or more quality of service criteria for a transmission of additional requested content to the first application, and wherein the additional requested content is a data file and the second network flow parameter comprises a second bandwidth for transmitting the additional requested content to the requesting device, the second bandwidth being less than the first bandwidth.
