# US 10,484,647 B1 · Bandwidth estimation of a network connection

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

- Number: US 10,484,647 B1
- Document ID: US10484647B1
- Status: Granted
- Kind: B1
- Application number: 16/266,541
- Filed: 2019-02-04
- Granted: 2019-11-19
- Earliest claimed: 2017-10-24
- Assignees: Whatsapp Inc.
- Applicants: WhatsApp Inc.
- Inventors: Jonathan David Sheller
- Web page: https://patentgrep.com/patent/US10484647B1

## CPC

- H04N 7/147: {Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q)}
- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L 65/80: Responding to QoS
- H04N 7/15: Conference systems
- H04W 28/06: Optimizing {the usage of the radio link}, e.g. header compression, information sizing {, discarding information (system modifying transmission characteristic according to link quality by modifying frame length H04L1/0007; dynamic adaptation of the packet size for flow control or congestion control H04L47/365)}
- H04W 28/10: Flow control {between communication endpoints}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Aspects of the present disclosure describe an end-to-end communication protocol for interactive applications that ensure high throughput and low delay. A sender device and a receiver device are in communication with each other through a network. As multimedia content is captured by the sender device, the sender device packetizes each frame of the multimedia content into a plurality of packets thereby creating a packet train of packets that are sent to the receiver the device. The receiver device models the behavior of the network based on a continuous distribution. Based on the model of the network, the receiver device generates a forecast that describes the amount of data that the sender device can send to the receiver device. The receiver device sends the forecast to the sender device which subsequently sends data to the receiver device according to the forecast.

## Claims

### Claim 1

A computer-implemented method of communicating multimedia content between devices, the method comprising:
receiving, by a first device, a first plurality of data packets from a second device via a cellular network, the first plurality of data packets representative of one or more first frames of multimedia content;
modeling, by the first device, a data transmission rate of the cellular network based on a continuous probability distribution, wherein the data transmission rate of the cellular network is assigned a conjugate prior;
predicting, by the first device, a forecast that is indicative of an amount of data that the second device can transmit to the first device via the cellular network based on the modeled data transmission rate;
transmitting, by the first device, the predicted forecast to the second device via the cellular network; and
receiving, by the first device, a second plurality of data packets from the second device via the cellular network according to the forecast, the second plurality of data packets representative of one or more second frames of multimedia content.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the multimedia content is video from a video conference.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein each first frame of the video and each second frame of the video is divided into a plurality of data packets.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein each of the plurality of data packets is associated with a sequence number.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the forecast minimizes a likelihood that data packets are stored at the second device for longer than a threshold amount of time.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein transmitting, by the first device, the predicted forecast to the second device comprises:
transmitting, by the first device, the predicted forecast with data packets to the second device.

### Claim 7

A device for communicating multimedia content; the device comprising:
a computer-processor; and
a non-transitory computer-readable storage medium storing executable code, the code when executed by the computer-processor cause the computer processor to perform steps comprising:
receiving, by the device, a first plurality of data packets from another device via a cellular network, the first plurality of data packets representative of one or more first frames of multimedia content;
modeling, by the device, a data transmission rate of the cellular network based on a continuous probability distribution, wherein the data transmission rate of the cellular network is assigned a conjugate prior;
predicting, by the device, a forecast that is indicative of an amount of data that the other device can transmit to the device via the cellular network based on the modeled data transmission rate;
transmitting, by the device, the predicted forecast to the other device via the cellular network; and
receiving, by the device, a second plurality of data packets from the second device via the cellular network according to the forecast, the second plurality of data packets representative of one or more second frames of multimedia content.

### Claim 8 (depends on 7)

The device of claim 7, wherein the multimedia content is video from a video conference.

### Claim 9 (depends on 8)

The device of claim 8, wherein each first frame of the video and each second frame of the video is divided into a plurality of data packets.

### Claim 10 (depends on 9)

The device of claim 9, wherein each of the plurality of data packets is associated with a sequence number.

### Claim 11 (depends on 7)

The device of claim 7, wherein the forecast minimizes a likelihood that data packets are stored at the second device for longer than a threshold amount of time.

### Claim 12 (depends on 7)

The device of claim 7, wherein transmitting, by the device, the predicted forecast to the second device comprises:
transmitting, by the device, the predicted forecast with data packets to the second device.

### Claim 13

A non-transitory computer-readable storage medium storing executable code for communicating multimedia content, the code when executed by a computer-processor cause the computer processor to perform steps comprising:
receiving, by the device, a first plurality of data packets from another device via a cellular network, the first plurality of data packets representative of one or more first frames of multimedia content;
modeling, by the device, a data transmission rate of the cellular network based on a continuous probability distribution, wherein the data transmission rate of the cellular network is assigned a conjugate prior;
predicting, by the device, a forecast that is indicative of an amount of data that the other device can transmit to the device via the cellular network based on the modeled data transmission rate;
transmitting, by the device, the predicted forecast to the other device via the cellular network; and
receiving, by the device, a second plurality of data packets from the second device via the cellular network according to the forecast, the second plurality of data packets representative of one or more second frames of multimedia content.

### Claim 14 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the multimedia content is video from a video conference.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein each first frame of the video and each second frame of the video is divided into a plurality of data packets.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein each of the plurality of data packets is associated with a sequence number.

### Claim 17 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the forecast minimizes a likelihood that data packets are stored at the second device for longer than a threshold amount of time.

### Claim 18 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein transmitting, by the device, the predicted forecast to the second device comprises:
transmitting, by the device, the predicted forecast with data packets to the second device.
