IP Library Granted Patent US 9,900,396
Granted Patent B2
US 9,900,396 · App. 13/767,527 · Granted Feb 20, 2018

Predictive content caching

Inventor: Warren Wong (Concord, CA)
Assignee: Comcast Cable Communications, LLC
H04L67/2842
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,900,396
App. No.
13/767,527
Granted
Feb 20, 2018
Kind
B2
Abstract

Systems, methods, apparatuses, and computer readable media may be configured for improved predictive content caching. A system may determine a value that is a function of one or more rates at which a portion of a content item is being consumed and based on this value, may also calculate a projected position after a predetermined time period. By comparing the projected position to a dynamically adjustable threshold position for requesting a new portion of the content item, a determination may be made as to when to retrieve and/or cache a new portion of the content item.

Claims (80)

1. A method comprising:

determining, by a computing device, a first rate of consumption of a first portion of a content item at a first time, wherein the first rate of consumption corresponds to a first change in a first current consumption position in the first portion of the content item over a first time duration;

determining, by the computing device, a second rate of consumption of the first portion at a second time, wherein the second rate of consumption corresponds to a second change in a second current consumption position in the first portion of the content item over a second time duration;

determining, by the computing device, a value that is a function of the first rate of consumption and the second rate of consumption;

determining, by the computing device, a direction of consumption that is based on the first rate of consumption and the second rate of consumption;

determining, by the computing device, one or more threshold positions for requesting a second portion of the content item, wherein at least one of the one or more threshold positions is determined based on the value, the direction of consumption, and an estimated time for retrieval of the second portion of the content item; and

in response to determining that a third current consumption position has reached a threshold position of the one or more threshold positions, retrieving, by the computing device and from a content delivery network, the second portion of the content item.

2. The method of claim 1 , further comprising: caching, by the computing device, the second portion after the retrieving.

3. The method of claim 1 , further comprising: receiving, by the computing device, an input from a user, wherein the input is used in determining the first rate of consumption and the second rate of consumption.

4. The method of claim 1 , further comprising:

determining, by the computing device, a level of network congestion associated with retrieving the second portion, wherein the determining the one or more threshold positions for requesting the second portion further comprises determining the one or more threshold positions based, at least in part, on the level of network congestion.

5. The method of claim 1 , further comprising:

determining, by the computing device, a third rate of consumption of the first portion of a content item at a third time, wherein the third rate of consumption corresponds to a third change in a fourth current consumption position in the first portion of the content item over the first time duration;

determining, by the computing device, a fourth rate of consumption of the first portion at a fourth time, wherein the fourth rate of consumption corresponds to a fourth change in a fifth current consumption position in the first portion of the content item over the second time duration;

determining, by the computing device, a second value that is a function of the third rate of consumption and the fourth rate of consumption;

comparing, by the computing device, the value and the second value; and

changing, by the computing device, one or more of the threshold positions for requesting the second portion of the content item based on the comparing of the value and second value.

6. The method of claim 1 , further comprising:

determining, by the computing device, that the value is zero; and

determining, by the computing device and based on the determining that the value is zero, a new first rate of consumption and a new second rate of consumption, wherein:

the new first rate of consumption corresponds to a third change in the first current consumption position in the first portion of the content item over a third time duration, and

the new second rate of consumption corresponds to a fourth change in the second current consumption position in the first portion of the content item over a fourth time duration;

determining, by the computing device, a new value that is a function of the new first rate of consumption and new second rate of consumption; and

changing, by the computing device, one or more of the threshold positions for requesting the second portion of the content item based on the new value.

7. An apparatus comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

determine a first rate of consumption of a first portion of a content item at a first time, wherein the first rate of consumption corresponds to a first change in a first current consumption position in the first portion of the content item over a first time duration;

determine a second rate of consumption of the first portion at a second time, wherein the second rate of consumption corresponds to a second change in a second current consumption position in the first portion of the content item over a second time duration;

determine a value that is a function of the first rate of consumption and the second rate of consumption;

determine a direction of consumption that is based on the first rate of consumption and the second rate of consumption;

determine one or more threshold positions for requesting a second portion of the content item, wherein at least one of the one or more threshold positions is determined based on the value, the direction of consumption, and an estimated time for retrieval of the second portion of the content item; and

in response to determining that a third current consumption position has reached a threshold position of the one or more threshold positions, retrieve, from a content delivery network, the second portion of the content item.

