IP Library Granted Patent US 9,413,842
Granted Patent B2
US 9,413,842 · App. 14/036,746 · Granted Aug 9, 2016

Instantaneous non-blocking content purging in a distributed platform

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,413,842
App. No.
14/036,746
Granted
Aug 9, 2016
Kind
B2
Abstract

Some embodiments provide instantaneous and non-blocking content purging across storage servers of a distributed platform. When a server receives a purge operation, it extracts an identifier from the purge operation. The server then generates a content purge pattern from the identifier and injects the pattern to its configuration. Instantaneous purging is then realized as the server averts access to any cached content identified by the pattern. The purging also occurs in a non-blocking fashion as the physical purge of the content occurs in-line with the server's cache miss operation. The content purge pattern causes the server to respond to a subsequently received content request with a cache miss, whereby the server retrieves the requested content from an origin source, serves the retrieved content to the requesting user, and replaces a previously cached copy of the content that is to be purged with the newly retrieved copy.

Claims (37)

1. A computer-implemented method for purging content from a plurality of storage servers that are operated by a distributed platform, the computer-implemented method comprising:

caching particular content of a distributed platform customer at a particular storage server of the plurality of storage servers;

receiving a plurality of identifiers identifying a plurality of content to be purged from cache;

generating one regular expression from the plurality of identifiers, said regular expression matching each identifier of the plurality of identifiers;

configuring the particular storage server with the regular expression instead of the plurality of identifiers designated for purging;

receiving at the particular storage server, a user request for the particular content;

obtaining a particular identifier for the particular content from the user request;

responding to the user request with a cache miss from the particular storage server in response to the particular identifier matching the regular expression configured for the particular storage server; and

responding to the user request with a cache hit from the particular storage server in response to the particular identifier not matching the regular expression configured for the particular storage server.

2. The computer-implemented method of claim 1 further comprising performing a lookup to cache to determine if the particular content is cached at the particular storage server upon receiving the request.

3. The computer-implemented method of claim 2 further comprising responding to the request with a cache miss when the lookup determines that the particular content is not cached at the particular storage server.

4. The computer-implemented method of claim 1 , wherein responding to the request with a cache miss comprises serving the particular content from an origin source in place of serving the particular content that is cached by the particular storage server.

5. The computer-implemented method of claim 4 , wherein responding to the request with a cache hit comprises serving the particular content that is cached by the particular storage server.

6. The computer-implemented method of claim 1 further comprising configuring the particular storage server with a first timestamp for the regular expression.

7. The computer-implemented method of claim 6 , wherein caching the particular content comprises associating a second timestamp with the particular content, the second timestamp identifying when the particular content was cached.

8. The computer-implemented method of claim 7 , wherein responding to the user request with a cache miss comprises responding with a cache miss in response to the particular identifier matching the regular expression and the first timestamp for the regular expression being newer than the second timestamp that is associated with the particular content.

9. The computer-implemented method of claim 8 further comprising responding to the user request with a cache hit in response to the particular identifier matching the regular expression and the first timestamp for the regular expression being older than the second timestamp that is associated with the particular content.

10. The computer-implemented method of claim 1 further comprising operating the plurality of storage servers to cache and disseminate content on behalf of a plurality of distributed platform customers.

11. The computer-implemented method of claim 1 , wherein each identifier of the plurality of identifiers is a different Uniform Resource Locator (URL).

12. A computer-implemented method for purging content from a distributed platform that operates a plurality of storage servers to cache and distribute content, the computer-implemented method comprising:

with a particular storage server of the plurality of storage servers having a processor and a non-transitory computer-readable medium, caching a plurality of content to the non-transitory computer-readable medium;

receiving a purge operation comprising a first URL identifying at least first and second content from the plurality of content cached to and designated for removal from the non-transitory computer-readable medium and a different second URL identifying at least different third content from the plurality of content cached to and designated for removal from the non-transitory computer-readable medium, the first URL comprising one of a path or a wildcard character identifying both of the first and second content;

generating a content purge pattern based on the purge operation, the content purge pattern comprising a pattern matching at least the first URL and the second URL collectively identifying the first, second, and third content;

entering the content purge pattern to a configuration of the particular storage server, wherein entering the content purge pattern prevents access to the first, second, and third content that are cached to the non-transitory computer-readable medium without physically removing the first, second, and third content from the non-transitory computer-readable medium; and

executing a cache miss at the particular storage server in response to a user request for any of the cached first, second, and third content even though the first, second, and third content remain cached in the non-transitory computer-readable medium of the particular storage server, the user request comprising an identifier matching the pattern specified for the content purge pattern, the user request identifier identifying particular content from the first, second, and third content designated for removal from the non-transitory computer-readable medium by the purge operation, and wherein executing the cache miss physically purges the particular content from the non-transitory computer-readable medium.

13. The computer-implemented method of claim 12 , wherein executing the cache miss comprises retrieving an updated copy of the particular content from an origin and passing the updated copy in response to the user request.

14. The computer-implemented method of claim 13 , wherein executing the cache miss further comprises replacing a copy of the particular content stored to the non-transitory computer-readable medium with the updated copy of the particular content retrieved from the origin.

15. The computer-implemented method of claim 12 further comprising executing a cache hit in response to a user request comprising an identifier identifying content from the plurality of content without the identifier matching the content purge pattern entered to the configuration, wherein executing the cache hit comprises serving the content identified by the user request identifier from the non-transitory computer-readable medium.

16. The computer-implemented method of claim 12 further comprising removing the content purge pattern from the configuration after expiration of a time period.

17. A computer-implemented method for purging content in a distributed platform, the distributed platform operating a plurality of storage servers and at least one purge control server, the computer-implemented method comprising:

caching to storage of a particular storage server of the plurality of storage servers, a plurality of content with a first timestamp corresponding to a time when each content of the plurality of content is cached;

providing from the particular storage server to the purge control server, a second timestamp of a most recent purge operation the particular storage server received from the purge control server;

retrieving at the purge control server in response to providing the second timestamp from the particular storage server to the purge control server, a purge operation issued after the second timestamp, the purge operation identifying (i) particular content from the plurality of content to purge and (ii) a third timestamp associated with the purge operation; and

responding to a user request for the particular content at the particular storage server with a cache miss in response to the particular content first timestamp being older than the purge operation third timestamp.

18. The computer-implemented method of claim 17 , wherein responding to the user request for the particular content with the cache miss comprises retrieving a fresh copy of the particular content from an origin source and serving the fresh copy of the particular content retrieved from the origin source in place of an existing copy of the particular content that is cached by the particular storage server.

19. The computer-implemented method of claim 18 , wherein responding to the user request for the particular content with the cache miss further comprises replacing the existing copy of the particular content that is cached by the particular storage server with the fresh copy retrieved from the origin source and updating the first timestamp.

20. The computer-implemented method of claim 19 further comprising responding to the user request for particular content with a cache hit when the first timestamp for the particular content that is cached to the particular storage server is newer than the third timestamp for the purge operation.

Assignments (11)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: EDGECAST INC.
To: EDGIO, INC.
Reel/Frame 061738/0972 →
CHANGE OF NAME Recorded Mar 15, 2022
From: VERIZON DIGITAL MEDIA SERVICES INC.
To: EDGECAST INC.
Reel/Frame 059367/0990 →
CHANGE OF NAME Recorded Apr 25, 2016
From: EDGECAST NETWORKS, INC
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 038511/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: SHIELL, DEREK; PETERS, ROBERT J.; KHAKPOUR, AMIR; KAZERANI, ALEXANDER A.
To: EDGECAST NETWORKS, INC.
Reel/Frame 031279/0394 →