IP Library Granted Patent US 10,367,910
Granted Patent B2
US 10,367,910 · App. 15/137,357 · Granted Jul 30, 2019

Instantaneous non-blocking content purging in a distributed platform

Inventors: Derek Shiell (Los Angeles, CA); Robert J. Peters (Santa Monica, CA); Amir Khakpour (Santa Monica, CA); Alexander A. Kazerani (Santa Monica, CA)
Assignee: Verizon Digital Media Services Inc.
H04L67/2852G06F12/126H04L43/106H04L67/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 10,367,910
App. No.
15/137,357
Granted
Jul 30, 2019
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 (33)

1. A computer-implemented method for non-blocking content purging, the method comprising:

caching a plurality of content to memory of a content distribution server with a first timestamp corresponding to a time at which each content of the plurality of content is cached to the memory;

providing, by the content distribution server, a different second timestamp to a command designating removal of particular content from said memory, wherein the particular content is part of the plurality of content cached to said memory, and wherein the second timestamp corresponds to a time at which the command is received at the content distribution server;

maintaining a copy of the particular content in said memory in response to said command and before the content distribution server receives a user request for the particular content;

receiving by the content distribution server, a user request for the particular content; and

executing by the content distribution server, a cache miss, in response to the user request, based on the first timestamp of the particular content being older than the second timestamp of the command, wherein executing the cache miss comprises replacing the copy of the particular content in said memory with an updated copy retrieved from an origin server and sending the updated copy in answer to the user request.

2. The computer-implemented method of claim 1 further comprising executing a cache hit, in response to the user request, based on the first timestamp of the copy of the particular content being newer than the second timestamp of the command, wherein executing the cache hit comprises sending the copy of the particular content from said memory in answer to the user request.

3. The computer-implemented method of claim 1 further comprising entering the command into a configuration of the content distribution server without physically purging the copy of the particular content from said memory.

4. The computer-implemented method of claim 3 , wherein entering the command comprises entering at least one of a Uniform Resource Locator (URL) or pattern into said configuration, wherein the URL matches said pattern.

5. The computer-implemented method of claim 4 , wherein executing the cache miss further comprises matching a URL from the user request to the URL or the pattern from said configuration.

6. The computer-implemented method of claim 1 , wherein the command is a first command comprising a first identifier identifying the particular content, the method further comprising receiving a second command comprising a second identifier identifying different content from the plurality of content, and generating a regular expression in response to receiving said first command and said second command, wherein the regular expression matches at least to the first identifier and the second identifier, and wherein executing the cache miss further comprises determining an identifier from the user request matches to said regular expression.

7. A computer-implemented method comprising:

receiving at a content distribution server, a set of content request identifiers designating removal of a set of cached content from memory of the content distribution server;

generating by the content distribution server, a single pattern as a substitute for the set of content request identifiers, the single pattern comprising a character sequence matching each content request identifier from the set of content request identifiers;

receiving at the content distribution server, a first user request and a second user request, the first user request comprising a first content request identifier identifying first content from the set of cached content, and the second user request comprising a second content request identifier identifying second content from the set of cached content; and

responding to each of the first user request and the second user request with a cache miss from the content distribution server in response to the first content request identifier and the second content request identifier matching to the character sequence of the single pattern.

8. The computer-implemented method of claim 7 , wherein responding to the first user request comprises retrieving a fresh copy of the first content from an origin source and serving the fresh copy of the first content from the origin source in place of an existing copy of the first content cached in said memory.

9. The computer-implemented method of claim 8 , wherein responding to the first user request further comprises replacing the existing copy of the first content cached in said memory with the fresh copy from the origin source and updating a timestamp of the first content.

10. The computer-implemented method of claim 7 further comprising caching the set of cached content to memory and retaining a cached copy of each of the first content and the second content in said memory in between said receiving the set of content request identifiers and said responding to each of the first user request and the second user request.

11. The computer-implemented method of claim 8 further comprising responding to a third user request with a cache hit from the content distribution server in response to a third content request identifier from the third user request not matching to the character sequence of the single pattern, wherein responding with the cache hit comprises serving said third content from memory.

12. The computer-implemented method of claim 9 further comprising responding to a third user request with a cache miss from the content distribution server in response to a third content request identifier from the third user request not matching to the character sequence of the single pattern and a time-to-live parameter of the third content expiring.

13. The computer-implemented method of claim 10 further comprising purging the set of content from said memory in response to resources of the content distribution server falling below a threshold.

14. The computer-implemented method of claim 11 , wherein said single pattern is a regular expression, and the character sequence comprises at least one wildcard character.

15. The computer-implemented method of claim 12 further comprising effectively purging the set of content without physically purging any content from the set of content prior to said responding, wherein effectively purging the set of content comprises modifying content distribution server responses to requests for content from the set of content from cache hits to cache misses.

16. A device comprising:

a cache memory;

a non-transitory computer-readable medium storing a set of processor-executable instructions; and

one or more processors configured to execute the set of processor-executable instructions, wherein executing the set of processor-executable instructions causes the one or more processors to:

cache a plurality of content to memory to the cache memory with a first timestamp corresponding to a time at which each content of the plurality of content is cached to the cache memory;

provide a different second timestamp to a command designating removal of particular content from the cache memory, wherein the particular content is part of the plurality of content cached to the cache memory, and wherein the second timestamp corresponds to a time at which the command is received at the content distribution server;

maintain a copy of the particular content in the cache memory in response to the command and before the content distribution server receives a user request for the particular content;

receive a user request for the particular content; and

execute a cache miss, in response to the user request, based on the first timestamp of the particular content being older than the second timestamp of the command, wherein executing the cache miss comprises replacing the copy of the particular content in the cache memory with an updated copy retrieved from an origin server and sending the updated copy in answer to the user request.

Assignments (10)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2016
From: SHIELL, DEREK; PETERS, ROBERT J.; KHAKPOUR, AMIR; KAZERANI, ALEXANDER A.
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 038369/0507 →
Continuity (2)
Continuation 14036746 · Sep 25, 2013
Related Publication 20160241670A1 · Aug 18, 2016