IP Library Granted Patent US 9,491,253
Granted Patent B2
US 9,491,253 · App. 14/091,759 · Granted Nov 8, 2016

Data storage based on content popularity

Inventors: Artur Bergman (San Francisco, CA); Rogier Mulhuijzen (The Hague, NL)
Assignee: Fastly, Inc.
H04L67/2842H04L67/1097H04N21/231H04N21/23106H04L65/4084
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,491,253
App. No.
14/091,759
Granted
Nov 8, 2016
Kind
B2
Abstract

Methods, systems, and software for operating a data storage system of a content delivery node are provided herein. In one example, a method of operating a data storage system of a content delivery node is presented. The method includes receiving content data into a storage system, storing the content data in a first storage space, determining popular content data within the content data based on at least user requests for the content data, and storing the popular content data in a second storage space.

Claims (33)

1. A method of operating a data storage system of a cache node of a content delivery network that caches content for delivery to end user devices, the method comprising:

receiving over a network interface the content transferred by one or more origin servers for caching into the data storage system;

responsive to receiving the content, storing the content in a first storage space in the data storage system comprising volatile memory;

monitoring popularity measurements related to end user requests received over the network interface for the content to determine portions of the content which exceed a popularity score threshold based on at least the end user requests for the content;

responsive to the portions of the content exceeding the popularity score threshold, transferring the portions of the content for storage in a second storage space in the data storage system comprising nonvolatile storage, wherein transferring the portions of the content for storage in the second storage space comprises either retaining the portions in the first storage space or removing the portions from the first storage space; and

responsive to transferring the portions of the content for storage in the second storage space, and when the portions of the content are simultaneously stored in both the first storage space and the second storage space, identifying the portions of the content stored in the first storage space as content to evict, and reducing a popularity score associated with the portions of the content to establish an eviction for the content to evict.

2. The method of claim 1 , further comprising:

removing from the first storage space the portions of the content which do not exceed the popularity score threshold.

3. The method of claim 1 wherein monitoring the popularity measurements comprises calculating a count of the end user requests for the content weighted according to the recentness of the end user requests for the content.

4. The method of claim 1 wherein the popularity score threshold comprises at least one of a count of the end user requests for the content and a percentage among all end user requests that are for the content.

5. The method of claim 1 , further comprising:

treating as unpopular content already residing in the second storage space.

6. The method of claim 1 wherein the content transferred by the one or more origin servers comprises content that was dynamically generated by the one or more origin servers.

7. The method of claim 1 wherein the second storage space comprises at least one of a flash drive and a hard drive.

8. The method of claim 1 wherein the first storage space comprises a random access memory (RAM).

9. The method of claim 1 wherein the content comprises video.

10. A software apparatus comprising:

one or more non-transitory computer readable storage media; and

program instructions stored on the one or more computer readable media and executable by a processing system to operate a data storage system of a cache node of a content delivery network that caches content for delivery to end user devices, wherein the program instructions, when executed by the processing system, direct the processing system to at least:

receive over a network interface the content transferred by one or more origin servers for caching into the data storage system;

responsive to receiving the content, store the content in a first storage space in the data storage system comprising volatile memory;

monitor popularity measurements related to end user requests received over the network interface for the content to determine portions of the content which exceed a popularity score threshold based on at least the end user requests for the content;

responsive to the portions of the content exceeding the popularity score threshold, transfer the portions of the content for storage in a second storage space in the data storage system comprising nonvolatile storage, wherein the transfer of the portions of the content for storage in the second storage space comprises either retaining the portions in the first storage space or removing the portions from the first storage space; and

responsive to transferring the portions of the content for storage in the second storage space, and when the portions of the content are simultaneously stored in both the first storage space and the second storage space, identify the portions of the content stored in the first storage space as content to evict, and reduce a popularity score associated with the portions of the content to establish an eviction for the content to evict.

11. The software apparatus of claim 10 wherein the program instructions, when executed by the processing system, further direct the processing system to at least:

remove from the first storage space the portions of the content which do not exceed the popularity score threshold.

12. The software apparatus of claim 10 configured to monitor the popularity measurements by at least calculating a count of the end user requests weighted according to the recentness of the end user requests.

13. The software apparatus of claim 10 wherein the popularity score threshold comprises at least one of a count of the end user requests for the content and a percentage among all end user requests that are for the content.

14. The software apparatus of claim 10 configured to monitor the popularity measurements by at least treating as unpopular content already residing in the second storage space.

15. The software apparatus of claim 10 wherein the content transferred by the one or more origin servers comprises content that was dynamically generated by the one or more origin servers.

16. The software apparatus of claim 10 wherein the second storage space comprises at least one of a flash drive and a hard drive.

17. The software apparatus of claim 10 wherein the first storage space comprises a random access memory (RAM).

18. The software apparatus of claim 10 wherein the content comprises video.

Assignments (2)
SECURITY INTEREST Recorded Feb 17, 2021
From: FASTLY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 055316/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2015
From: BERGMAN, ARTUR; MULHUIJZEN, ROGIER
To: FASTLY INC.
Reel/Frame 034734/0837 →
Continuity (2)
Provisional Application 61730419 · Nov 27, 2012
Related Publication 20140149533A1 · May 29, 2014