IP Library Granted Patent US 9,100,463
Granted Patent B2
US 9,100,463 · App. 14/300,076 · Granted Aug 4, 2015

Origin request with peer fulfillment

Inventors: Michael M. Gordon (Paradise Valley, AZ); Nathan F. Raciborski (Wilson, WY); Michael D. Maddux (Cave Creek, AZ); Jon B. Corley (Peoria, AZ)
Assignee: Limelight Networks, Inc.
H04L67/42H04L65/60H04L67/1002H04L67/104H04L67/1025H04L67/1038H04L67/1063H04L67/1091H04L67/322
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,100,463
App. No.
14/300,076
Granted
Aug 4, 2015
Kind
B2
Abstract

A method of servicing content requests in a CDN may include receiving a request for content from a first client device, identifying content associated with the content request, identifying a second client device that stores the content, identifying a CDN storage location that also stores the content, determining whether the second client device is authorized to source the content to the first client device, and selecting a source for the content. The source for the content may be selected from the storage location associated with the CDN and the second client device. The source for the content may be selected based on one or more CDN policies. The method may also include initiating a transfer of the at least a portion of the content from the second client device to the first client device if the second client device is selected as the source for the content.

Claims (60)

1. A method of servicing content requests in a Content Delivery Network (CDN), the method comprising:

receiving, at a server in the CDN, a request for content from a first client device;

identifying content associated with the content request;

identifying a second client device that is in communication with the CDN, wherein the second client device stores at least a part of the content;

identifying a storage location associated with the CDN that also stores the at least a portion of the content;

determining, at the server, whether the second client device is authorized to source the at least a portion of the content to the first client device;

selecting, at the server, a source for the content to be provided to the first client device in response to the request for content, wherein:

the source for the content is selected from the group consisting of:

the storage location associated with the CDN; and

the second client device; and

the source for the content is selected based on one or more CDN policies;

initiating a transfer of the at least a portion of the content from the second client device to the first client device if the second client device is selected as the source for the content; and

initiating a transfer of the at least a portion of the content from the storage location associated with the CDN to the first client device if the storage location associated with the CDN is selected as the source for the content.

2. The method of claim 1 , wherein the storage location associated with the CDN comprises an origin server.

3. The method of claim 1 , wherein the storage location associated with the CDN comprises an edge server.

4. The method of claim 1 , wherein the source for the content is selected based on which of the storage location associated with the CDN and the second client device have the shortest latency for delivering the at least a portion of the content to the first client device.

5. The method of claim 1 , wherein the second client device is selected from among a plurality of client devices based on the one or more CDN policies.

6. The method of claim 1 , further comprising determining whether the first client device is authorized to receive the content based at least partly on the identity of the first client device and the one or more CDN policies.

7. The method of claim 1 , wherein:

the content comprises:

the at least a portion of the content; and

a remaining portion of the content;

the at least a portion of the content is sourced from the selected source; and

the remaining portion of the content is sourced from the one of the second client device and the storage location associated with the CDN that was not selected as the selected source.

8. The method of claim 1 , wherein:

the server in the CDN in located in a first Point-of-Presence (POP) in the CDN;

and the storage location associated with the CDN comprises an edge server located in a second POP in the CDN.

9. The method of claim 1 , wherein the content comprises streaming content.

10. The method of claim 1 , wherein the one or more CDN policies indicate whether the second client device should be preferred over the storage location associated with the CDN, or whether the storage location associated with the CDN should be preferred over the second client device.

11. A server in a Content Delivery Network (CDN) for servicing requests for content, the server comprising:

one or more processors; and

one or more memory devices comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a request for content from a first client device;

identifying content associated with the content request;

identifying a second client device that is in communication with the CDN, wherein the second client device stores at least a part of the content;

identifying a storage location associated with the CDN that also stores the at least a portion of the content;

determining whether the second client device is authorized to source the at least a portion of the content to the first client device;

selecting a source for the content to be provided to the first client device in response to the request for content, wherein:

the source for the content is selected from the group consisting of:

the storage location associated with the CDN; and

the second client device; and

the source for the content is selected based on one or more CDN policies;

initiating a transfer of the at least a portion of the content from the second client device to the first client device if the second client device is selected as the source for the content; and

initiating a transfer of the at least a portion of the content from the storage location associated with the CDN to the first client device if the storage location associated with the CDN is selected as the source for the content.

12. The server of claim 11 , wherein the storage location associated with the CDN comprises an origin server.

13. The server of claim 11 , wherein the storage location associated with the CDN comprises an edge server.

14. The server of claim 11 , wherein the source for the content is selected based on which of the storage location associated with the CDN and the second client device have the shortest latency for delivering the at least a portion of the content to the first client device.

15. The server of claim 11 , wherein the second client device is selected from among a plurality of client devices based on the one or more CDN policies.

16. The server of claim 11 , further comprising determining whether the first client device is authorized to receive the content based at least partly on the identity of the first client device and the one or more CDN policies.

17. The server of claim 11 , wherein:

the content comprises:

the at least a portion of the content; and

a remaining portion of the content;

the at least a portion of the content is sourced from the selected source; and

the remaining portion of the content is sourced from the one of the second client device and the storage location associated with the CDN that was not selected as the selected source.

18. The server of claim 11 , wherein:

the server in the CDN in located in a first Point-of-Presence (POP) in the CDN;

and the storage location associated with the CDN comprises an edge server located in a second POP in the CDN.

19. The server of claim 11 , wherein the content comprises streaming content.

20. The server of claim 11 , wherein the one or more CDN policies indicate whether the second client device should be preferred over the storage location associated with the CDN, or whether the storage location associated with the CDN should be preferred over the second client device.

Assignments (8)
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 →
Continuity (20)
Continuation In Part 13750744 · Jan 25, 2013
Continuation 13214124 · Aug 19, 2011
Continuation 12265647 · Nov 5, 2008
Continuation 14300076
Continuation In Part 13848868 · Mar 22, 2013
Continuation 13102941 · May 6, 2011
Continuation 11461173 · Jul 31, 2006
Continuation In Part 11195247 · Aug 1, 2005
Continuation In Part 14300076
Continuation In Part 13780573 · Feb 28, 2013
Continuation 13564486 · Aug 1, 2012
Continuation 12563660 · Sep 21, 2009
Continuation 14300076
Continuation In Part 13595904 · Aug 27, 2012
Continuation 12572981 · Oct 2, 2009
Continuation In Part PCTUS2009038361 · Mar 26, 2009
Provisional Application 60985590 · Nov 5, 2007
Provisional Application 60761582 · Jan 23, 2006
Provisional Application 61098521 · Sep 19, 2008
Related Publication 20140289322A1 · Sep 25, 2014