IP Library Granted Patent US 10,348,557
Granted Patent B1
US 10,348,557 · App. 15/987,385 · Granted Jul 9, 2019

Techniques to dynamically configure target bitrate for streaming network connections

Inventor: Manpreet Singh (Los Altos Hills, CA)
Assignee: WHATSAPP INC.
H04L41/0803H04L12/28H04L43/0864H04L43/0888H04L43/0894H04L65/1069H04L65/80H04L69/22
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,348,557
App. No.
15/987,385
Granted
Jul 9, 2019
Kind
B1
Abstract

Techniques to dynamically configure target bitrate for streaming network connections are described. An apparatus may comprise a streaming component operative to establish a streaming network connection with a second client device at a first client device; and a stream configuration component operative to determine inter-arrival rate information for the streaming network connection; provide the inter-arrival rate information to an inter-arrival rate analysis component; receive a preliminary target bitrate from the inter-arrival rate analysis component in response to providing the inter-arrival rate information to the inter-arrival rate analysis component; determine round-trip time information for the streaming network connection; determine an assigned target bitrate and a packet size setting for the streaming network connection based on the preliminary target bitrate and the round-trip time information; and configure the streaming component to perform the streaming network connection with the assigned target bitrate and the packet size setting. Other embodiments are described and claimed.

Claims (51)

1. A method comprising:

establishing a streaming network connection between a first client device and a second client device at a pre-defined initial bitrate;

exchanging media content over the streaming network connection at the pre-defined initial bitrate for a pre-determined period of time;

observing the inter-arrival rate for packets exchanged over the streaming network connection at the pre-defined initial bitrate;

identifying a preliminary target bitrate for the streaming network based on the observed inter-arrival rate;

determining round-trip time information for the streaming network connection;

adjusting the preliminary target bitrate based on the round-trip time information to set an assigned target bitrate; and

configuring the streaming network connection based on the assigned target bitrate;

wherein the pre-defined initial bitrate is set lower when the streaming network connection is established using a cellular data network and set higher when the streaming network connection is established using a Wi-Fi data network.

2. The method of claim 1 wherein adjusting the preliminary target bitrate comprises determining that the round-trip time information is below a pre-defined maximum target bitrate or determining that the round-trip time information is above a pre-defined low-quality round-trip-threshold, and setting the preliminary target bitrate to a pre-defined minimum target bitrate.

3. The method of claim 1 , further comprising:

determining a packet size for the streaming network connection based on the preliminary target bitrate and the round-trip time information; and

configuring the streaming network connection based on the determined packet size.

4. The method of claim 1 , wherein configuring the streaming network connection comprises dividing encoded media content into network packets based on the determined packet size.

5. The method of claim 1 , wherein the inter-arrival rate is a holistic measure of an aggregated collection of inter-arrival rates for a plurality of network packets transmitted over the streaming network connection.

6. The method of claim 1 wherein the inter-arrival rate comprises a mean, median or mode of an aggregated collection of inter-arrival rates for a plurality of network packets transmitted over the streaming network connection.

7. A non-transitory computer-readable storage medium containing instructions that, when executed by a processor, cause the processor to:

establish a streaming network connection between a first client device and a second client device at a pre-defined initial bitrate;

exchange media content over the streaming network connection using the pre-defined initial bitrate for a pre-determined period of time;

observe the inter-arrival rate for packets exchanged over the streaming network connection at the pre-defined initial bitrate;

identify a preliminary target bitrate for the streaming network based on the observed inter-arrival rate;

determine round-trip time information for the streaming network connection;

adjust the preliminary target bitrate based on the round-trip time information to set an assigned target bitrate; and

configure the streaming network connection based on the assigned target bitrate;

wherein the pre-defined initial bitrate is set lower when the streaming network connection is established using a cellular data network and set higher when the streaming network connection is established using a Wi-Fi data network.

8. The non-transitory computer-readable storage medium of claim 7 wherein adjusting the preliminary target bitrate comprises determining that the round-trip time information is below a pre-defined high-quality round-trip-time threshold, and setting the preliminary target bitrate to a pre-defined maximum target bitrate or determining that the round-trip-time information is above a pre-defined low-quality round-trip-time threshold, and setting the preliminary target bitrate to a pre-defined minimum target bitrate.

9. The non-transitory computer-readable storage medium of claim 7 , comprising further instruction that cause the processor to:

determine a packet size for the streaming network connection based on the preliminary target bitrate and the round-trip time information; and

configuring the streaming network connection based on the determined packet size.

10. The non-transitory computer-readable storage medium of claim 7 , wherein the streaming network connection is configured by dividing encoded media content into network packets based on the determined packet size.

11. The non-transitory computer-readable storage medium of claim 7 , wherein the inter-arrival rate is a holistic measure of an aggregated collection of inter-arrival rates for a plurality of network packets transmitted over the streaming network connection.

12. The non-transitory computer-readable storage medium of claim 7 wherein the inter-arrival rate comprises a mean, median or mode of an aggregated collection of inter-arrival rates for a plurality of network packets transmitted over the streaming network connection.

13. An apparatus comprising:

a processor circuit;

a network interface configured to establish a streaming network connection between a first client device and a second client device; and

software, for execution on the processor circuit, the software including:

a streaming component to:

determine a pre-defined initial bitrate, wherein the pre-defined initial bitrate is set lower when the streaming network connections is established using a cellular data network and set higher when the streaming network connection is established using a Wi-Fi data network;

exchange media content over the streaming network connection at the pre-defined initial bitrate for a pre-determined period of time;

observe the inter-arrival rate for packets exchanged over the streaming network connection at the pre-defined initial bitrate;

identify a preliminary target bitrate for the steaming network connection based on the observed inter-arrival rate;

determine round-trip time information for the streaming network connection; and

adjust the preliminary target bitrate based on the round-trip time information to set an assigned target bitrate; and

a stream configuration component to configure the streaming network connection based on the assigned target bitrate.

14. The apparatus of claim 13 wherein adjusting the preliminary target bitrate comprises determining that the round-trip time information is below a pre-defined high-quality round-trip-time threshold, and setting the preliminary target bitrate to a pre-defined maximum target bitrate or determining that the round-trip time information is above a pre-defined low-quality round-trip-time threshold, and setting the preliminary target bitrate to a pre-defined minimum target bitrate.

15. The apparatus of claim 13 wherein the stream configuration component:

determines a packet size for the streaming network connection based on the preliminary target bitrate and the round-trip time information; and

configured the streaming network connection based on the determined packet size;

wherein the streaming network connection is configured by dividing encoded media content into network packets based on the determined packet size.

16. The apparatus of claim 13 , wherein the inter-arrival rate is a holistic measure of an aggregated collection of inter-arrival rates for a plurality of network packets transmitted over the streaming network connection.

17. The apparatus of claim 13 wherein the inter-arrival rate comprises a mean, median or mode of an aggregated collection of inter-arrival rates for a plurality of network packets transmitted over the streaming network connection.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2022
From: SINGH, MANPREET
To: WHATSAPP INC.
Reel/Frame 061768/0402 →
CHANGE OF NAME Recorded Jun 22, 2021
From: WHATSAPP INC.
To: WHATSAPP LLC
Reel/Frame 056646/0001 →
Continuity (2)
Continuation 15659852 · Jul 26, 2017
Continuation 14859141 · Sep 18, 2015