IP Library Granted Patent US 10,373,219
Granted Patent B2
US 10,373,219 · App. 14/462,477 · Granted Aug 6, 2019

Capacity exchange for the open content delivery network

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,373,219
App. No.
14/462,477
Granted
Aug 6, 2019
Kind
B2
Abstract

Some embodiments provide a capacity exchange whereby capacity from different content delivery networks (CDNs) can be bought, sold, and traded. The capacity exchange is part of an “Open CDN” platform. The Open CDN platform federates the independent operation of CDNs and other operators of and service providers to distributed platforms participating in the Open CDN platform so that each participant can (1) dynamically scale its capacity without incurring additional infrastructure costs, (2) expand its service into previously untapped geographic regions without physically establishing points of presence (POPs) at those geographic regions, and (3) reduce sunk costs associated with unused capacity of already deployed infrastructure by selling that unused capacity to other participants that are in need of additional capacity. The Open CDN platform includes one or more APIs for facilitating intercommunication between the federation participants by performing configuration mapping, command interoperability, traffic management, and reporting aggregation.

Claims (29)

1. A method comprising:

compiling, by operation of a processor, a plurality of service instances offered by a plurality of content delivery networks (CDNs), wherein each service instance of the plurality of service instances comprises a different set of attributes, each set of attributes identifying an amount of available content delivery capacity provided to a region;

receiving a request from a first CDN, the request comprising a set of attributes identifying a first amount of content delivery capacity provided to a particular region;

allocating, by operation of the processor, a particular service instance offered by a second CDN to the first CDN based on the set of attributes of the request matching the set of attributes of the particular service instance, the particular service instance comprising a second amount of content delivery capacity that is provided to the particular region by one or more servers of the second CDN, wherein the second amount of content delivery capacity is equal to or greater than the first amount of content delivery capacity identified in the request from the first CDN, and wherein said allocating comprises operating the one or more servers of the second CDN as extended servers of the first CDN that serve same content or same services as one or more servers of the first CDN;

deploying, by operation of the processor, a configuration, that is executed by the one or more servers of the first CDN, to the one or more servers of the second CDN providing the second amount of content delivery capacity to the particular region, wherein said configuration identifies a particular content or a particular service that is distributed by the one or more servers of the first CDN; and

configuring, based on said deploying, the one or more servers of the second CDN with extending distribution of the particular content or the particular service to the particular region by using the second amount of content delivery capacity while continuing to distribute the particular content or the particular service to the particular region or other regions from the one or more servers of the first CDN.

2. The method of claim 1 further comprising reporting to the first CDN, performance of the second amount of content delivery capacity.

3. The method of claim 1 further comprising receiving a command from the first CDN to modify operation of the second amount of content delivery capacity.

4. The method of claim 3 further comprising translating the command from a first format of the first CDN to a second format of the second CDN.

5. The method of claim 4 further comprising issuing the command in the second format to the one or more servers of the second CDN.

6. The method of claim 1 further comprising modifying routing operation of the first CDN to direct user requests originating from the particular region to the one or more servers of the second CDN, and to direct user requests originating from other regions to content delivery capacity of the first CDN provided to those other regions.

7. The method of claim 1 further comprising distributing the particular content or the particular service from (i) the one or more servers of the second CDN to the particular region and (ii) the one or more servers of the first CDN to a different region.

8. The method of claim 1 further comprising modifying routing operation of the first CDN, and routing at least one request for the particular content or the particular service from the first CDN to the second CDN in response to said modifying.

9. The method of claim 1 , wherein said configuring comprises mapping the configuration from a format of the first CDN format to a different format of the second CDN.

10. The method of claim 1 further comprising monitoring performance of the second amount of content delivery capacity of the second CDN in the particular region, and verifying accuracy of the set of attributes of the particular service instance based on said monitoring.

11. A capacity exchange device comprising:

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:

compile a plurality of service instances offered by a plurality of service providers, wherein each service instance of the plurality of service instances comprises a different set of attributes, each set of attributes identifying an amount of available content delivery capacity provided to a region;

receive a request from a first service provider, the request comprising a set of attributes identifying a first amount of content delivery capacity provided to a particular region;

allocate a particular service instance offered by a second service provider to the first service provider based on the set of attributes of the request matching the set of attributes of the particular service instance, the particular service instance comprising a second amount of content delivery capacity that is provided to the particular region by one or more servers of the second service provider, wherein the second amount of content delivery capacity is equal to or greater than the first amount of content delivery capacity identified in the request from the first service provider, and wherein said allocating comprises operating the one or more servers of the second service provider as extended servers of the first service provider that serve same content or same services as one or more servers of the first service provider;

deploy a configuration that is executed by the one or more servers of the first service provider to the one or more servers of the second service provider providing the second amount of content delivery capacity to the particular region, wherein said configuration identifies a particular content or a particular service that is distributed by the one or more servers of the first service provider; and

configure, based on said deploying, the one or more servers of the second service provider with extending distribution of the particular content or the particular service to the particular region by using the second amount of content delivery capacity while continuing to distribute the particular content or the particular service to the particular region or other regions from the one or more servers of the first service provider.

12. A non-transitory computer-readable medium, storing a set of processor-executable instructions, which, when executed by one or more processors, cause the one or more processors to:

compile a plurality of service instances offered by a plurality of content delivery networks (CDNs), wherein each service instance of the plurality of service instances comprises a different set of attributes, each set of attributes identifying an amount of available content delivery capacity provided to a region;

receive a request from a first CDN, the request comprising a set of attributes identifying a first amount of content delivery capacity provided to a particular region;

allocate a particular service instance offered by a second CDN to the first CDN based on the set of attributes of the request matching the set of attributes of the particular service instance, the particular service instance comprising a second amount of content delivery capacity that is provided to the particular region by one or more servers of the second CDN, wherein the second amount of content delivery capacity is equal to or greater than the first amount of content delivery capacity identified in the request from the first CDN, and wherein said allocating comprises operating the one or more servers of the second CDN as extended servers of the first CDN that serve same content or same services as one or more servers of the first CDN;

deploy a configuration that is executed by the one or more servers of from the first CDN to the one or more servers of the second CDN providing the second amount of content delivery capacity to the particular region, wherein said configuration identifies a particular content or a particular service that is currently distributed by the one or more servers of the first CDN; and

configure based on said deploying, the one or more servers of the second CDN with extending distribution of the particular content or the particular service to the particular region by using the second amount of content delivery capacity while continuing to distribute the particular content or the particular service to the particular region or other regions from the one or more servers of the first CDN.

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 Aug 18, 2014
From: MIDDLETON, TED; KAZERANI, ALEXANDER A.
To: EDGECAST NETWORKS, INC.
Reel/Frame 033557/0540 →