IP Library Granted Patent US 11,700,318
Granted Patent B2
US 11,700,318 · App. 17/951,646 · Granted Jul 11, 2023

Front-end optimization in a content delivery network (CDN)

Inventor: Christopher Newton (Westlake Village, CA)
Assignee: Level 3 Communications, LLC
H04L67/568H04L67/01H04L67/02H04L67/1097H04L69/04
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 11,700,318
App. No.
17/951,646
Granted
Jul 11, 2023
Kind
B2
Abstract

A computer-implemented method, operable on a device in a content delivery network (CDN), wherein the CDN delivers content on behalf of at least one content provider, the device implementing a content delivery (CD) service, the method includes, by the service on the device: receiving a request for a particular resource from a client; determining whether the client includes an optimization support mechanism; when the client includes an optimization support mechanism, providing the client with a first version of the particular resource, optimized, at least in part, for the capabilities of the client in combination with the optimization support mechanism; otherwise providing the client with either (i) an un-optimized version of the particular resource, or (ii) a version of the particular resource optimized, at least in part, for the capabilities of the client without the capabilities of the optimization support mechanism.

Claims (38)

1. A computer-implemented method, operable on a device in a content delivery network (CDN), wherein the CDN delivers content on behalf of at least one content provider, the device implementing a content delivery (CD) service, the method comprising, by the CD service on the device:

receiving a request for a particular resource from a client operatively connected to the CDN via a connection;

determining that the client includes an optimization support mechanism using a modified user-agent string included in the request, wherein the optimization support mechanism comprises a decompression mechanism for decompressing a compressed resource;

determining a cost of the connection including a cost for compression of the particular resource and a cost for decompression of the particular resource;

responsive to determining that the client includes the optimization support mechanism, determining to provide the client with a first version of the particular resource, the first version of the particular resource being optimized, at least in part, for the client in combination with the optimization support mechanism, wherein determining whether to provide the client with the first version of the particular resource is based on (i) the cost of the connection and (ii) a delay caused by optimization of the first version;

attempting to obtain the first version of the particular resource from another location, wherein the another location comprises a peer of the CD service; and

based on determining to provide the client with the first version of the particular resource, providing the client with the first version of the particular resource or providing the client with either (i) an un-optimized version of the particular resource, or (ii) a version of the particular resource optimized, at least in part, for the client without the optimization support mechanism,

wherein the request is an HTTP request and wherein the information provided with the request is included in one or more HTTP headers provided with the HTTP request.

2. The computer-implemented method of claim 1 , wherein the client comprises a browser mechanism and wherein the optimization support mechanism is a plugin on the client.

3. The computer-implemented method of claim 1 , wherein the client determines whether the client includes an optimization support mechanism based on information provided with the request.

4. The computer-implemented method of claim 1 , wherein the determining at least one of the cost of the connection or is based on a hostname associated with the request.

5. The computer-implemented method of claim 1 , wherein the optimization support mechanism causes the request to be made via a proxy.

6. The computer-implemented method of claim 1 , further comprising generating at least some of the first version of the particular resource.

7. The computer-implemented method of claim 6 , wherein the generating comprises: causing at least some optimizations to be performed on the particular resource to produce the first version of the particular resource.

8. The computer-implemented method of claim 7 , wherein the at least some optimizations are performed by one or more optimization services.

9. The computer-implemented method of claim 8 , wherein the at least some optimizations are performed by one or more optimization services running on the device.

10. The computer-implemented method of claim 8 , wherein the one or more optimization services comprise an optimization services network.

11. The computer-implemented method of claim 1 , wherein the optimizations include one or more of: (i) file compression, (ii) code minimization or reduction, (iii) image optimization or compression, and (iv) manipulation of the caching policy as provided to the client.

12. A non-transitory computer-readable medium having program instructions stored thereon, the program instructions, operable on a computer system in a content delivery network (CDN), the computer system implementing a content delivery (CD) service, wherein execution of the program instructions by one or more processors of the computer system causes the one or more processors to carry out the acts of:

receive a request for a particular resource from a client operatively connected to the CDN via a connection;

determine that the client includes an optimization support mechanism using a modified user-agent string included in the request, wherein the optimization support mechanism comprises a decompression mechanism for decompressing a compressed resource;

determine a cost of the connection including a cost for compression of the particular resource and a cost for decompression of the particular resource;

responsive to a determination that the client includes the optimization support mechanism, determine to provide the client with a first version of the particular resource, the first version of the particular resource being optimized, at least in part, for the client in combination with the optimization support mechanism, wherein whether to provide the client with the first version of the particular resource is determined based on (i) the cost of the connection and (ii) a delay caused by optimization of the first version;

attempt to obtain the first version of the particular resource from another location, wherein the another location comprises a peer of the CD service; and

based on determining to provide the client with the first version of the particular resource is determined, provide the client with the first version of the particular resource or providing the client with either (i) an un-optimized version of the particular resource, or (ii) a version of the particular resource optimized, at least in part, for the client without the optimization support mechanism,

wherein the request is an HTTP request and wherein the information provided with the request is included in one or more HTTP headers provided with the HTTP request.

13. A tangible device in a content delivery network (CDN), wherein the CDN delivers content on behalf of at least one content provider, the tangible device implementing a content delivery (CD) service, the tangible device comprising:

at least one processor;

memory, operatively connected to the at least one processor, and containing instructions that, when executed by the at least one processor, cause the tangible device to:

receive a request for a particular resource from a client operatively connected to the CDN via a connection;

determine that the client includes an optimization support mechanism using a modified user-agent string included in the request, wherein the optimization support mechanism comprises a decompression mechanism for decompressing a compressed resource;

determine a cost of the connection including a cost for compression of the particular resource and a cost for decompression of the particular resource;

responsive to a determination that the client includes the optimization support mechanism, determine to provide the client with a first version of the particular resource, the first version of the particular resource being optimized, at least in part, for the client in combination with the optimization support mechanism, wherein determining to provide the client with the first version of the particular resource is determined based on (i) the cost of the connection and (ii) a delay caused by optimization of the first version;

attempt to obtain the first version of the particular resource from another location, wherein the another location comprises a peer of the CD service; and

based on whether to provide the client with the first version of the particular resource is determined, provide the client with the first version of the particular resource or providing the client with either (i) an un-optimized version of the particular resource, or (ii) a version of the particular resource optimized, at least in part, for the client without the optimization support mechanism,

wherein the request is an HTTP request and wherein the information provided with the request is included in one or more HTTP headers provided with the HTTP request.

14. The tangible device in a CDN of claim 13 , wherein the client comprises a browser mechanism and wherein the optimization support mechanism is a plugin on the client.

15. The tangible device in a CDN of claim 13 , wherein the client determines whether the client includes an optimization support mechanism based on information provided with the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2022
From: NEWTON, CHRISTOPHER
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 061213/0599 →
Continuity (3)
Continuation 16562426 · Sep 5, 2019
Continuation 15241044 · Aug 18, 2016
Related Publication 20230015966A1 · Jan 19, 2023