IP Library Granted Patent US 9,369,541
Granted Patent B2
US 9,369,541 · App. 14/087,595 · Granted Jun 14, 2016

Method and apparatus for implementing distributed content caching in a content delivery network

Inventors: Muriel Medard (Belmont, MA); Flavio du Pin Calmon (Cambridge, MA); Weifei Zeng (Cambridge, MA)
Assignee: Massachusetts Institute of Technology
H04L67/2852H04L67/06H04L67/1095H04L67/1097
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,369,541
App. No.
14/087,595
Granted
Jun 14, 2016
Kind
B2
Abstract

Distributed content caching is implemented in an efficient, low cost manner within a content delivery network (CDN). In various embodiments, content is identified for caching at a number of gateway devices within a CDN by minimizing a cost function associated with content delivery in the network. The cost function may take into consideration costs of delivering content to users from gateway devices as well as costs associated with delivering content to users from centralized locations of a CDN.

Claims (57)

1. A machine implemented method for use in a content delivery network (CDN) that distributes content to a plurality of users, the CDN having a central server to manage content delivery services and a plurality of gateway devices located proximate to user locations that have data storage capability for use in caching at least some of the content to be distributed in the CDN, the method comprising:

by the central server:

determining information describing the CDN, the information comprising information describing a configuration and a capacity of the CDN;

determining statistics of operation of the CDN corresponding to user content requirements;

determining content to be stored at the plurality of gateway devices by using a cost function associated with content delivery, wherein the cost function includes a cost term associated with content delivery from the central server and a cost term associated with content delivery from the gateway devices, wherein determining content includes using the determined information and the determined statistics; and

sending content to the plurality of gateway devices to be cached thereby in accordance with the results of determining content to be stored, wherein the content comprises network coded file segments corresponding to linear combinations of a plurality of file fragments weighted by coding coefficients.

2. The method of claim 1 , wherein:

collecting, assembling, determining, and sending are performed at the central server.

3. The method of claim 1 , further comprising:

continually repeating collecting, assembling, determining, and sending to operate the CDN in an efficient manner.

4. The method of claim 1 , wherein:

the cost function is based on at least one of: a term to account for delivery delays at the server, and a constraint on server load variance.

5. The method of claim 1 , wherein:

determining content to be stored at the plurality of gateway devices includes using at least one of the following optimization procedures to minimize the cost function: the General Prox Gradient Scheme, the interior point method, and numerical solvers such as GUROBI and CVX.

6. The method of claim 1 , wherein:

sending content to the plurality of gateway devices to be cached thereby includes sending the content via the Internet.

7. The method of claim 6 , wherein:

the plurality of gateway devices associated with the CDN communicate with the Internet through a common Internet Service Provider (ISP), wherein the central server is connected to the Internet.

8. The method of claim 1 , wherein:

sending content to the plurality of gateway devices includes causing at least some of the content to be sent to the gateway devices from one or more data centers that are not located at the central server location.

9. A content delivery network (CDN) to provide content delivery services for a plurality of users, the CDN comprising:

a content delivery server configured to:

manage content delivery services for the CDN;

determine a caching scheme for the CDN for caching selected content at a plurality of gateway devices deployed at or near user locations, the caching scheme to enhance the efficiency with which content is delivered to users, the caching scheme determined based on information describing a configuration and a capacity of the CDN and using a cost function associated with content delivery, the cost function including a cost term associated with content delivery from the gateway devices and a cost term associated with content delivery from one or more other content storage locations of the CDN; and

deliver network coded content to individual gateway devices in the plurality of gateway devices for storage in accordance with the caching scheme, wherein the network coded content comprises corresponds to linear combinations of a plurality of content fragments weighted by coding coefficients.

10. The CDN of claim 9 , wherein:

the plurality of gateway devices deployed at or near the user locations are under the control of the CDN.

11. The CDN of claim 9 , wherein:

the content delivery server is configured to occasionally update the caching scheme to account for changes in the CDN over time.

12. The CDN of claim 9 , wherein:

the content delivery server is coupled to the plurality of gateway devices through the Internet.

13. The CDN of claim 12 , wherein:

the plurality of gateway devices are all associated with a common Internet service provider (ISP).

14. The CDN of claim 9 , wherein the content delivery server is configured to:

collect information about a present configuration of the CDN;

assemble statistics of operation of the CDN corresponding to user content requirements; and

use the collected information and the assembled statistics to develop the caching scheme for the CDN.

15. The CDN of claim 9 , wherein:

the cost function is based on at least one of: a cost for the content delivery server to transmit a unit of content to a gateway, a cost of caching a unit of content at a gateway.

16. The CDN of claim 9 , wherein:

the cost function is based on at least one of: a term to account for delivery delays at the server, and a constraint on server load variance.

17. A non-transitory computer readable media having instructions stored thereon that, when executed by a computing system, performs a method for use in a content delivery network (CDN) that distributes content to a plurality of users, the CDN having a central server to manage content delivery services and a plurality of gateway devices located proximate to user locations that have data storage capability for use in caching at least some of the content to be distributed in the CDN, the method comprising:

by the central server:

determining information describing the CDN, the information comprising information describing a configuration and a capacity of the CDN;

determining statistics of operation of the CDN corresponding to user content requirements;

determining content to be stored at the plurality of gateway devices by using a cost function associated with content delivery, wherein the cost function includes a cost term associated with content delivery from the server and a cost term associated with content delivery from the gateway devices, wherein determining content includes using the determined information and the determined statistics; and

sending content to the plurality of gateway devices to be cached thereby in accordance with the results of determining content to be stored, wherein the content comprises network coded packets corresponding to linear combinations of a plurality of packets weighted by coding coefficients.

18. The non-transitory computer readable media of claim 17 , wherein:

the cost function is based on at least one of: a term to account for delivery delays at the server, and a constraint on server load variance.

19. A machine implemented method for use in a content delivery network (CDN) that distributes content to a plurality of users, the CDN having a central server to manage content delivery services and a plurality of gateway devices located proximate to user locations that have data storage capability for use in caching at least some of the content to be distributed in the CDN, the method comprising, by the central server:

determining information describing the CDN, the information comprising information describing a configuration and a capacity of the CDN;

determining statistics of operation of the CDN corresponding to user content requirements;

determining content to be stored at the plurality of gateway devices by using a cost function associated with content delivery, wherein the cost function accounts for costs associated with content delivery from the central server and costs associated with content delivery from the gateway devices, wherein determining content includes using the determined information and the determined statistics; and

sending content to the plurality of gateway devices to be cached thereby in accordance with the results of determining content to be stored, wherein the content comprises network coded packets corresponding to linear combinations of a plurality of packets weighted by coding coefficients

wherein the cost function is based on at least one of:

a cost term associated with content deliveries from the central server comprising at least one of a term to account for delivery delays at the server and a term to account for constraints on server load variance; and

a cost term associated with content storage at the gateway devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2013
From: MEDARD, MURIEL; CALMON, FLAVIO DU PIN; ZENG, WEIFEI
To: MASSACHUSETTS INSTITUTE OF TECHNOLOGY
Reel/Frame 031712/0534 →
Continuity (2)
Provisional Application 61783666 · Mar 14, 2013
Related Publication 20140280454A1 · Sep 18, 2014