IP Library Granted Patent US 9,634,905
Granted Patent B2
US 9,634,905 · App. 13/802,051 · Granted Apr 25, 2017

Invalidation systems, methods, and devices

Inventors: Christopher Newton (Westlake Village, CA); Lewis Robert Varney (Oak Park, CA); Laurence R. Lipstone (Calabasas, CA); William Crowder (Camarillo, CA); Andrew Swart (Pennington, NJ)
Assignee: LEVEL 3 COMMUNICATIONS, LLC
H04L41/50G06F9/5055G06F15/173G06F15/177H04L41/0816H04L41/0823H04L41/0869H04L41/0893H04L41/12H04L41/509H04L41/5041H04L43/04H04L47/70H04L61/10H04L61/2507H04L65/403H04L65/60H04L67/06H04L67/10H04L67/1078H04L67/16H04L67/26H04L67/289H04L67/2842H04L67/2852H04L67/2885H04L67/32H04L67/42H04L69/03G06F12/0808H04L41/0813H04L43/08H04L43/10H04L61/1511H04L61/1535H04L61/6009
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,634,905
App. No.
13/802,051
Granted
Apr 25, 2017
Kind
B2
Abstract

A computer-implemented method includes receiving, at a service running on the hardware, invalidation information relating to one or more resources; and determining whether the invalidation information relates to any resources currently stored on the service. Based on the determining, when the invalidation information relates to at least one resource not currently cached on the service, maintaining on the service at least some of the invalidation information; and using the maintained invalidation information on the service to prevent subsequent use of a version of at least one resource not currently stored on the service.

Claims (47)

1. A computer-implemented method operable on a device comprising hardware including memory and at least one processor, the method comprising:

(A) receiving, at a service running on said hardware, invalidation information, the invalidation information comprising one or more invalidation commands, wherein at least one of said one or more invalidation commands comprises at least one group invalidation command that specifies a group of resources, wherein said at least one group invalidation command may relate, at least in part, to resources not currently stored on said service;

(B) determining whether said invalidation information relates to information not currently stored on said service, and, based on said determining,

(B)(1) when said invalidation information relates to information not currently stored on said service, maintaining on said service at least some of said invalidation information that relates to said information not currently stored on said service; and

(C) said service using said maintained invalidation information to prevent subsequent use of a version of information not currently stored on said service.

2. The method of claim 1 further comprising:

based on said determining in (B),

(B)(2) when said invalidation information relates to information already stored on said service, marking said information already stored on said service as not usable.

3. The method of claim 1 wherein the invalidation information is received at said service as part of an invalidation manifest comprising said one or more invalidation commands.

4. The method of claim 1 wherein a second at least one of said one or more invalidation commands is an invalidation command that specifies a single resource.

5. The method of claim 1 wherein, when an invalidation command specifies a group of resources, the group is specified by a pattern.

6. The method of claim 5 wherein the pattern is specified by one or more of: regular expressions and glob patterns.

7. The method of claim 1 wherein said version of said information is obtained in response to a request made of said service.

8. The method of claim 7 wherein the request is a request for a resource.

9. The method of claim 8 wherein the information comprises the resource.

10. The method of claim 9 wherein the information is used to derive a response to the request.

11. The method of claim 1 wherein said invalidation information relates to a resource.

12. The method of claim 11 wherein the resource is associated with an origin, the method further comprising:

associating a minimum origin version and a resource origin version with each resource, wherein said invalidation information for a resource specifies the minimum origin version for said resource, and wherein said service uses said minimum origin version for said resource and said resource origin version for an already-stored version of the resource to determine whether said already-stored version of the resource is considered not usable.

13. The method of claim 11 further comprising:

(D) associating a minimum origin version and a latest origin version with each resource.

14. The method of claim 13 further comprising:

(D) said service obtaining a copy of information not currently stored on said service, wherein said service uses at least one of said minimum origin version and said latest origin version to obtain said copy.

15. The method of claim 14 wherein said service obtains said copy of said information from said origin, and wherein said copy is obtained based on a function of said latest origin version.

16. The method of claim 14 wherein said service obtains said copy of said information from a peer, and wherein said copy is obtained based on a function of said minimum origin version and said latest origin version.

17. The method of claim 1 wherein said service is a delivery service in a content delivery network.

18. A computer-implemented method operable on a device comprising hardware including memory and at least one processor, the method comprising:

(A) receiving, at a service running on said hardware, invalidation information relating to one or more resources, the invalidation information comprising one or more invalidation commands, wherein at least one of said one or more invalidation commands comprises at least one group invalidation command that specifies a group of resources, wherein said at least one group invalidation command may relate, at least in part, to resources not currently cached on said service;

(B) determining whether said invalidation information relates to any resources not currently stored on said service, and, based on said determining,

(B)(1) when said invalidation information relates to at least one resource not currently cached on said service, maintaining on said service at least some of said invalidation information that relates to said at least one resource not currently cached on said service; and

(C) said service using said maintained invalidation information on said service to prevent subsequent use of at least one resource not currently stored on said service.

19. The method of claim 18 wherein, when an invalidation command specifies a group of resources, the group is specified by a pattern.

20. A device, comprising:

(a) hardware including memory and at least one processor, and

(b) a service running on said hardware, wherein said service is configured to:

(A) receive invalidation information comprising one or more invalidation commands, wherein at least one of said one or more invalidation commands comprises at least one group invalidation command that specifies a group of resources, wherein said at least one group invalidation command may relate, at least in part, to resources not currently stored on said service;

(B) determine whether said invalidation information relates to information not currently stored on said service, and, based on said determining,

(B)(1) when said invalidation information relates to information not currently stored on said service, maintain on said service at least some of said invalidation information that relates to said information not currently stored on said service; and

(C) use said maintained invalidation information to prevent subsequent use of a version of information not currently stored on said service.

21. A system comprising a device according to claim 20 .

22. The device of claim 20 wherein, when an invalidation command specifies a group of resources, the group is specified by a pattern.

23. A computer program product having computer readable instructions stored on non-transitory computer readable media, the computer readable instructions including instructions for implementing a computer-implemented method, said method operable on a device comprising hardware including memory and at least one processor and running a service on said hardware, said method comprising:

(A) receiving, at said service running on said hardware, invalidation information comprising one or more invalidation commands, wherein at least one of said one or more invalidation commands comprises at least one group invalidation command that specifies a group of resources, wherein said at least one group invalidation command may relate, at least in part, to resources not currently stored on said service;

(B) determining whether said invalidation information relates to information not currently stored on said service, and, based on said determining,

(B)(1) when said invalidation information relates to information not currently stored on said service, maintaining on said service at least some of said invalidation information that relates to said information not currently stored on said service; and

(C) said service using said maintained invalidation information to prevent subsequent use of a version of information not currently stored on said service.

24. The computer program product of claim 23 wherein, when an invalidation command specifies a group of resources, the group is specified by a pattern.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 068256/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2014
From: NEWTON, CHRISTOPHER; VARNEY, LEWIS ROBERT; LIPSTONE, LAURENCE R.; CROWDER, WILLIAM; SWART, ANDREW
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 032220/0215 →
Continuity (2)
Provisional Application 61737072 · Dec 13, 2012
Related Publication 20140172944A1 · Jun 19, 2014