IP Library Granted Patent US 8,626,876
Granted Patent B1
US 8,626,876 · App. 13/687,724 · Granted Jan 7, 2014

Intermediate content processing for content delivery networks

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 8,626,876
App. No.
13/687,724
Granted
Jan 7, 2014
Kind
B1
Abstract

An intermediate server for handling content requests received from edge servers in a Content Delivery Network (CDN) and accessing and processing content distributed throughout the CDN may include a port that receives a content request from an edge server in a same Point-of-Presence (POP) including a URI. The ICPS may also include a content processor communicatively coupled to the port and configured to perform a processing function on the requested content to produce processed content for delivery to the edge server. The ICPS may further include a CDN content interface that provides virtualized access to content files accessible using URIs throughout the CDN and configured to receive a portion of the requested content using the URI stored in a second POP, and provide the requested content to the content processor, wherein the requested content comprises the portion of the requested content.

Claims (63)

1. An intermediate server for handling content requests received from edge servers in a Content Delivery Network (CDN) and accessing and processing content distributed throughout the CDN, the intermediate server comprising:

a port that receives a content request from an edge server, wherein:

the content request includes a Uniform Resource Identifier (URI) associated with requested content; and

the edge server and the intermediate server are part of a first Point-of-Presence (POP) in the CDN;

a content processor communicatively coupled to the port and configured to:

pass the URI to an operating system operating on the intermediate server, wherein the operating system passes the URI to a specialized virtual file server;

receive the requested content from the specialized virtual file server through the operating system; and

perform a processing function on the requested content to produce processed content for delivery to the edge server;

a CDN content interface comprising the specialized virtual file server that provides virtualized access to content files in multiple POPs that are accessible throughout the CDN using URIs, wherein the CDN content interface is configured to:

receive a first portion of content using the URI; wherein the first portion of content is stored in the first POP;

receive a second portion of content using the URI; wherein the second portion of content is accessible from a second POP;

generate the requested content by combining at least the first portion of content and the second portion of content;

provide the requested content to the operating system through the specialized virtual file server, wherein the specialized virtual file server makes the requested content comprising the first portion of content and the second portion of content appear to be a single locally-stored file to the content processor; and

provide the requested content to the content processor.

2. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the CDN content interface comprises:

a physical storage device; and

a caching engine that communicates with the local storage device and other devices in the CDN, wherein the specialized virtual file server operates in userspace without requiring modifications to a kernel of the operating system.

3. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 2 , wherein the caching engine is configured to store the first portion of content and second portion of content in the physical storage device.

4. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 2 , wherein the CDN content interface is further configured to receive a third portion of the requested content using the URI, wherein:

the third portion of the requested content is stored in the physical storage device; and

the requested content further comprises the third portion of the requested content.

5. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 2 , wherein the physical storage device has a storage capacity that is less than a storage capacity of edge server.

6. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the processing function comprises dividing the requested content into streaming data chunks.

7. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the content processor comprises a File Transfer Protocol (FTP) server.

8. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the processing function comprises transcoding the requested content from a first file format to a second file format.

9. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the processing function comprises encrypting or decrypting the requested content.

10. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the content processor comprises a third-party module requiring a per-installation license.

11. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein the second portion of content is retrieved from an origin server that is accessible through the second POP.

12. The intermediate server for handling content requests received from edge servers in a CDN and accessing and processing content distributed throughout the CDN of claim 1 , wherein:

the intermediate server is configured to determine that only a portion of the processed content should be delivered to the edge server; and

the processed content is based on only a portion of the requested content.

13. A method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN, the method comprising:

receiving a content request through a port from an edge server, wherein:

the content request includes a Uniform Resource Identifier (URI) associated with requested content; and

the edge server and the intermediate server are part of a first Point-of-Presence (POP) in the CDN;

passing the URI to an operating system operating on the intermediate server;

passing the URI from the operating system to a CDN content interface comprising a specialized virtual file server that provides virtualized access to content files in multiple POPs that are accessible throughout the CDN using URIs;

receiving, by the CDN content interface:

a first portion of content using the URI; wherein the first portion of content is stored in the first POP; and

a second portion of content using the URI; wherein the second portion of content is accessible from a second POP;

generating the requested content by combining at least the first portion of content and the second portion of content;

passing the requested content from the specialized virtual file server through the operating system to the content processor, wherein the specialized virtual file server makes the requested content comprising the first portion of content and the second portion of content appear to be a single locally-stored file to the content processor; and

performing a processing function on the requested content by the content processor to produce processed content for delivery to the edge server.

14. The method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN of claim 13 , wherein the CDN content interface comprises:

a physical storage device; and

a caching engine that communicates with the local storage device and other devices in the CDN, wherein the specialized virtual file server operates in userspace without requiring modifications to a kernel of the operating system.

15. The method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN of claim 14 , wherein the caching engine is configured to store the first portion of content and second portion of content in the physical storage device.

16. The method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN of claim 14 , wherein the CDN content interface is further configured to receive a third portion of the requested content using the URI, wherein:

the third portion of the requested content is stored in the physical storage device; and

the requested content further comprises the third portion of the requested content.

17. The method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN of claim 13 , wherein the processing function comprises dividing the requested content into streaming data chunks.

18. The method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN of claim 13 , wherein the content processor comprises an File Transfer Protocol (FTP) server.

19. The method of handling content requests received from edge servers by an intermediate server in a CDN and accessing and processing content distributed throughout the CDN of claim 13 , wherein the second portion of content is retrieved from an origin server that is accessible through the second POP.

20. An intermediate server for handling content requests received from edge servers in a Content Delivery Network (CDN) and accessing and processing content distributed throughout the CDN, the intermediate server comprising:

a port that receives a content request from an edge server, wherein:

the content request includes a Uniform Resource Identifier (URI) associated with requested content; and

the edge server and the intermediate server are part of a first Point-of-Presence (POP) in the CDN;

a content processor communicatively coupled to the port and configured to perform a processing function on the requested content to produce processed content for delivery to the edge server, wherein the processing function comprises dividing the requested content into streaming data chunks; and

a CDN content interface comprising a specialized virtual file server that provides virtualized access to content files in multiple POPs that are accessible throughout the CDN using URIs, wherein the CDN content interface is configured to:

receive a first portion of content using the URI; wherein the first portion of content is accessible from a second POP; and

provide the requested content to the content processor, wherein:

the requested content comprises the first portion of the requested content; and

the specialized virtual file server makes the requested content comprising the first portion of content appear to be a single locally-stored file to the content processor.

Assignments (9)
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 →
CHANGE OF NAME Recorded Sep 9, 2024
From: LIMELIGHT NETWORKS, INC.
To: EDGIO, INC.
Reel/Frame 068898/0281 →
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 Nov 28, 2012
From: KOKAL, MOHAN I.; HARVELL, BRADLEY B.
To: LIMELIGHT NETWORKS, INC.
Reel/Frame 029366/0599 →