IP Library Granted Patent US 8,886,769
Granted Patent B2
US 8,886,769 · App. 13/744,834 · Granted Nov 11, 2014

Selective content pre-warming in content delivery networks based on user actions and content categorizations

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 8,886,769
App. No.
13/744,834
Granted
Nov 11, 2014
Kind
B2
Abstract

Systems and methods are provided for streaming content over the Internet via a CDN to an end user system. Requests from end user systems for streaming content objects being handled by the CDN are tracked to identify, for each request the tracked requests, a first content object being requested. For each request of the tracked requests, a category of the requested first content object is identified. The identified category is stored. Aggregated data indicating an amount of requests being for content objects with a specific category is generated. A prediction is made that a second content object will be requested in the future based on the aggregated data and a category of the second content object. Access to the second content object is improved such that the second content object is set to be provided faster in response to a request for the second content object than would otherwise occur.

Claims (70)

1. A content delivery network (CDN) for streaming content over the Internet to end user systems, the CDN comprising:

a content request interface that receives requests, using one or more processors, for streaming a plurality of content objects to end user systems;

an edge server selection function that assigns, using one or more processors, each request to an edge server for streaming the plurality of content objects to the end user systems;

a streaming function that streams, using one or more processors, the plurality of content objects to the end user systems; and

a content-request function, wherein the content-request function, using one or more processors:

identifies, for each request received by the content request interface, a category for each of the plurality of content objects, wherein the category for each of the plurality of content objects is identified based on an analysis of the subject matter of each of the plurality of content objects,

stores the category for each of the plurality of content objects,

monitors, for each request received, a first portion of each of the plurality of content objects that was streamed to a requesting end user system, wherein the first portion is less than an entire content object,

generates aggregated data to determine a playback time, wherein:

the playback time corresponds to a specific category of content objects of the plurality of content objects; and

the playback time is equal to a statistical usage pattern of first portions of the plurality of content objects that belong to the specific category,

predicts a second portion of a second content object, wherein:

the second content object is not part of the plurality of content objects,

the second content object is identified to be part of the specific category, and

the second portion has a playback length equal to the playback time based on the second content object being identified to be part of the specific category, and

causes access to the second portion of the second content object to be improved such that the second portion of the second content object is set to be provided faster in response to a request for the second content object than would otherwise occur.

2. The CDN for streaming content over the Internet to the end user system as recited in claim 1 , wherein causing access to the second content object to be improved includes causing the second content object to be cached at an edge server.

3. The CDN for streaming content over the Internet to the end user system as recited in claim 1 , wherein, for each request received by the content request interface, the category of the requested content object is identified based on metadata of the requested content object.

4. The CDN for streaming content over the Internet to the end user system as recited in claim 1 , wherein the content-request function further:

monitors, for each request received by the content request interface, what portion of the request was streamed to the requesting end user system, and

predicts that a portion of the second content object will be provided in response to future requests,

wherein causing access to the second content object to be improved comprises causing access to the portion of the second content object to be improved.

5. The CDN for streaming content over the Internet to the end user system as recited in claim 1 , wherein predicting that the second content object will be requested in the future comprises predicting that a particular user will request the second content object.

6. The CDN for streaming content over the Internet to the end user system as recited in claim 5 , wherein the content-request function further estimates an edge server that will be serving the user in the future, and wherein causing access to the second content object to be improved includes causing the second content object to be cached at the edge server.

7. The CDN for streaming content over the Internet to the end user system as recited in claim 1 , wherein predicting that the second content object will be requested comprises predicting that the second content object will be requested more than a threshold number of times.

8. The CDN for streaming content over the Internet to the end user system as recited in claim 1 , wherein the generated aggregated data is indicative of an amount of requests assigned to a specific point of presence (POP) of the CDN being for content objects with the specific category, and wherein the prediction comprises a prediction that the specific POP will receive a future request for the second content object.

9. A method for streaming content over the Internet via a CDN to end user systems, the method comprising:

tracking requests from end user systems for streaming content objects being handled by the CDN to identify a plurality of content objects being requested;

identifying a category for each of the plurality of content objects, wherein the category for each of the plurality of content objects is identified based on an analysis of the subject matter of each of the plurality of content objects;

storing the category for each of the plurality of content objects;

monitoring, for each request received, a first portion of each of the plurality of content objects that was streamed to a requesting end user system, wherein the first portion is less than an entire content object;

