IP Library › Granted Patent US 11,622,135
Granted Patent B2
US 11,622,135 · App. 17/355,454 · Granted Apr 4, 2023

Bandwidth allocation for low latency content and buffered content

Inventors: Avi Fruchter (Neve Daniel, IL); Ilan Cohen (Herzliya, IL); Zorach Reuven Wachtfogel (Elazar, IL)
Assignee: Synamedia Limited
H04N21/23406H04N21/23805H04N21/2402H04N21/262
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,622,135
App. No.
17/355,454
Granted
Apr 4, 2023
Kind
B2
Abstract

Techniques for allocating bandwidth for low latency content and buffered content are described. In accordance with various embodiments, a bandwidth allocation method is performed at a device (e.g., a server) with one or more processors and a non-transitory memory. The server determines available bandwidth for delivering content to a client device in a stream, where the stream includes low latency content and buffered content. The server further identifies characteristics of the low latency content. The server then allocates a first portion of the available bandwidth to the low latency content and a second portion of the available bandwidth to the buffered content based on the characteristics of the low latency content.

Claims (65)

1. A method comprising:

at a server including one or more processors and a non-transitory memory:

determining available bandwidth for delivering content to a client device in a stream, wherein the stream includes low latency content and buffered content;

identifying characteristics of the low latency content; and

allocating a first portion of the available bandwidth to the low latency content and a second portion of the available bandwidth to the buffered content based on the characteristics of the low latency content.

2. The method of claim 1 , wherein determining the available bandwidth for delivering the content to the client device in the stream includes:

receiving statistical parameters from the client device; and

deriving the available bandwidth from the statistical parameters.

3. The method of claim 1 , wherein at least a portion of the low latency content is presented on the client device and at least a portion of the buffered content is stored in a buffer on the client device, and the method further includes multiplexing the low latency content and the buffered content in the stream for delivering the content to the client device.

4. The method of claim 1 , wherein:

identifying the characteristics of the low latency content includes obtaining historical bandwidth requirements for one or more elements of the low latency content; and

allocating the first portion of the available bandwidth to the low latency content includes,

determining a bandwidth requirement for the low latency content based on the historical bandwidth requirements for the one or more elements; and

allocating the first portion of the available bandwidth to the low latency content based on the bandwidth requirement.

5. The method of claim 1 , wherein allocating the first portion of the available bandwidth to the low latency content and the second portion of the available bandwidth to the buffered content includes:

identifying characteristics of the buffered content; and

adjusting the first portion and the second portion based on the characteristics of the buffered content.

6. The method of claim 5 , wherein:

identifying the characteristics of the buffered content includes obtaining a required buffer threshold for the buffered content and determining a bandwidth requirement for the buffered content to reach the required buffer threshold in a buffer on the client device within a time limit; and

adjusting the first portion and the second portion based on the characteristics of the buffered content includes adjusting the first portion and the second portion based on the bandwidth requirement.

7. The method of claim 1 , further comprising:

determining changes to the characteristics of the low latency content; and

adjusting the first portion of the available bandwidth according to the changes.

8. The method of claim 1 , further comprising:

receiving a request to play the buffered content; and

reducing the first portion allocated to delivering the low latency content based on the characteristics of the low latency content and increasing the second portion allocated to buffering the buffered content in response to receiving the request to play the buffered content.

9. The method of claim 1 , further comprising:

detecting a decrease in the available bandwidth; and

adjusting the first portion and the second portion of the available bandwidth in response to detecting the decrease in the available bandwidth, including disproportionally adjusting the first portion allocated to the low latency content and the second portion allocated to the buffered content.

10. The method of claim 9 , further comprising:

obtaining the low latency content with a lower encoding rate in response to detecting the decrease in the available bandwidth.

11. The method of claim 1 , further comprising:

generating the low latency content; and

indicating the characteristics of the low latency content, including a bandwidth requirement of the low latency content.

12. A server comprising:

one or more processors;

a non-transitory memory; and

one or more programs stored in the non-transitory memory, which, when executed, cause the one or more processors to perform operations comprising:

determining available bandwidth for delivering content to a client device in a stream, wherein the stream includes low latency content and buffered content;

identifying characteristics of the low latency content; and

allocating a first portion of the available bandwidth to the low latency content and a second portion of the available bandwidth to the buffered content based on the characteristics of the low latency content.

13. The server of claim 12 , wherein determining the available bandwidth for delivering the content to the client device in the stream includes:

receiving statistical parameters from the client device; and

deriving the available bandwidth from the statistical parameters.

14. The server of claim 12 , wherein at least a portion of the low latency content is presented on the client device and at least a portion of the buffered content is stored in a buffer on the client device, and the one or more programs further cause the one or more processors to perform the operations including multiplexing the low latency content and the buffered content in the stream for delivering the content to the client device.

15. The server of claim 12 , wherein:

identifying the characteristics of the low latency content includes obtaining historical bandwidth requirements for one or more elements of the low latency content; and

allocating the first portion of the available bandwidth to the low latency content includes,

determining a bandwidth requirement for the low latency content based on the historical bandwidth requirements for the one or more elements; and

allocating the first portion of the available bandwidth to the low latency content based on the bandwidth requirement.

16. The server of claim 12 , wherein allocating the first portion of the available bandwidth to the low latency content and the second portion of the available bandwidth to the buffered content includes:

identifying characteristics of the buffered content; and

adjusting the first portion and the second portion based on the characteristics of the buffered content.

17. The server of claim 16 , wherein:

identifying the characteristics of the buffered content includes obtaining a required buffer threshold for the buffered content and determining a bandwidth requirement for the buffered content to reach the required buffer threshold in a buffer on the client device within a time limit; and

adjusting the first portion and the second portion based on the characteristics of the buffered content includes adjusting the first portion and the second portion based on the bandwidth requirement.

18. The server of claim 12 , wherein the one or more programs further cause the one or more processors to perform the operations including:

determining changes to the characteristics of the low latency content; and

adjusting the first portion of the available bandwidth according to the changes.

19. The server of claim 12 , wherein the one or more programs further cause the one or more processors to perform the operations including:

receiving a request to play the buffered content; and

reducing the first portion allocated to delivering the low latency content based on the characteristics of the low latency content and increasing the second portion allocated to buffering the buffered content in response to receiving the request to play the buffered content.

20. The server of claim 12 , wherein the one or more programs further cause the one or more processors to perform the operations including:

detecting a decrease in the available bandwidth; and

adjusting the first portion and the second portion of the available bandwidth in response to detecting the decrease in the available bandwidth, including disproportionally adjusting the first portion allocated to the low latency content and the second portion allocated to the buffered content.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2021
From: FRUCHTER, AVI; COHEN, ILAN; WACHTFOGEL, ZORACH REUVEN
To: SYNAMEDIA LIMITED
Reel/Frame 056633/0040 →
Continuity (1)
Related Publication 20220417571A1 · Dec 29, 2022