IP Library Granted Patent US 10,009,223
Granted Patent B2
US 10,009,223 · App. 15/659,852 · Granted Jun 26, 2018

Techniques to dynamically configure target bitrate for streaming network connections

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,009,223
App. No.
15/659,852
Granted
Jun 26, 2018
Kind
B2
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 (36)

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

establish a streaming network connection involving a first client device and a second client device;

identify a preliminary target bitrate for the streaming network connection;

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 adjusting the preliminary target bitrate comprises determining that the round-trip time information is below a predefined high-quality round-trip-time threshold, and setting the assigned target bitrate to a predefined maximum target bitrate or determining that the round-trip time information is above a predefined low-quality round-trip-time threshold, and setting the assigned target bitrate to a predefined minimum target bitrate.

2. The medium 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.

3. The medium of claim 2 , wherein configuring the streaming network connection comprises dividing encoded media content into network packets based on the determined packet size.

4. The medium of claim 2 , wherein the streaming network connection is associated with a predefined large packet size setting associated with reduced effective bandwidth usage and a predefined small packet size setting associated with improved streaming content quality, and determining the packet size is comprises selecting between the predefined large packet size setting and the predefined small packet size setting.

5. The medium of claim 4 , further storing instructions for: setting the packet size to a predetermined initial size setting for a predetermined initial period of the streaming network connection, the predetermined initial size setting being equal to the predefined large packet size setting.

6. The medium of claim 4 , wherein determining the packet size comprises comparing the round-trip time to a predetermined low-quality threshold, and selecting the predefined large packet size when the round-trip time exceeds the predetermined low-quality threshold.

7. The medium of claim 2 , wherein determining the packet size setting comprises setting the packet size setting to a predefined large packet size setting for a remaining duration of the streaming network connection when the determined round-trip time information is above a predefined very-low-quality round-trip-time threshold.

8. The medium of claim 1 , wherein the assigned target bitrate is fixed to a predefined maximum bitrate for a remaining duration of the streaming network connection when the determined round-trip time information is below a predefined very-high-quality round-trip-time threshold.

9. A system comprising:

a processor circuit;

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

a streaming component to:

identify a preliminary target bitrate for the streaming network connection;

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

wherein adjusting the preliminary target bitrate comprises determining that the round-trip time information is below a predefined high-quality round-trip-time threshold, and setting the assigned target bitrate to a predefined maximum target bitrate or determining that the round-trip time information is above a predefined low-quality round-trip-time threshold, and setting the assigned target bitrate to a predefined minimum target bitrate.

10. The system of claim 9 , wherein the streaming component is further configured 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.

11. The system of claim 10 , wherein configuring the streaming network connection comprises dividing encoded media content into network packets based on the determined packet size.

12. The system of claim 10 , wherein the streaming network connection is associated with a predefined large packet size setting associated with reduced effective bandwidth usage and a predefined small packet size setting associated with improved streaming content quality, and determining the packet size is comprises selecting between the predefined large packet size setting and the predefined small packet size setting.

13. The system of claim 12 , wherein the streaming component is further configured to set the packet size to a predetermined initial size setting for a predetermined initial period of the streaming network connection, the predetermined initial size setting being equal to the predefined large packet size setting.

14. The system of claim 12 , wherein determining the packet size comprises comparing the round-trip time to a predetermined low-quality threshold, and selecting the predefined large packet size when the round-trip time exceeds the predetermined low-quality threshold.

15. The system of claim 9 , wherein the assigned target bitrate is fixed to a predefined maximum bitrate for a remaining duration of the streaming network connection when the determined round-trip time information is below a predefined very-high-quality round-trip-time threshold.

16. A method comprising:

establishing a streaming network connection involving a first client device and a second client device;

identifying a preliminary target bitrate for the streaming network;

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 adjusting the preliminary target bitrate comprises determining that the round-trip time information is below a predefined high-quality round-trip-time threshold, and setting the preliminary target bitrate to a predefined maximum target bitrate or determining that the round-trip time information is above a predefined low-quality round-trip-time threshold, and setting the preliminary target bitrate to a predefined minimum target bitrate.

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 →