IP Library Granted Patent US 9,191,457
Granted Patent B2
US 9,191,457 · App. 13/732,140 · Granted Nov 17, 2015

Systems, methods, and media for controlling delivery of content

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 9,191,457
App. No.
13/732,140
Granted
Nov 17, 2015
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 (117)

1. A system for presenting media content using cached assets, the system comprising:

processing circuitry configured to:

transmit to a server via a connection a plurality of requests for blocks of a content, the plurality including a first request for a first block of the content and a second request for a second block of the content, where the connection with the server is established over one or more communications networks and comprises:

a bandwidth; and

a latency;

wherein the latency is based on a time taken for the server to process and respond to a given request for a block of content;

while the second request is still outstanding:

receive the first block of the content responsive to the first request;

determine a preferred number of outstanding requests, where the preferred number of outstanding requests is determined based on both the latency and the bandwidth of the connection and is evaluated using the following expressions:

preferred

number

of

requests

=

t

latency

t

transmission

+

1

t

transmission

=

block

size

bandwidth

where t latency is the latency, t transmission is the time for the block of content to be transmitted to the server, block size is the size of a request for the block of content, and bandwidth is the bandwidth; and

when the preferred number of outstanding requests is greater than the number of requests from the plurality that are currently outstanding, transmit a third request for a third block before the second block is received by the processing circuitry;

when the preferred number of outstanding requests is less than or equal to the number of requests from the plurality that are currently outstanding, transmit the third request after the second block is received by the processing circuitry.

2. The system of claim 1 , wherein:

the first request, the second request, and the third request are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.

3. A method for controlling delivery of content, comprising:

transmitting, by a device to a server via a connection, a plurality of requests for blocks of a content, the plurality including a first request for a first block of the content and a second request for a second block of the content, where the connection with the server is established over one or more communication networks and comprises:

a bandwidth; and

a latency;

wherein the latency is based on a time taken for the server to process and respond to a given request for a block of content;

while the second request is still outstanding:

receiving the first block of the content responsive to the first request;

determining a preferred number of outstanding requests, where the preferred number of outstanding requests is determined based on both the latency and the bandwidth of the connection and is evaluated using the following expressions:

preferred

number

of

requests

=

t

latency

t

transmission

+

1

t

transmission

=

block

size

bandwidth

where t latency is the latency, t transmission is the time for the block of content to be transmitted to the server, block size is the size of a request for the block of content, and bandwidth is the bandwidth; and

when the preferred number of outstanding requests is greater than the number of requests from the plurality that are currently outstanding, transmitting a third request for a third block of the content before the second block is received at the device;

when the preferred number of outstanding requests is less than or equal to the number of requests from the plurality that are currently outstanding, transmitting the third request after the second block is received at the device.

4. The method of claim 3 , wherein the first request, the second request, and the third request are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.

5. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processing circuitry, cause the processing circuitry to perform a method for controlling delivery of content, the method comprising:

transmitting to a server via a connection a plurality of requests for blocks of a content, the plurality including a first request for a first block of the content and a second request for a second block of the content, where the connection with the server is established over one or more communications network and comprises:

a bandwidth; and

a latency;

wherein the latency is based on a time taken for the server to process and respond to a given request for a block of content;

while the second request is still outstanding, receiving the first block of the content responsive to the first request;

determining a preferred number of outstanding requests, where the preferred number of outstanding requests is determined based on both the latency and the bandwidth of the connection and is evaluated using the following expressions:

preferred

number

of

requests

=

t

latency

t

transmission

+

1

t

transmission

=

block

size

bandwidth

where t latency is the latency, t transmission is the time for the block of content to be transmitted to the server, block size is the size of a request for the block of content, and bandwidth is the bandwidth; and when the preferred number of outstanding requests is greater than the number of requests from the plurality that are currently outstanding, transmitting a third request for a third block of the content before the second block is received by the processing circuitry;

when the preferred number of outstanding requests is less than or equal to the number of requests from the plurality that are currently outstanding, transmitting the third request after the second block is received by the processing circuitry.

6. The non-transitory computer readable medium of claim 5 , wherein the first request, the second request, and the third request are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.

Assignments (6)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
RELEASE OF SECURITY INTEREST Recorded Apr 9, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DIVX, LLC
Reel/Frame 032645/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 032575/0144 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2014
From: VAN DER SCHAAR, AUKE SJOERD; SHIVADAS, ABHISHEK
To: DIVX, LLC
Reel/Frame 032512/0571 →