IP Library Granted Patent US 11,438,394
Granted Patent B2
US 11,438,394 · App. 17/068,737 · Granted Sep 6, 2022

Systems, methods, and media for controlling delivery of content

Inventors: Auke Sjoerd van der Schaar (Los Angeles, CA); Abhishek Shivadas (San Diego, CA)
Assignee: DIVX, LLC
H04L65/4092H04L65/00H04L65/80H04L67/32H04N21/44209H04N21/637H04N21/8456H04N21/85406
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,438,394
App. No.
17/068,737
Granted
Sep 6, 2022
Kind
B2
Abstract

Methods, systems, and computer readable media for controlling delivery of content are provided. In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.

Claims (96)

1. A method for controlling delivery of content, the method comprising:

transmitting, to a server, a plurality of requests for blocks of the content;

while an actual number of outstanding requests is at least one:

measuring a latency of a connection between a system and the server, wherein the latency includes a time differential between a transmission of a request for a block of content from the system to the server and receipt of a first network packet associated with the block of content at the system;

measuring a bandwidth of the connection between the system and the server, wherein the bandwidth includes a size of the block divided by a time differential between the receipt of the first network packet and receipt of a last network packet associated with the block of content;

detecting a change of a service characteristic of the connection between the system and the server, where the service characteristic is based on the latency and the bandwidth;

determining a preferred number of outstanding requests based upon the service characteristic and the size of the block of content; and

adjusting the actual number of outstanding requests based on the preferred number and a count of the requests from the plurality that are still outstanding.

2. The method of claim 1 , wherein determining the preferred number of requests is evaluated using the following expression:

preferred

number

of

requests

=

t

latency

t

transmission

+

1

where t latency is the latency and t transmission is a transmission time.

3. The method of claim 2 , wherein the transmission time is evaluated using the following expression:

t

transmission

=

block

size

bandwidth

where block size is the size of the requested block of content and bandwidth is the bandwidth.

4. The method of claim 1 , wherein the plurality of requests for blocks of content are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.

5. The method of claim 1 , wherein each block of content in the plurality of requested blocks of content is a fragment of a larger content file.

6. The method of claim 1 , wherein the content is streaming content.

7. The method of claim 6 , wherein the streaming content is from a live performance.

8. The method of claim 1 , wherein adjusting the actual number of outstanding requests comprises cancelling at least one request of the outstanding requests.

9. The method of claim 1 , wherein adjusting the actual number of outstanding requests comprises transmitting a set of one or more requests.

10. The method of claim 1 further comprising:

determining whether an underflow condition has occurred; and

when an underflow condition has occurred, reducing the number of outstanding requests in response to the underflow condition.

11. The method of claim 1 further comprising:

determining whether a buffer level exceeds a threshold; and

when the buffer level exceeds the threshold, reducing the number of outstanding requests in response to the threshold being exceeded.

12. A non-transitory machine readable medium containing processor instructions for controlling delivery of content, where execution of the instructions by a processor causes the processor to perform a process that comprises:

transmitting, to a server, a plurality of requests for blocks of the content;

while an actual number of outstanding requests is at least one:

measuring a latency of a connection between a system and the server, wherein the latency includes a time differential between a transmission of a request for a block of content from the system to the server and receipt of a first network packet associated with the block of content at the system;

measuring a bandwidth of the connection between the system and the server, wherein the bandwidth includes a size of the block divided by a time differential between the receipt of the first network packet and receipt of a last network packet associated with the block of content;

detecting a change of a service characteristic of the connection between the system and the server, where the service characteristic is based on the latency and the bandwidth;

determining a preferred number of outstanding requests based upon the service characteristic and the size of the block of content; and

adjusting the actual number of outstanding requests based on the preferred number and a count of the requests from the plurality that are still outstanding.

13. The non-transitory machine readable medium of claim 12 , wherein determining the preferred number of requests is evaluated using the following expression:

preferred

number

of

requests

=

t

latency

t

transmission

+

1

where t latency is the latency and t transmission is a transmission time.

14. The non-transitory machine readable medium of claim 13 , wherein the transmission time is evaluated using the following expression:

t

transmission

=

block

size

bandwidth

where block size is the size of the requested block of content and bandwidth is the bandwidth.

15. The non-transitory machine readable medium of claim 12 , wherein the plurality of requests for blocks of content are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.

16. The non-transitory machine readable medium of claim 12 , wherein each block of content in the plurality of requested blocks of content is a fragment of a larger content file.

17. The non-transitory machine readable medium of claim 12 , wherein the content is streaming content.

18. The non-transitory machine readable medium of claim 17 , wherein the streaming content is from a live performance.

19. The non-transitory machine readable medium of claim 12 , wherein adjusting the actual number of outstanding requests comprises cancelling at least one request of the outstanding requests.

20. The non-transitory machine readable medium of claim 12 , wherein adjusting the actual number of outstanding requests comprises transmitting a set of one or more requests.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: VAN DER SCHAAR, AUKE SJOERD; SHIVADAS, ABHISHEK
To: DIVX, LLC
Reel/Frame 055803/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 055803/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 055803/0183 →
CHANGE OF NAME Recorded Apr 1, 2021
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 055803/0213 →
Continuity (4)
Continuation 16255280 · Jan 23, 2019
Continuation 14943004 · Nov 16, 2015
Continuation 13732140 · Dec 31, 2012
Related Publication 20210099504A1 · Apr 1, 2021
Cited By (5)
US 12,244,878 US 12,250,404 US 12,262,051 US 12,407,906 US 12,470,781