IP Library Granted Patent US 9,749,190
Granted Patent B2
US 9,749,190 · App. 13/802,143 · Granted Aug 29, 2017

Maintaining invalidation information

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,749,190
App. No.
13/802,143
Granted
Aug 29, 2017
Kind
B2
Abstract

A computer-implemented method is operable on a device having hardware including memory and at least one processor. The method includes maintaining invalidation information in a list at a service on the device, where the invalidation information includes a plurality of invalidation commands. At least some of the invalidation commands in the list are selectively combined to form at least one other invalidation command in the list.

Claims (65)

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

(A) maintaining, in a data structure, invalidation information for a service on said device, said invalidation information comprising a plurality of invalidation commands, wherein at least one of said plurality of invalidation commands specifies one or more resources that may or may not currently be in a cache associated with said service,

wherein said data structure stores at least the oldest part of said invalidation commands into a crumple zone which the invalidation commands in the crumple zone can be crumpled together; and

(B) selectively combining at least some of said invalidation commands in the crumple zone to form at least one other invalidation command, and replacing, in said data structure, said at least some of said invalidation commands in said invalidation information with said at least one other invalidation command, wherein said at least one other invalidation command is distinct from said at least some of said invalidation commands,

wherein said selectively combining in (B) increases available space in the data structure.

2. The method of claim 1 further comprising:

(C) inserting at least one new invalidation command into said data structure.

3. The method of claim 1 wherein said selectively combining in (B) is performed in response to receipt of new invalidation information at said service, said new invalidation information comprising at least one new invalidation command.

4. The method of claim 3 further comprising:

(C) inserting said at least one new invalidation command into said data structure.

5. The method of claim 3 wherein said selectively combining in (B) occurs when insertion of at least one new invalidation command into said data structure will increase a size of said data structure beyond a certain threshold.

6. The method of claim 3 wherein the invalidation information is received at said service as part of an invalidation manifest.

7. The method of claim 1 wherein an invalidation command specifies a group of resources that should not be used.

8. The method of claim 1 , wherein each invalidation command has a corresponding minimum origin version (mov) associated therewith said invalidation information being maintained in said data structure in mov order.

9. The method of claim 1 wherein said selectively combining in (B) combines exactly two invalidation commands in said data structure.

10. The method of claim 1 wherein said selectively combining in (B) repeatedly combines groups of invalidation commands.

11. The method of claim 10 wherein said groups of invalidation commands comprise one or more pairs of invalidation commands.

12. The method of claim 1 wherein said invalidation information is maintained in a list and wherein the combining in (B) combines adjacent invalidation commands in said list.

13. The method of claim 1 wherein said invalidation information is maintained in a list and wherein the combining in (B) combines two non-adjacent invalidation commands in said list.

14. The method of claim 1 wherein said invalidation information is maintained in a list and wherein the list comprises a tail portion containing the oldest entries in the list, and wherein the combining in (B) combines invalidation commands in the tail portion of the list.

15. The method of claim 1 wherein the combining in (B) comprises:

(B)(1) combining the oldest entry in the data structure with another entry in the data structure to form a new entry in the data structure.

16. The method of claim 15 wherein the act (B)(1) is repeated.

17. The method of claim 16 wherein the act (B)(1) is repeated until a size of the data structure is reduced by a configurable amount.

18. The method of claim 1 wherein an invalidation command is selected from: (i) an invalidation command that specifies a single resource; and (ii) an invalidation command that specifies a group of resources.

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

20. The method of claim 19 wherein the pattern is selected from: regular expressions and glob patterns.

21. The method of claim 1 wherein at least one invalidation command is a multi-attribute invalidation command.

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

23. The method of claim 1 wherein said selectively combining in (B) changes a granularity of at least one invalidation command.

24. The method of claim 1 wherein said invalidation information is maintained in one or more lists at said service.

25. The method of claim 1 wherein the invalidation information is ordered in said data structure.

26. A computer-implemented method comprising:

(A) maintaining, in a data structure at a service, invalidation information relating to a group of resources, said invalidation information comprising a plurality of invalidation commands relating to said group of resources, wherein at least one of said plurality of invalidation commands specifies one or more resources that may or may not currently be in cache associated with said service,

wherein said data structure stores at least the oldest part of said invalidation commands into a crumple zone which the invalidation commands in the crumple zone can be crumpled together; and

(B) reducing a size of the data structure by combining at least some of said invalidation commands in the crumple zone of said data structure, wherein said combining replaces said at least some of said invalidation commands in said data structure with at least one other invalidation command,

wherein said at least one other invalidation command is distinct from said at least some of said invalidation commands.

27. The method of claim 26 wherein said reducing in (B) is performed when insertion of at least one invalidation command into said data structure will cause said data structure to exceed a predetermined size.

28. The method of claim 27 wherein at least one invalidation command is a multi-attribute invalidation command.

29. The method of claim 26 further comprising:

(C) obtaining new invalidation information at said service, said new invalidation information comprising at least one new invalidation command relating to said group of services, and

wherein said reducing in (B) is performed in response to said obtaining, when insertion of said at least one new invalidation command into said data structure will cause said data structure to exceed a predetermined size.

30. The method of claim 29 further comprising:

(D) inserting said at least one new invalidation command into said data structure.

31. The method of claim 26 wherein the combining in (B) comprises:

(B)(1) combining a first invalidation command in the data structure with a second invalidation command in the data structure to form a third invalidation command; and then

(B)(2) removing the first and second invalidation commands from the data structure and inserting the third invalidation command into the data structure.

32. The method of claim 31 comprising:

repeating acts (B)(1) and (B)(2) until the size of the data structure is reduced by a configurable amount.

33. The method of claim 31 wherein the first invalidation command is the oldest invalidation command in the data structure.

34. The method of claim 26 wherein the data structure comprises one or more lists.

35. A device, comprising:

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

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

(A) maintains invalidation information, in a data structure, for said service, said invalidation information comprising a plurality of invalidation commands, wherein at least one of said plurality of invalidation commands specifies one or more resources that may or may not currently be in cache associated with said service,

wherein said data structure stores at least the oldest part of said invalidation commands into a crumple zone which the invalidation commands in the crumple zone can be crumpled together; and

(B) selectively combines at least sonic of said invalidation commands in the crumple zone of said data structure to form at least one other invalidation command in said data structure and to increase available space in said data structure, wherein said at least one other invalidation command is distinct from said at least some of said invalidation commands in said data structure.

36. The device of claim 35 wherein the data structure comprises one or more lists.

37. The device of claim 35 wherein said service selectively combines said at least some of said invalidation commands in said data structure in response to obtaining new invalidation information at said service.

38. An article of manufacture comprising non-transitory computer-readable media having computer-readable instructions stored thereon, 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) maintaining invalidation information, in a data structure, for a service on said device, said invalidation information comprising a plurality of invalidation commands, wherein at least one of said plurality of invalidation commands specifies one or more resources that may or may not currently be in cache associated with said service,

wherein said data structure stores at least the oldest part of said invalidation commands into a crumple zone which the invalidation commands in the crumple zone can be crumpled together; and

(B) selectively combining at least some of said invalidation commands in the crumple zone of said data structure to form at least one other invalidation command, and

(C) replacing, in said data structure, said at least some of said invalidation commands in said data structure with said at least one other invalidation command, wherein said at least one other invalidation command is distinct from said at least some of said invalidation commands, wherein said selectively combining in (B) increases available space in the data structure.

39. The article of manufacture of claim 38 wherein the data structure comprises one or more lists.

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/0777 →