IP Library Granted Patent US 10,979,499
Granted Patent B2
US 10,979,499 · App. 15/997,543 · Granted Apr 13, 2021

Managed object replication and delivery

Inventors: Steven L. Seed (Woodland Hills, CA); Kevin Hobbs (Vista, CA); Shane M. Glynn (Culver City, CA); Isaac W. Foraker (Winnetka, CA); Peter J. Jones (Thousand Oaks, CA); Homer H. Chen (Thousand Oaks, CA); William P. Greer (Issaquah, WA)
Assignee: Level 3 Communications, LLC
H04L67/1095H04L67/2814H04L67/2842H04L67/1002H04L67/2852H04L67/2885
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,979,499
App. No.
15/997,543
Granted
Apr 13, 2021
Kind
B2
Abstract

A method, system and computer program product for managed object replication and delivery redirects, directly or indirectly, a client's request for an object that is not available at a best or optimal handling edge server of a network to a parent server that has the requested object. So, where the requested object is not available at the handling edge server, the client's request is redirected directly to the parent server that can provide the requested object to the client or indirectly via one or more parent servers to a parent server that can provide the requested object to the client. The method, system and computer program product further intelligently replicates the object to the edge server if the object is popular enough. Likewise, an object is removed from an edge server when it is no longer popular. All redirection and replication operations are preferably transparent to the end-user and do not degrade the quality of service.

Claims (47)

1. A content delivery method comprising:

directing a request by a client for an object to a first server in a content delivery network (CDN), regardless of whether the first server has the requested object, wherein the object is a streaming object comprising multiple packets;

if the first server has the requested object:

serving the requested object to the client from the first server;

otherwise:

redirecting the client to a second server in the CDN to handle the request;

causing the requested object to be copied to a separate location;

copying the requested object from the separate location to the second server only after the requested object is entirely stored at the separate location; and

causing the second server to begin streaming the object to the client only when the requested object is entirely stored at the second server.

2. A method as recited in claim 1 , wherein the first server in the CDN is an edge server.

3. A method as recited in claim 2 , further comprising:

receiving, at the second server, a second request for the object from the client.

4. A method as recited in claim 1 , wherein the second server in the CDN is a parent server.

5. A method as recited in claim 1 , wherein the second server is a peer of the first server.

6. A method as recited in claim 1 , wherein the first server in the CDN is an edge server and the second server is an edge server on which a copy of the requested object is stored.

7. A method as recited in claim 5 , further comprising:

receiving, at the second server, a second request for the object from the client.

8. A method as recited in claim 1 , wherein said first server was selected based at least in part on network traffic conditions and server load.

9. A method as recited in claim 1 , wherein if a copy of the requested object is not stored on the second server, directing the client to another server in the CDN.

10. A method as recited in claim 9 , wherein the step of directing is repeated for a plurality of other servers in the CDN.

11. A method, in a framework in which resources of content providers are delivered to end user clients via a shared content delivery network (CDN) formed of a plurality of CDN server sites, each server site comprising one or more servers, the method comprising:

causing a client request for a resource to be directed to a first server site in said CDN, without consideration as to whether the first server site has a copy of the requested resource, wherein the resource is a streaming object comprising multiple packets;

if the first server site has a copy of the requested resource:

serving the requested resource to the client from the first server site; otherwise,

if the first server site does not have a copy of the requested resource:

causing the client to be directed to a second server site in the CDN;

causing the requested resource to be copied to a separate location;

copying the requested resource from the separate location to the second server only after the requested resource is entirely stored at the separate location; and

causing the second server site to begin streaming the object to the client only when the requested resource is entirely stored at the second server site.

12. A method as recited in claim 11 , wherein the CDN sites comprise one or more edge server sites, each edge server site comprising one or more edge servers, and wherein the first server site is an edge server site.

13. A method as recited in claim 12 , wherein the second server site is another edge server site.

14. A method as recited in claim 12 , wherein the CDN sites further comprise one or more parent server sites, each parent server site comprising one or more parent servers, and wherein the second server site is a parent server site or an edge server site.

15. A method as recited in claim 11 , wherein the second server site is a peer of the first server site.

16. A method as recited in claim 11 , wherein a copy of the requested resource is stored at the second server site prior to the issuance of the resource request by the client.

17. A method, in a framework in which resources of at least one content provider are delivered to end user clients via a content delivery network (CDN) formed of a plurality of CDN server sites, each server site comprising one or more servers, the method comprising:

receiving a client request for a resource at a first server site in said CDN, wherein the resource comprises a streaming object comprising multiple packets;

if the first server site has a copy of the requested resource:

serving the requested resource to the client from the first server site; otherwise, if the first server site does not have a copy of the requested resource:

causing the client to retrieve the requested resource from a second server site in the CDN;

causing the requested resource to be copied to a separate location;

copying the requested resource from the separate location to the second server only after the requested resource is entirely stored at the separate location; and

causing the second server site to begin streaming the object to the client only when the requested resource is entirely stored at the second server site.

18. A method as recited in claim 17 , wherein the CDN server sites comprise a plurality of edge server sites, each edge server site comprising at least one edge server, and wherein the first server site is an edge server site.

19. A method as recited in claim 18 , a copy of the requested resource is stored at the second server site prior to receipt of the client request by the first server site.

20. A method as recited in claim 17 , wherein the second server site is another edge server site.

21. A method as recited in claim 20 , wherein the CDN server sites further comprise a plurality of parent server sites, each parent server site comprising at least one parent server, and wherein the second server site is a parent server site in the CDN.

22. A method as recited in claim 17 , wherein the second server site is a peer of the first server site.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 068256/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: CABLE & WIRELESS INTERNET SERVICES, INC.
To: SAVVIS ASSET HOLDINGS, INC.
Reel/Frame 045998/0891 →
SECURITY INTEREST Recorded Jun 6, 2018
From: SAVVIS COMMUNICATIONS CORPORATION
To: WELLS FARGO FOOTHILL, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 045999/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: SAVVIS COMMUNICATIONS CORPORATION
To: MOUNT SHASTA ACQUISITION LLC
Reel/Frame 045999/0071 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: SEED, STEVEN L.; HOBBS, KEVIN; GLYNN, SHANE M.; FORAKER, ISAAC W.; JONES, PETER J.; CHEN, HOMER M.
To: DIGITAL ISLAND, INC.
Reel/Frame 045998/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: GREER, WILLIAM PATRICK
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 045999/0141 →
CHANGE OF NAME Recorded Jun 6, 2018
From: SAVVIS ASSET HOLDINGS, INC.
To: SAVVIS, INC.
Reel/Frame 046304/0133 →
MERGER Recorded Jun 6, 2018
From: SAVVIS, INC.
To: SAVVIS COMMUNICATIONS CORPORATION
Reel/Frame 046304/0235 →
MERGER Recorded Jun 6, 2018
From: MOUNT SHASTA ACQUISITION LLC
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 045999/0108 →
Continuity (3)
Continuation 14887053 · Oct 19, 2015
Continuation 10073938 · Feb 14, 2002
Related Publication 20180288151A1 · Oct 4, 2018
Cited By (1)
US 12,335,334