IP Library Granted Patent US 9,635,095
Granted Patent B1
US 9,635,095 · App. 14/021,561 · Granted Apr 25, 2017

Data purge distribution and coherency

Inventors: Artur Bergman (San Francisco, CA); Tyler McMullen (San Francisco, CA)
Assignee: Fastly Inc.
H04L67/10H04L67/06H04L67/1095
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,635,095
App. No.
14/021,561
Granted
Apr 25, 2017
Kind
B1
Abstract

Systems, methods, and software for operating a content delivery system are provided herein. In one example, a method includes, in a first content delivery node, receiving a purge instruction to purge first content stored in the first content delivery node and responsively purging the first content. Responsive to purging the first content, the method includes transferring a content request for delivery to a second content delivery node, where the content request comprises a request for second content to replace the first content and a revision indicator of the first content. Responsive to the content request, the method includes receiving the second content for storage in the first content delivery node.

Claims (46)

1. A method of operating a content delivery system to handle purge instructions, the content delivery system comprising a plurality of content delivery nodes that cache content between at least one origin server and end user devices, the method comprising:

in a first content delivery node, receiving a purge instruction, from a purge issuing device, to purge first content stored in the first content delivery node and responsively purging the first content;

responsive to purging the first content, in the first content delivery node, transferring a content request for delivery to a second content delivery node, wherein the content request comprises a request for second content to replace the first content and a revision indicator of the first content;

in the second content delivery node, receiving the content request;

in the second content delivery node, when the revision indicator of the first content indicates an earlier revision than third content stored in the second content delivery node, then transferring the third content as the second content for delivery to the first content delivery node;

in the second content delivery node, when the revision indicator of the first content indicates a same revision or a later revision as the third content stored in the second content delivery node, then requesting and receiving fourth content from a data, node and transferring the fourth content as the second content for delivery to the first content delivery node; and

in the first content delivery node, receiving the second content for storage in the first content delivery node.

2. The method of claim 1 , wherein the purge issue device comprises one of an operator device, an end user device, a management system, or an origin server.

3. The method of claim 1 , wherein the second content is of a later revision as the first content.

4. The method of claim 1 , wherein the revision indicator comprises a timestamp.

5. The method of claim 1 , further comprising:

in the first content delivery node, determining if a third content delivery node received the purge instruction to purge the first content;

when the third content delivery node has not received the purge instruction to purge the first content, then in the first content delivery node, transferring an update message comprising the purge instruction for delivery to the third content delivery node.

6. The method of claim 5 , wherein the update message further comprises the second content to replace the first content in the third content delivery node.

7. The method of claim 1 , wherein the purge instruction comprises a content key; and wherein purging the first content comprises only purging portions of the first content which have been marked with the content key.

8. One or more non-transitory computer readable media having stored thereon program instructions executable by content delivery nodes that cache content between at least one origin server and end user devices that, when executed by the content delivery nodes, direct the content delivery nodes to:

in a first content delivery node, receive a purge instruction, from a purge issuing device, to purge first content stored in the first content delivery node and responsively purge the first content;

responsive to purging the first content, in the first content delivery node, transfer a content request for delivery to a second content delivery node, wherein the content request comprises a request for second content to replace the first content and a revision indicator of the first content;

in the second content delivery node, receiving the content request;

in the second content delivery node, when the revision indicator of the first content indicates an earlier revision than third content stored in the second content delivery node, then transfer the third content as the second content for delivery to the first content delivery node;

in the second content delivery node, when the revision indicator of the first content indicates a same revision or a later revision as the third content stored in the second content delivery node, then request and receive fourth content from a data node and transfer the fourth content as the second content for delivery to the first content delivery node; and

in the first content delivery node, receive the second content for storage in the first content delivery node.

9. The one or more non-transitory computer readable media of claim 8 , wherein the data node comprises one of an origin server or a third content delivery node.

10. The one or more non-transitory computer readable media of claim 8 , wherein the second content is of a later revision as the first content.

11. The one or more non-transitory computer readable media of claim 8 , wherein the revision indicator comprises a timestamp.

12. The one or more non-transitory computer readable media of claim 8 , having further instructions stored thereon, that when executed by the content delivery nodes, direct the content delivery nodes to:

in the first content delivery node, determine if a third content delivery node received the purge instruction to purge the first content;

when the third content delivery node has not received the purge instruction to purge the first content, then in the first content delivery node, transfer an update message comprising the purge instruction for delivery to the third content delivery node.

13. The one or more non-transitory computer readable media of claim 12 , wherein the update message further comprises the second content to replace the first content in the third content delivery node.

14. The one or more non-transitory computer readable media of claim 8 , having further instructions stored thereon, that when executed by the content delivery nodes, direct the content delivery nodes to:

in the first content delivery node, purge only portions of the first content which have been marked with a content key, wherein the purge instruction comprises the content key.

15. A content delivery system to handle purge instructions, the content delivery system comprising a plurality of content delivery nodes that cache content between at least one origin server and end user devices, the content delivery system comprising:

a first content delivery node configured to receive, from a purge issuing device, a purge instruction to purge first content stored in the first content delivery node and responsively purge the first content;

responsive to purging the first content, the first content delivery node configured to transfer a content request for delivery to a second content delivery node, wherein the content request comprises a request for second content to replace the first content and a revision indicator of the first content;

the second content delivery node configured to receive the content request;

when the revision indicator of the first content indicates an earlier revision than third content stored in the second content delivery node, then the second content delivery node configured to transfer the third content as the second content for delivery to the first content delivery node;

when the revision indicator of the first content indicates a same revision or a later revision as the third content stored in the second content delivery node, then the second content delivery node is configured to request and receive fourth content from a data node and transfer fourth content as the second content for delivery to the first content delivery node; and

the first content delivery node is configured to receive the second content for storage in the first content delivery node.

16. The content delivery system of claim 15 , wherein the data node comprises one of an origin server or a third content delivery node.

17. The content delivery system of claim 15 , wherein the second content is of a later revision as the first content.

18. The content delivery system of claim 15 , wherein the revision indicator comprises a timestamp.

19. The content delivery system of claim 15 , comprising:

the first content delivery node configured to determine if a third content delivery node received the purge instruction to purge the first content;

when the third content delivery node has not received the purge instruction to purge the first content, then the first content delivery node is configured to transfer an update message comprising the purge instruction for delivery to the third content delivery node.

20. The content delivery system of claim 15 , comprising:

the first content delivery node configured to purge only portions of the first content which have been marked with a content key, wherein the purge instruction comprises the content key.

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 Mar 20, 2017
From: BERGMAN, ARTUR; MCMULLEN, TYLER
To: FASTLY INC.
Reel/Frame 041640/0499 →
Continuity (1)
Provisional Application 61700275 · Sep 12, 2012