IP Library Granted Patent US 11,153,154
Granted Patent B1
US 11,153,154 · App. 17/026,605 · Granted Oct 19, 2021

Techniques to dynamically configure target bitrate for streaming network connections

Inventor: Manpreet Singh (Los Altos, CA)
Assignee: WHATSAPP LLC
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 11,153,154
App. No.
17/026,605
Granted
Oct 19, 2021
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 (47)

1. A method comprising:

receiving encoded media content for streaming transmission over a network;

dividing the encoded media content into a sequence of network packets of a predefined initial packet size;

transmitting the sequence of network packets over the network at a predefined initial bitrate;

receiving information regarding observed performance of the network based on the transmission of the sequence of network packets;

adjusting the bitrate based on the received information; and

adjusting the size of the network packets based on the adjusted bitrate.

2. The method of claim 1 wherein the size of the network packets is lowered when the network packets are encoded at a rate below a target bitrate.

3. The method of claim 1 wherein the predefined initial bitrate is lower when the network is a cellular network and higher when the network is a WiFi network.

4. The method of claim 1 wherein the predefined initial packet size is set to a predefined large packet size.

5. The method of claim 4 wherein the packet size is reduced to a size lower than the predefined large packet size when the received information indicates that the observed performance of the network supports a higher bandwidth required for a smaller packet size.

6. The method of claim 1 wherein the network packet size is restricted to either a predefined small packet size or a predefined large packet size.

7. The method of claim 1 wherein the received information is deleted each time the network packet size is adjusted, further comprising:

receiving further information regarding further observed performance of the network; and

basing further adjustments of the bitrate on the further information.

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

receive encoded media content for streaming transmission over a network;

divide the encoded media content into a sequence of network packets of a predefined initial packet size;

transmit the sequence of network packets over the network at a predefined initial bitrate;

receive information regarding observed performance of the network based on the transmission of the sequence of network packets;

adjust the bitrate based on the received information; and

adjust the size of the network packets based on the adjusted bitrate.

9. The medium of claim 8 wherein the size of the network packets is lowered when the network packets are encoded at a rate below a target bitrate.

10. The medium of claim 8 wherein the predefined initial bitrate is lower when the network is a cellular network and higher when the network is a WiFi network.

11. The medium of claim 8 wherein the predefined initial packet size is set to a predefined large packet size.

12. The medium of claim 11 wherein the packet size is reduced to a size lower than the predefined large packet size when the received information indicates that the observed performance of the network supports a higher bandwidth required for a smaller packet size.

13. The medium of claim 8 wherein the network packet size is restricted to either a predefined small packet size or a predefined large packet size.

14. The medium of claim 8 wherein the received information is deleted each time the network packet size is adjusted, the medium comprising further instructions that cause the processor to:

receive further information regarding further observed performance of the network; and

base further adjustments of the bitrate on the further information.

15. A system comprising:

a processor circuit;

a network interface configured to allow the streaming transmission of encoded media over a network; and

software, for execution on the processor circuit, the software performing the functions of:

receiving encoded media content for transmission over the network;

dividing the encoded media content into a sequence of network packets of a predefined initial packet size;

transmitting the sequence of network packets over the network at a predefined initial bitrate;

receiving information regarding observed performance of the network based on the transmission of the sequence of network packets;

adjusting the bitrate based on the received information; and

adjusting the size of the network packets based on the adjusted bitrate.

16. The system of claim 15 wherein the size of the network packets is lowered when the adjusted bitrate falls below a target bitrate.

17. The system of claim 15 wherein the predefined initial packet size is set to a predefined large packet size.

18. The system of claim 17 wherein the packet size is reduced to a size lower than the predefined large packet size when the received information indicates that the observed performance of the network supports a higher bandwidth required for a smaller packet size.

19. The system of claim 15 wherein the network packet size is restricted to either a predefined small packet size or a predefined large packet size.

20. The system of claim 15 wherein the received information is deleted each time the network packet size is adjusted, the software performing the further functions of:

receiving further information regarding further observed performance of the network; and

basing further adjustments of the bitrate on the further information.

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 (4)
Continuation 16425162 · May 29, 2019
Continuation 15987385 · May 23, 2018
Continuation 15659852 · Jul 26, 2017
Continuation 14859141 · Sep 18, 2015