IP Library Granted Patent US 10,484,647
Granted Patent B1
US 10,484,647 · App. 16/266,541 · Granted Nov 19, 2019

Bandwidth estimation of a network connection

Inventor: Jonathan David Sheller (San Francisco, CA)
Assignee: WhatsApp Inc.
H04N7/147H04N7/15H04W28/0289H04W28/06
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,484,647
App. No.
16/266,541
Granted
Nov 19, 2019
Kind
B1
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 (38)

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.

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

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

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

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

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

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.

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

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

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

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

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

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.

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

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

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

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

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

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2024
From: SHELLER, JONATHAN DAVID
To: WHATSAPP INC.
Reel/Frame 067204/0647 →
CHANGE OF NAME Recorded Mar 3, 2021
From: WHATSAPP INC.
To: WHATSAPP LLC
Reel/Frame 055488/0767 →
Continuity (1)
Continuation 15792314 · Oct 24, 2017