generating aggregated data to determine a playback time, wherein:

the playback time corresponds to a specific category of content objects of the plurality of content objects; and

the playback time is equal to a statistical usage pattern of first portions of the plurality of content objects that belong to the specific category;

predicting that a second portion of a second content object, wherein:

the second content object is not part of the plurality of content objects;

the second content object is identified to be part of the specific category; and

the second portion has a playback length equal to the playback time based on the second content object being identified to be part of the specific category; and

causing access to the second portion of the second content object to be improved such that the second portion of the second content object is set to be provided faster in response to a request for the second content object than would otherwise occur.

10. The method for streaming content over the Internet to the end user system as recited in claim 9 , wherein causing access to the second content object to be improved includes causing the second content object to be cached at an edge server in the CDN.

11. The method for streaming content over the Internet to the end user system as recited in claim 9 , wherein, for each request received by the content request interface, the category of the requested content object is identified based on metadata of the requested content object.

12. The method for streaming content over the Internet to the end user system as recited in claim 9 , further comprising:

monitoring, for each request of the tracked requests, what portion of the request was streamed to the requesting end user system; and

predicting that a portion of the second content object will be provided in response to future requests,

wherein causing access to the second content object to be improved comprises causing access to the portion of the second content object to be improved.

13. The method for streaming content over the Internet to the end user system as recited in claim 9 , wherein predicting that the second content object will be requested in the future comprises predicting that a particular user will request the second content object.

14. The method for streaming content over the Internet to the end user system as recited in claim 13 , further comprising estimating an edge server of the CDN that will be serve the user in the future, wherein causing access to the second content object to be improved includes causing the second content object to be cached at the edge server.

15. The method for streaming content over the Internet to the end user system as recited in claim 9 , wherein predicting that the second content object will be requested comprises predicting that the second content object will be requested more than a threshold number of times.

16. The method for streaming content over the Internet to the end user system as recited in claim 9 , wherein the generated aggregated data is indicative of an amount of requests assigned to a specific point of presence (POP) of the CDN being for content objects with the specific category, and wherein the prediction comprises a prediction that the specific POP will receive a future request for the second content object.

17. A system for streaming content over the Internet to end user systems, the system comprising:

one or more processors; and

one or memories coupled with said one or more processors, wherein the one or more processors and one or more memories are configured to:

track requests from end user systems for streaming a plurality of content objects;

identify a category for each of the plurality of content objects, wherein the category for each of the plurality of content objects identified based on an analysis of the subject matter of each of the plurality of content objects;

store the category for each of the plurality of content objects;

monitor, for each request received, a first portion of each of the plurality of content objects that was streamed to a requesting end user system, wherein the first portion is less than an entire content object;

generate aggregated data to determine a playback time, wherein:

the playback time corresponds to a specific category of content objects of the plurality of content objects; and

the playback time is equal to a statistical usage pattern of first portions of the plurality of content objects that belong to the specific category;

predict that a second portion of a second content object, wherein:

the second content object is not part of the plurality of content objects;

the second content object is identified to be part of the specific category; and

the second portion has a playback length equal to the playback time based on the second content object being identified to be part of the specific category; and

cause access to the second portion of the second content object to be improved such that the second portion of the second content object is set to be provided faster in response to a request for the second content object than would otherwise occur.

18. The system for streaming content over the Internet to the end user system as recited in claim 17 , wherein causing access to the second content object to be improved includes causing the second content object to be cached.

19. The system for streaming content over the Internet to the end user system as recited in claim 17 , wherein, for each request received by the content request interface, the category of the requested content object is identified based on metadata of the requested content object.

20. The system for streaming content over the Internet to the end user system as recited in claim 17 , wherein the one or more processors and one or more memories are further configured to:

monitor, for each request of the tracked requests, what portion of the request was streamed to the requesting end user system; and

predict that a portion of the second content object will be provided in response to future requests,

wherein causing access to the second content object to be improved comprises causing access to the portion of the second content object to be improved.

Assignments (9)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
CHANGE OF NAME Recorded Sep 9, 2024
From: LIMELIGHT NETWORKS, INC.
To: EDGIO, INC.
Reel/Frame 068898/0281 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2013
From: THIBEAULT, JASON; NAZARIO, EDGARDO
To: LIMELIGHT NETWORKS, INC.
Reel/Frame 029656/0567 →