IP Library › Granted Patent US 11,086,960
Granted Patent B2
US 11,086,960 · App. 16/926,555 · Granted Aug 10, 2021

Extension for targeted invalidation of cached assets

Inventor: Christopher Newton (West Lake Village, CA)
Assignee: NETFLIX, INC.
G06F16/9574G06F16/955G06F21/64H04L67/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 11,086,960
App. No.
16/926,555
Granted
Aug 10, 2021
Kind
B2
Abstract

Various embodiments of the present disclosure relate to a computer-implemented method of receiving an invalidation command that includes a first asset identifier, and a set of extension value fields, identifying a first file that is stored in a first cache device and is associated with an identifier matching the first asset identifier, comparing attributes of the first file to the set of extension value fields, and upon determining that, for each extension value field, at least one attribute of the first file matches at least one value of the extension value field, causing the first file in the first cache device to be preserved, or upon determining that, for at least one extension value, at least one attribute of the first file does not match at least one value of the extension value field, causing the first file to be invalidated.

Claims (65)

1. A computer-implemented method comprising:

receiving an invalidation command that includes (i) a first asset identifier, and (ii) a set of one or more extension value fields;

identifying a first file that is stored in a first cache device and is associated with an identifier matching the first asset identifier;

comparing a set of attributes of the first file to the set of one or more extension value fields; and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the set of attributes of the first file matches at least one value of the extension value field, causing the first file in the first cache device to be preserved, or

upon determining that, for at least one extension value field included in the set of one or more extension value fields, at least one attribute of the first file does not match at least one value of the extension value field, causing the first file to be invalidated.

2. The computer-implemented method of claim 1 , wherein the first asset identifier is based on at least a uniform resource identifier (URI) associated with a first asset.

3. The computer-implemented method of claim 1 , wherein the set of one or more extension value fields includes a field corresponding to a content length of a file.

4. The computer-implemented method of claim 1 , wherein the set of one or more extension value fields includes a field corresponding to a checksum of a file.

5. The computer-implemented method of claim 1 , further comprising, upon invalidating the first file, sending a request to a second cache device, wherein:

the second cache device is a peer to the first cache device; and

the second cache device sends a second file to the first cache device in response to the request.

6. The computer-implemented method of claim 5 , wherein the second cache device:

compares a set of attributes of the second file to the set of one or more extension value fields, and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the set of attributes of the second file matches at least one value of the extension value field, sends the second file to the first cache device.

7. The computer-implemented method of claim 1 , further comprising, upon invalidating the first file, sending a request to a second cache device, wherein:

the second cache device is a parent to the first cache device; and

the second cache device sends a second file to the first cache device in response to the request.

8. The computer-implemented method of claim 1 , further comprising upon determining that, for at least one extension value field included in the set of one or more extension value fields, at least one attribute of the first file does not match at least one value of the extension value field, reloading a portion of the first file by:

determining a portion of the first file that has attributes that do not match at least one value of the extension value field, wherein the portion is smaller than the entire first file; and

requesting that at least one other cache device send, to the first cache device, a portion of a second file that corresponds to the portion of the first file.

9. The computer-implemented method of claim 1 , wherein the first asset identifier comprises a directory, and further comprising:

identifying a first directory that is stored in a first cache device and is associated with an identifier matching the first asset identifier;

comparing a first set of attributes of a first file and a second set of attributes of a second file, included in the first directory, to the set of one or more extension value fields; and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the first set of attributes of the first file and at least one attribute included in the second set of attributes of the second file match at least one value of the extension value field, causing the first file and the second file in the first cache device to be preserved, preserving both the first file and the second file, or

upon determining that, for at least one extension value field included in the set of one or more extension value fields, at least one attribute included in the first set of attributes of the first file and at least one attribute included in the second set of attributes of the second file do not match at least one value of the extension value field, causing the first file and the second file to be invalidated.

10. The computer-implemented method of claim 1 , wherein the invalidation command is received from one of (i) a second cache device that is a parent to the first cache device, or (ii) an origin server.

11. One or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving an invalidation command that includes (i) a first asset identifier, and (ii) a set of one or more extension value fields;

identifying a first file that is stored in a first cache device and is associated with an identifier matching the first asset identifier;

comparing a set of attributes of the first file to the set of one or more extension value fields; and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the set of attributes of the first file matches at least one value of the extension value field, causing the first file in the first cache device to be preserved, or

upon determining that, for at least one extension value field included in the set of one or more extension value fields, at least one attribute of the first file does not match at least one value of the extension value field, causing the first file to be invalidated.

12. The one or more non-transitory computer-readable storage media of claim 11 , further including instructions that, when executed by the one or more processors, cause the one or more processors to perform the steps of:

upon invalidating the first file, sending a request to a second cache device, wherein:

the second cache device is a peer to the first cache device, or the second cache device is a parent to the first cache device; and

the second cache device sends a second file to the first cache device.

13. The one or more non-transitory computer-readable storage media of claim 12 , wherein the second cache device:

compares a set of attributes of the second file to the set of one or more extension value fields, and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the set of attributes of the second file matches at least one value of the extension value field, sends the second file to the first cache device.

14. The one or more non-transitory computer-readable storage media of claim 11 , wherein the set of one or more extension value fields includes:

a first field corresponding to a content length of a file; and

a second field corresponding to a checksum of the file.

15. The one or more non-transitory computer-readable storage media of claim 11 , wherein:

the first asset identifier comprises a wildcard pattern, and

identifying the first file that is stored in the first cache device comprises determining that at least a portion of the identifier associated with the first file satisfies the wildcard pattern.

16. A computing system for accessing data, the computing system comprising:

a memory storing a storage controller application; and

a processor that is coupled to the memory and executes the storage controller application to:

receive an invalidation command that includes (i) a first asset identifier, and (ii) a set of one or more extension value fields;

identify a first file that is stored in a first cache device and is associated with an identifier matching the first asset identifier;

compare a set of attributes of the first file to the set of one or more extension value fields; and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the set of attributes of the first file matches at least one value of the extension value field, cause the first file in the first cache device to be preserved, or

upon determining that, for at least one extension value field included in the set of one or more extension value fields, at least one attribute of the first file does not match at least one value of the extension value field, cause the first file to be invalidated.

17. The computing system of claim 16 , wherein the processor further executes the storage controller application to:

upon invalidating the first file, send a request to a second cache device, wherein:

the second cache device is a peer to the first cache device, or the second cache device is a parent to the first cache device; and

the second cache device sends a second file to the first cache device.

18. The computing system of claim 17 , wherein the second cache device:

compares a set of attributes of the second file to the set of one or more extension value fields, and

upon determining that, for each extension value field included in the set of one or more extension value fields, at least one attribute included in the set of attributes of the second file matches at least one value of the extension value field, sends the second file to the first cache device.

19. The computing system of claim 16 , wherein the set of one or more extension value fields includes:

a first field corresponding to a content length of a file; and

a second field corresponding to a checksum of the file.

20. The computing system of claim 16 , wherein the invalidation command is received from one of (i) a second cache device that is a parent to the first cache device, or (ii) an origin server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2021
From: NEWTON, CHRISTOPHER
To: NETFLIX, INC.
Reel/Frame 054986/0828 →
Continuity (2)
Provisional Application 62875475 · Jul 17, 2019
Related Publication 20210019359A1 · Jan 21, 2021
Cited By (3)
US 12,197,918 US 12,273,421 US 12,289,490