8. The apparatus of claim 7 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:

cache the second portion after the retrieving.

9. The apparatus of claim 7 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:

retrieve an input from a user, wherein the input is used in determining the first rate of consumption and the second rate of consumption.

10. The apparatus of claim 7 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:

determine a level of network congestion associated with retrieving the second portion, wherein the determining the one or more threshold positions for requesting the second portion further comprises determining the one or more threshold positions based, at least in part, on the level of network congestion.

11. The apparatus of claim 7 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:

determine a third rate of consumption of the first portion of a content item at a third time, wherein the third rate of consumption corresponds to a third change in a fourth current consumption position in the first portion of the content item over the first time duration;

determine a fourth rate of consumption of the first portion at a fourth time, wherein the fourth rate of consumption corresponds to a fourth change in a fifth current consumption position in the first portion of the content item over the second time duration;

determine a second value that is a function of the third rate of consumption and the fourth rate of consumption;

compare the value and the second value; and

change one or more of the threshold positions for requesting the second portion of the content item based on the comparing of the value and second value.

12. The apparatus of claim 7 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:

determine that the value is zero; and

determine, based on the determining that the value is zero, a new first rate of consumption and a new second rate of consumption, wherein:

the new first rate of consumption corresponds to a third change in the first current consumption position in the first portion of the content item over a third time duration, and

the new second rate of consumption corresponds to a fourth change in the second current consumption position in the first portion of the content item over a fourth time duration;

determine a new value that is a function of the new first rate of consumption and new second rate of consumption; and

change one or more of the threshold positions for requesting the second portion of the content item based on the new value.

13. A system comprising:

a content delivery network; and

a computing device comprising one or more processors and memory storing instructions that, when executed by the one or more processors, cause the computing device to:

determine a first rate of consumption of a first portion of a content item at a first time, wherein the first rate of consumption corresponds to a first change in a first current consumption position in the first portion of the content item over a first time duration;

determine a second rate of consumption of the first portion at a second time, wherein the second rate of consumption corresponds to a second change in a second current consumption position in the first portion of the content item over a second time duration;

determine a value that is a function of the first rate of consumption and the second rate of consumption;

determine a direction of consumption that is based on the first rate of consumption and the second rate of consumption;

determine one or more threshold positions for requesting a second portion of the content item, wherein at least one of the one or more threshold positions is determined based on the value, the direction of consumption, and an estimated time for retrieval of the second portion of the content item; and

in response to determining that a third current consumption position has reached a threshold position of the one or more threshold positions, retrieve, from the content delivery network, the second portion of the content item.

14. The system of claim 13 , wherein the computing device is further configured to:

cache the second portion after the retrieving.

15. The system of claim 13 , wherein the computing device is further configured to:

retrieve an input from a user, wherein the input is used in determining the first rate of consumption and the second rate of consumption.

16. The system of claim 13 , wherein the computing device is further configured to:

determine a level of network congestion associated with retrieving the second portion, wherein the determining the one or more threshold positions for requesting the second portion further comprises determining the one or more threshold positions based, at least in part, on the level of network congestion.

17. The system of claim 13 , wherein the computing device is further configured to:

determine a third rate of consumption of the first portion of a content item at a third time, wherein the third rate of consumption corresponds to a third change in a fourth current consumption position in the first portion of the content item over the first time duration;

determine a fourth rate of consumption of the first portion at a fourth time, wherein the fourth rate of consumption corresponds to a fourth change in a fifth current consumption position in the first portion of the content item over the second time duration;

determine a second value that is a function of the third rate of consumption and the fourth rate of consumption;

compare the value and the second value; and

change one or more of the threshold positions for requesting the second portion of the content item based on the comparing of the value and second value.

18. The system of claim 13 , wherein the computing device is further configured to:

determine that the value is zero; and

determine, based on the determining that the value is zero, a new first rate of consumption and a new second rate of consumption, wherein:

the new first rate of consumption corresponds to a third change in the first current consumption position in the first portion of the content item over a third time duration, and

the new second rate of consumption corresponds to a fourth change in the second current consumption position in the first portion of the content item over a fourth time duration;

determine a new value that is a function of the new first rate of consumption and new second rate of consumption; and

change one or more of the threshold positions for requesting the second portion of the content item based on the new value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2013
From: WONG, WARREN
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 029824/0241 →
Continuity (1)
Related Publication 20140229609A1 · Aug 14, 2014