Digital content distribution system and method
First Claim
1. A method for downloading a digital content file from a content distribution network (CDN) residing within a content distribution system, the method comprising:
- receiving a CDN list from a content directory server that includes one or more CDNs residing within the content distribution system and also includes a rank and a weight for each of the one or more CDNs;
selecting a CDN from the CDN list from which to download the digital content file based on a bandwidth test, wherein the selected CDN is capable of downloading a portion of the digital content file to a content player machine at a highest bit rate associated with the content player machine or has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list, the weighted bandwidth associated with a particular CDN being equal to the product of the bit rate at which the particular CDN can download the portion of the digital content file to the content player machine and the weight included in the CDN list for the particular CDN;
launching a buffering thread configured to download digital content associated with the digital content file from the selected CDN and to store the digital content in a content buffer; and
launching a playback thread configured to play the digital content stored in the content buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment of the present invention sets forth a technique for selecting a content distribution network (CDN) comprising at least one content server, from a plurality of CDNs, and a playing digital content file from the CDN on a content player. Selecting the CDN is based on a rank order of CDNs, an assigned weight value for each CDN, and a bandwidth measured between the content player and each CDN. Advantageously, a given content player may select a CDN based on prevailing network and CDN loading conditions, thereby increasing overall robustness and reliability when downloading digital content file from a CDN.
9 Citations
24 Claims
-
1. A method for downloading a digital content file from a content distribution network (CDN) residing within a content distribution system, the method comprising:
-
receiving a CDN list from a content directory server that includes one or more CDNs residing within the content distribution system and also includes a rank and a weight for each of the one or more CDNs; selecting a CDN from the CDN list from which to download the digital content file based on a bandwidth test, wherein the selected CDN is capable of downloading a portion of the digital content file to a content player machine at a highest bit rate associated with the content player machine or has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list, the weighted bandwidth associated with a particular CDN being equal to the product of the bit rate at which the particular CDN can download the portion of the digital content file to the content player machine and the weight included in the CDN list for the particular CDN; launching a buffering thread configured to download digital content associated with the digital content file from the selected CDN and to store the digital content in a content buffer; and launching a playback thread configured to play the digital content stored in the content buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium including instructions that, when executed by a processing unit, cause the processing unit to download a digital content file from a content distribution network (CDN) residing within a content distribution system, by performing the steps of:
-
receiving a CDN list from a content directory server that includes one or more CDNs residing within the content distribution system and also includes a rank and a weight for each of the one or more CDNs; selecting a CDN from the CDN list from which to download the digital content file based on a bandwidth test, wherein the selected CDN is capable of downloading a portion of the digital content file to a content player machine at a highest bit rate associated with the content player machine or has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list, the weighted bandwidth associated with a particular CDN being equal to the product of the bit rate at which the particular CDN can download the portion of the digital content file to the content player machine and the weight included in the CDN list for the particular CDN; launching a buffering thread configured to download digital content associated with the digital content file from the selected CDN and to store the digital content in a content buffer; and launching a playback thread configured to play the digital content stored in the content buffer. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A content player device configured to download a digital content file from a content distribution network (CDN) residing within a content distribution system, the content player device comprising:
-
a memory that includes a content buffer for storing downloaded digital content; and a processing unit coupled to the memory and configured to; receive a CDN list from a content directory server that includes one or more CDNs residing within the content distribution system and also includes a rank and a weight for each of the one or more CDNs, select a CDN from the CDN list from which to download the digital content file based on a bandwidth test, wherein the selected CDN is capable of downloading a portion of the digital content file to the content player device at a highest bit rate associated with the content player device or has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list, the weighted bandwidth associated with a particular CDN being equal to the product of the bit rate at which the particular CDN can download the portion of the digital content file to the content player machine and the weight included in the CDN list for the particular CDN, launch a buffering thread configured to download digital content associated with the digital content file from the selected CDN and to store the digital content in the content buffer, and launch a playback thread configured to play the digital content stored in the content buffer on a display device coupled to the content player device. - View Dependent Claims (24)
-
Specification