WO2015063732A1 - System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network - Google Patents

System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network Download PDF

Info

Publication number
WO2015063732A1
WO2015063732A1 PCT/IB2014/065742 IB2014065742W WO2015063732A1 WO 2015063732 A1 WO2015063732 A1 WO 2015063732A1 IB 2014065742 W IB2014065742 W IB 2014065742W WO 2015063732 A1 WO2015063732 A1 WO 2015063732A1
Authority
WO
WIPO (PCT)
Prior art keywords
delivery
content
node
content delivery
nodes
Prior art date
Application number
PCT/IB2014/065742
Other languages
French (fr)
Inventor
Chris Phillips
Robert Forsman
Jennifer Ann Reynolds
Original Assignee
Ericsson Television Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Television Inc. filed Critical Ericsson Television Inc.
Priority to EP14857342.1A priority Critical patent/EP3063944B1/en
Priority to CA2929294A priority patent/CA2929294A1/en
Priority to CN201480071867.4A priority patent/CN105917656B/en
Priority to JP2016526885A priority patent/JP6469676B2/en
Publication of WO2015063732A1 publication Critical patent/WO2015063732A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics

Definitions

  • the present disclosure generally relates to communication networks. More particularly, and not by way of any limitation, the present disclosure is directed to systems and methods for optimizing delivery of adaptive b if rate (ABR) assets in a content delivery network,
  • ABR adaptive b if rate
  • a content delivery network or CDN typically distributes content in a "'best effort" fashion across the nodes throughout a. network using technologies such as adaptive Mtrate (ABR) streaming. If is known, however, that ABR can result i unfair and sometimes incongruous apportionment of bandwidth in a network based upon the order multiple clients begin to use a network resource. Since the bandwidth usage is typically determined by a client requesting the content, and because the ABR clients can be opportunistic, they may become greedy.
  • ABR adaptive Mtrate
  • a client device that has a low resolution may end np consuming a disproportionate amount of the bandwidth when compared to the bandwidth required for a higher resolution device such as, e.g., a high-definition TV (HDTV), issues pertaining to such misappropriation of bandwidth and/or uneven distribution of bandwidth resources in a C-DN are expected to become evert more pronounced when, higher bandwidt options become available.
  • a higher resolution device such as, e.g., a high-definition TV (HDTV)
  • the present patent disclosure is broadly directed to systems, methods, devices, apparatuses and associated computer-readable media for pre-prwisiotiing A.BR assets in a CDN based on historical delivery trends and utilizing the historical delivery trends in efficiently managing the retrieval of content segments thai may be missing from the serving nodes' database caches.
  • an embodiment of a method operative at a management node associated with a CDN comprises, inter alia., obtaining historical deliver patterns of one or more ABR assets associated with one or more content delivery nodes of the CDN.
  • one or more delivery rules may be determined based, on statistical distributions of the ABR assets delivered over a period of time.
  • a pre-provisioiiing policy may be modulated such that only certain representations or adaptation sets of the particular content's assets are pre-provisioned for the specific content delivery node based on the one or more delivery rules established for the specific content delivery node. in. a further embodiment of a.
  • historical network conditions associated with one or more content delivery nodes of the CDN for delivery of one or more ABR assets may be monitored. Based on the historical network conditions, one or more delivery rules may be determined for each content delivery node. Additionally or alternatively, when a particular content is determined to become popular at a specific content delivery node, the CON's pre-provisioning policies may be modulated based on the delivery rules such that only certain representations or adaptation sets of the particular content's assets that pass or otherwise satisfy the delivery rules are pre-provisione for delivery at the specific content delivery node.
  • a management node operative in association with a CON is disclosed.
  • the claimed embodiment may be configured as a computer* implemented data processing system and comprises, inter alia, one or more processors and a database for storing historical delivery patterns of one or more ABR assets downloaded at the CDN's delivery nodes.
  • a delivery node management and control (DNMC) module may be embodied in a persistent memory coupled to the one or more processors, the DNMC module including program instructions executable by the one or more processors and configured to determine, for each content delivery node, one or more delivery rules based on statistical distributions of the ABR assets delivered over a period of time.
  • DNMC delivery node management and control
  • a content pre-provisioning control module embodied in a persistent memory
  • the content pre-provisioning control module having program instructions executable by the one or more processors and configured to: when a particular content is determined to become popular at a specific content delivery node, apply the one or more delivery rules corresponding to the specific content delivery node against the particular content; and select or otherwise identify only certain representations of the particular content's assets for pre-populating delivery at the specific content delivery node based on the application of the delivery rules established for the specific content delivery node.
  • a management node operative with the CO may include a database for storing historical network conditions associated with one or more content; delivery-- nodes of the CDN, wherein a DNMC module embodied in the persistent memory may comprise program instructions executable by the one or more processors and configured to determine, for each content delivery node, one or more delivery rules based on the historical network conditions monitored for the ABR assets delivered over a period of time.
  • the network condition-based delivery rules may be applied to select or otherwise identify only certain representations of- the particular content's assets that pass the delivery rules for pre-populating relative to the specific content delivery node.
  • an embodiment of a method operative at a content delivery node for optimizing d.efra.gmentation of content comprises, inter alia, analyzing a manifest available to the content delivery node with, respect: to a particular content as well as segment files stored in a database cache of the content delivery node to determine if any segment files referenced by the manifest are absent from the database cache. If so, one or more delivery rules associated with the content delivery node may be applied to determine representations of the absent segment files that satisfy the one or more delivery roles, in one variation, the delivery rules may be established based on historical delivery patterns of one or more ABK.
  • the delivery rules may be established based on historical network conditions of the content delivery node. After determining the compliant representations of the absent segment flies, they niay be pulled from, another content delivery node of the CDN (e.g., a parent node or a edge server node),
  • a content delivery node configured to optimize content defragmeotation.
  • the claimed content delivery node may be embodied as a computer-implemented data processing system comprising, inter alia, one or more processors and a database cache for storing segment files of content streamed to the content delivery node.
  • a content defraginentation module embodied in a persistent memor is coupled to the one or more processors, wherein the content detragmentation module comprises program instructions executable by the one or more processors and configured to; analyze a manifest, available to the content delivery node with respect to a particular content: and segment files stored in the database cache in order to determine if any segment files referenced by the manifest are absent from the database: if so, apply one or more delivery rules associated with the content deiiveiy node to determine representations of the absent segment files that satisfy the one or more delivery rules; and pull from another content deiiveiy node of the CDN onl the representations of the absent segment files satisfying the one or more delivery rules and store the pulled representations in the database cache.
  • embodiments of a. non-transitory computer-readable medium containing instructions stored thereon are disclosed, for performing one or more embodiments of the methods set forth above. Additional features of the various embodiments are as recited in the dependent claims.
  • Advantages of the present invention include, but not limited, to, providing a finer-grain control over pre-provisioning of ABR assets in a CDN, thereby resulting in more efficient usage of network resources. Not only are the operator bandwidth costs minimised (since the network operators no longer have to transmit assets, i.e.. files, that are unlikely to be used, regardless of how popular a particular content is) but a higher quality of service may also be provided to the end users. Additionally, by optimizing content depigmentation at a CD 's delivery nodes on the basis of asset trend-based. delivery rules and/or network condition-based delivery rules, further efficiencies may be gained. Additional benefits and advantages of the embodiments will be apparent in view of the following description and accompanying Figures.
  • FIG. 1 depicts an example contest delivery network wherein one or more embodiments of the present patent application may be practiced
  • FIG. 2 depicts an example manifest including references to one or more content representations or adaptations sets relati ve to video, audio and subtitle components of a particular content;
  • FIG. 3 depicts an example Media Presentation Description (MFD) model of a manifest illustrative of further details relative to different media segments of a partic a Jar content;
  • MFD Media Presentation Description
  • FIG. 4 depicts an example content delivery network wherein content is pre- provisioned based on historical de!ivery trends according to an embodiment of the present pate t application
  • FIGS. 5A and SB depict flowcharts with blocks relative to various steps and acts that may take place according to one or more embodiments of the present patent application;
  • FIG. 6 depicts a block diagram of computer system adapted to operate as a management node according to an embodiment of the present patent application
  • FIG. 7 is a flowchart with blocks relative to various steps and acts thai may take place for monitoring historical deiivery trends of ABR assets according to an embodiment of the present patent application;
  • FIG. 8 is a flowchart ith blocks relative to various steps and acts that may take place for pre-provisioning of content based on deiivery rules according to an embodiment of the present patent application;
  • FIG. 9 is a flowchart with blocks relative to various steps and acts that may take place for updating historical deiivery trend data for one or more content delivery nodes of a CD according to an embodiment of the present patent application;
  • FIGS. 1 OA-I OC depict flowcharts with blocks relative to various steps and acts that may take place for depig en tion of media segments in a content delivery node of according to one or more embodiments of the present patent application;
  • FIG. 1 1 depicts block diagram of a computer system adapted to operate as a conten delivery node that may be configured to effectuate optimized content defragmentation according to an embodiment of the present patent application; and FI.G. 12 depicts an example content delivery network wherein fragmented content is replenished at a content delivery node based on historical delivery trends according to an embodiment of the present patent application, DETAILED DESCRIPTION OF THE DRAWINGS
  • terras such as “coupled” and “connected, “ along with their derivatives, may be used in the following description, claims, or both. It should be understood that these terms are not necessarily intended as synonyms for each other, "Coupled” may be used to indicate that two or more elements, which may or way not be i direct physical or electrical contact with each other, co-operate or interac with each other. "Connected” may be used to indicate the establishment of communication, i.e., a communicative relationship, between two or more elements that are coupled with each other. Further, in one or more example embodiments set forth herein, generally speaking, an element, component or module may be configured to perform a function if the element is capable of performing or oiherwise structurally arranged to perform that function.
  • a network element or node may be comprised of one or more pieces of service network equipment, including hardware and software that communicatively Interconnects other equipment on a network (e.g., other network elements, end stations, etc.), and is adapted to host one or more applications or services with respect: to a plurality of subscribers.
  • Some network elements may comprise "multtpie services network elements" that provide support for multiple network-based functions (e.g., content popularity policy management, session control, QoS policy enforcement, bandwidth scheduling management, subscriber/device policy and profile management, content provider priority policy management, streaming policy management, and the like), in addition to providing support for multiple application services (e.g., data and multimedia applications).
  • Subscriber end stations or client may comprise any device configured to execute, inter alia, at least one streaming client application (e.g., an A.8 streaming client application) for receivin content from a. streaming server or content provider.
  • client devices may include set-top boxes, PVR/DVRs. workstations, laptops, netbooks, palm tops, mobile phones, smartphones, multimedia phones.
  • Voice Over Internet Protocol (VOIP) phones mobile/wireless user equipment high definition TV terminals, portable media players, location-aware subscriber equipment, gaming systems or consoles (such as the Wii®, f lay Station 3®, Xbox 360 ), etc., that may access or consume content/services provided over a content delivery network in accordance with one or more embodiments set forth herein.
  • VOIP Voice Over Internet Protocol
  • the client devices may also access or consume content/services provided over broadcast networks (e.g., cable and satellite networks) as well as a packet-switched wide area public network such as the Internet via suitable service provider access networks.
  • broadcast networks e.g., cable and satellite networks
  • packet-switched wide area public network such as the Internet
  • suitable service provider access networks e.g., the Internet
  • the client devices or subscriber end stations may also access or consume content/services provided on virtual private networks (VPNs) overlaid on (e.g., tunneled through) the internet.
  • VPNs virtual private networks
  • One o more embodiments of the present patent disclosure may be implemented using different combinations of software, firmware, and/or hardware.
  • one or more of the technique and blocks shown in the Figures may be implemented using code and data stored and executed on one or more electronic devices or nodes (e.g., a subscriber client device or end station, a network element, etc.).
  • Such electronic devices may store and communicate (internally and/or with other electronic devices over a network) code and data using computer-readable media, such as non-transitory computer-readable storage media (e.g., magnetic disks, optica!
  • network elements may typically include a set of one or more processors coupled to one or more other components, such as one or more storage devices (e.g., non-transitory machine-readable storage media) as wel! as storage daiabase(s), user input/output devices (e.g., a keyboard, a touch screen, a pointing device, and/or a display), and network connections for effectuating signaling and/or hearer media transmission.
  • storage devices e.g., non-transitory machine-readable storage media
  • user input/output devices e.g., a keyboard, a touch screen, a pointing device, and/or a display
  • network connections for effectuating signaling and/or hearer media transmission.
  • the coupling of the set of processors and other components may be typically through one or more buses and bridges (also termed as bus controllers), arranged in any known (e.g., symmetric/shared multiprocessing) or heretofore unknown architectures.
  • bus controllers also termed as bus controllers
  • the storage device or component of a given. electron ie device or network element may be configured to store code and/or data for execution on one or more processors of that element, node or electronic device for purposes of implementing one or more techniques of the present disclosure
  • CDN 100 depicted therein is an example content delivery network or CDN 100 wherein one or more embodiments of the present paten application may be practiced.
  • CDN 100 may comprise an overlay network architected for high- performance streaming of a variety of digital assets or program assets as well as services (hereinafter referred to as "media content") to subscribers using one or more internet-based infrastructures, private/dedicated infrastructures or a combination.
  • the terms “media content” or “content file “ (or, simply “content”) as used in reference to at least some embodiments of the present patent disclosure may include streaming digital assets and program assets such as any type of audio/video content or program segment, live or static (e.g., recorded over-the-air free network television (TV) shows or programs, pay TV broadcast programs via cable networks or satellite networks, ftee-to-atr satellite TV shows, S.PTV programs, etc.), Over-The-Top (QTT) and video-on-demand (VQD) or rnovfc-on-demaiid.
  • streaming digital assets and program assets such as any type of audio/video content or program segment, live or static (e.g., recorded over-the-air free network television (TV) shows or programs, pay TV broadcast programs via cable networks or satellite networks, ftee-to-atr satellite TV shows, S.PTV programs, etc.), Over-The-Top (QTT) and video-on-demand (VQD) or rnovfc-
  • MOD shows or programs, time-shifted TV (TSTV) content, as well as other content asseis provided b content publishers, owners or providers, including but not limited to software files, executable computer code or programs, online electronic games, internet radio shows programs, entertainment programs, educational programs, movies, music video programs, and the like, that may be delivered using any known or heretofore unknown adaptive streaming technologies.
  • various programs or content files provided via streaming may be arranged as a collection or assembly of channels that are specific to different subscribers, wherein different channels may comprise media content from one or more content sources or originators.
  • content may be delivered via CDN 1.00 using adaptive bit rate (A BR) streaming technologies and may be encoded to support known implementations such as Microsoft® SilveiTight® Smooth Streaming, HTTP streamin (for instance. Dynamic Adaptive Streaming over HTTP or DASH, HTTP Live Streaming or MLS, HTTP Dynamic Streaming or HDS, etc.), leeeasi and so on.
  • a BR adaptive bit rate
  • the overlay architecture of CDN 100 may include a multi-level, hi.erarehsealty- organized interconnected assembly of network servers for providing media pathways or "pipes-' from one or more- central distribution nodes to one or more levels of regional distribution nodes that are connected to one or more local edge servers configured to serve a plurality of end users or subscribers in respective serving location areas.
  • a regional distributio node may operate as a parent node to one or more child edge servers and a central or national distribution node may in turn operate as a parent node to one or more child regional distribution nodes.
  • CDN 1 0 way also include and/or mteroperate with various network element configured to effectuate request redirection or rerouting mechanisms as well as related back, office systems such as subscriber management systems, bandwidth scheduling systems, account/billing systems and the like, that may be deployed as part of a streaming network back office (not specifically shown).
  • office systems such as subscriber management systems, bandwidth scheduling systems, account/billing systems and the like, that may be deployed as part of a streaming network back office (not specifically shown).
  • CDN 1.00 is exemplified with a New York-based national server 102 coupled to regional distribution servers 104-1 to 104-3 based in San Antonio (TX), Jackson (MS) and Charlotte (NC), respectively.
  • Regional distribution server 104-1 is adapted to serve a plurality of edge servers 106- 1. to 106-N, exemplified by edge server 506-1 in Corpus Christ!
  • TX edge server 106-N in Galveston
  • regional distribution server 104-2 is adapted to serve edge servers 1 1.0- i (in Vicksburg, MS) to 1 10- (in Biloxi, MS)
  • regional distribution server 104-3 is adapted to server edge servers 108- 1 (in Ashville, NC) to 108-M fin Fayetteville, NC).
  • Each local edge server is operable to serve a plurality of subscribers in a serving area for delivering content to associated end stations or client devices, as illustrated by an example client device or user equipment (UB) device 105 that may for consume or access streaming content delivered via CDN 100 in an type or member of access technologies including broadband access via wired and/or wireless (radio) communications.
  • UB user equipment
  • subscriber end station w and ''client device may be used synonymously and may comprise any UE device or appliance that in one implementation not only receives digital content assets for live viewing, playback and/or decoding t ie content, but also operates as a command console or terminal that can accept user inputs, commands or requests to interact with a network element disposed in CD 100 and/or associated streaming server systems for requesting content that may be selectively rendered at an internal displa screen and/or one or more external audiovisual (A/V) devices (not specifically shows).
  • A/V audiovisual
  • the example client device 105 may include one or more streaming client modules (e.g., an A.BR streaming client) and associated decoding functionalities depending on the streaming technologies implemented, each operating in association with a processor module and suitable memory and program code (not shown) for effectuating acquisition, decoding and rendering of the streamed medi content.
  • streaming client modules e.g., an A.BR streaming client
  • decoding functionalities depending on the streaming technologies implemented, each operating in association with a processor module and suitable memory and program code (not shown) for effectuating acquisition, decoding and rendering of the streamed medi content.
  • CD 1 0 may be configured to deliver content from live sources and/or static file sources usin adaptive streaming wherein the content may comprise video components, audio track components as well as subtitle language components.
  • the video components of a particular content may be transcoded or otherwise encoded with different bit rates (e.g., multi-rate transcoding) using applicable eneoder(s) (e.g., a particular program content may be transcoded into five video files using variable bit rates, ranging from low to high bit rates (500 Kbs to 12 Mbs, by way of illustration).
  • the particular content's video component is therefore encoded as five different "versions'* or "formats" wherein each bit rate may be referred, to as a. profile or representation.
  • the audio tracks associated with particular content may include different languages and encodings to support multi-lingual programming and different levels/types of audio quality experience.
  • content may be available in multiple languages (e.g., English, French, Spanish, German, Chinese, etc.), each with several types of audio encoding: single channel (mono), two-channel (stereo), 5.1 surround sound, 7.1 surround sound, 7,2 surround sound, etc.
  • various language choices for subtitles may also be provided with the content (e.g., English, Spanish, Japanese, Chinese, Korean, French, etc.).
  • ABR assets video, audio and subtitle components of the content that is distributed through CDN 100
  • ABR assets As the content is accessed, downloaded or otherwise consumed by the subscribers via the network, of content delivery nodes of CDN 100, different consumption/downloading patterns ma emerge with respect to the A.BR assets.
  • A. delivery node management and control (DNMC) system 1 1 2 may be provided in association with CDN 100 as a management node adapted to monitor historical delivery trends and patterns of the ABR assets as well as network conditions associated with one or more content deliver nodes o CDN 100.
  • DNMC delivery node management and control
  • a historical delivery pattern learning and updating process is operative to obtain delivery statistics for each content delivery node on a component-by-component basis, i.e., video, audio or subtitles.
  • delivery statistics for each content delivery node on a component-by-component basis, i.e., video, audio or subtitles.
  • historical network conditions associated with each content deliver node may be obtained over a period, (e.g., download rate distributions, bandwidth utilization and other performance metrics, relative performance comparisons against the performance of other content delivery node and/or predetermined performance thresholds, etc.), which may be utilized by DNMC system or node 1 12 for controlling content distribution through the network.
  • statistics associated with the edge server nodes may be directly provided to DNMC system 1 12, or indirectly via respective regional server nodes, which in turn may provide cumulative or aggregate statistics of the edge server nodes to DNMC system 1 12.
  • reference numeral i 14-1 refers to a communication pathway for updating and/or otherwise providing delivery trends and other statistics to DNMC system 1 12 by a regional server node ⁇ e,gggi San Antoni server 1.04- 1).
  • a communication pathway 5 14-2 may be provided for updating and/or otherwise providing delivery trends and other statistics to DNMC system 1 12 by an edge server node (e.g., Galveston server 106-N).
  • an ABR. asset delivery partem 1 16 associated with the Galveston edge server 106-N includes a video component delivery pattern 1 18- 1 that shows a distribution of various video bit rates (sometimes also referred to as citrates) delivered from that server over a certain period of time (e.g., 35% of downloaded content being high- definition, 1 80p video encoded at 8-10 Mbs: 5% of downloaded content bein high defini tion, 720p video encoded at 3-8 Mbs, and. so on).
  • various video bit rates sometimes also referred to as citrates
  • An audio component delivery pattern 1 18-2 associated with the Gal veston edge server 106-N likewise indicates a distribution of various languages and encodings used for ail the audio tracks delivered from that server over a period of time (e.g., 10% of downloaded content being in English with 5.1 surround sound; 50% of downloaded content being in English with 2.0 stereo; and 40% of downloaded content being in Spanish with 2.0 stereo).
  • corresponding delivery pattern 18-3 associated with the Galveston edge server 106-N shows a distribution wherein 99% of downloaded subtitles being in English and the remaining 1 % of downloaded subtitles being in Spanish.
  • an ABR asset delivery pattern 120 associated with the Ashville edge server 108-1 is illustrated with a different set of video, audio and subtitle distributions.
  • the ABR. asset delivery pattern 120 includes a video component delivery pattern 122-1 that exemplifies a distribution of various video bit rates delivered from that server over a certain period of time, with a relatively low percentage (4%) of downloaded content being high definition, I080p video encoded at 8-10 Mbs, for instance.
  • an audio component delivery pattern 122-2 associated with the Ashville edge server 108- 1 indicates an audio track language distribution having a significantly lower percentage of Spanish language (e.g.. 2% of downloaded content).
  • a subtitle delivery pattern 120-3 is indicative of a distribution of the subtitle selections downloaded from the Ashville edge server 108-1 over a period of time that is substantially similar to the subtitle delivery pattern 1 1 8-3 associated with the Galveston edge server 106-N.
  • D MC system 1 1 2 is operative to determine or otherwise establish one or more delivery rules that may be based, on the differential statistical distributions of various ABR asset delivery patterns and/or historical network conditions associated with respective content delivery nodes of CDN 100. Additionally, such delivery rules may be advantageously applied for modulating or otherwise controlling content pre-provisioning techniques (e.g., based on popularity determinations), defragmeotatioo methodologies, push-based content delivery policies, etc. that may be implemented within CDN 100 for purposes of efficient resource utilization, optimized user experience, bandwidth management, and the like, as will be set forth in additional detaii herein below.
  • content pre-provisioning techniques e.g., based on popularity determinations
  • defragmeotatioo methodologies e.g., based on popularity determinations
  • push-based content delivery policies e.g., push-based content delivery policies, etc.
  • FIG. 2 depicts an example AB asset package 200 relative to a particular content (e.g., Movie X) that may be available for distribution throughout a CDN such, as CD 100. wherein the delivery of one or more portions of the ABR asset package may be modulated, or otherwise controlled according to an embodiment of the present patent application.
  • a manifest file 202 also known as Media Presentation Description or MP.D model in MPEG-DASH standard iSO/i ' EC 23009-1) is operative to describe available content components, including references to one or more content representations or adaptations sets relative to video, audio and subiitie components of the particular content. In respect of video asset components, the manifest 202 may describe segment information such as timing,.
  • a vide component portion 206 of the ABR asset package 200 includes media segments encoded at a number of bit rates, each having certain video quality.
  • reference numeral 206-1 refers to high definition i080p media segments encoded at 12Mbs.
  • reference numerals 206-2 to 206-9 refer to media segments whose video is encoded at rates all the way down to 450Kbs.
  • An audio component portion 208 of the A.BR asset package 200 includes multiple languages of Movie X, each being encoded for different audio quality experiences.
  • Reference numerals 208-1 to 208-6 refer to six asset components, English 5.1 (surround sound), English 2.0 (basic stereo), Spanish 2.0, French 2.0, Chinese 2.0 and German 2.0, respectively,
  • a subtitles component portion 210 includes a plurality of subtitle language selections provided for Movie X, with English 210- 1 to Russian 210-9 being illustrative.
  • FIG. 3 depicts an. example Media Presentation Description model of a manifest, e.g.. MFD 300 that is illustrative of further details relative to different -media segments of a particular content .
  • a plurali ty of arbitrarily spliced content portions 302- 1 to 302- 3 describe the spliced portions' respective timing and base URL parameters, each including one or more adaptation sets for different asset components.
  • reference numerals 304-1 and 304-2 respectively refer to a video adaptation set and an audio adaptation set of segment 302-2
  • the video adaptation set 304 -1 includes two representations 306- ⁇ and. 306-2, eac having respective hit rates, display resolutions, etc, in. addition to the segment information 310.
  • segment information 310 includes an initialization segment 312 as well as URLs to a plurality of media segments 14- 1 to 14-L, each segment having a suitable timing parameter.
  • the ABR asset package 200 shown, in FIG. 2 may he described in a suitable MFD model representation similar to MPD 300 shown in FIG. 3 in a particular implementation that is compliant with the MPEG-DA SH standard .
  • FIG. 4 depicts an example content delivery network 400 wherein, content may be pre-provisioned based on historical delivery trends according to an. embodiment of the present patent application.
  • CDN 400 is identical to CON 1 0 shown in FiG. 1.
  • a popularity policy management system 402 is provided for determining or otherwise estimating or predicting where a -particular content might become popular.
  • the popularity policy management system 402 is operative to estimate or determine a particular content's popularity by location and subscriber demograph ics based on a -plurality of information sources, e.g., search trend data relative to a particular content to be distributed in a geographical region serviced by CDN 400 (for instance, internet search engine trend, data using search engines offered by Google®, Bingif ; , Yahooit>, and the like, as well as social media search trend data, e.g., searches on Facebook®, Twitter®, l.nstagram®, Pinterest®, and the like.), in addition to trends relatin to
  • the popularity policy management system 402 may foe configured to interface with a content policy management node (not explicitly shown) for receiving applicable licensing information an/or content-based priority levels and weights. Upon determining popularity estimations for a particular content, the popularity policy management system 402 is operative to provide pre- provisioning and distribution policies to a central distributio node and/or regional server nodes, as exemplified by a communication path 406. Additional details regarding the establishment of content-specific pre- rovisioning and distribution policies may be .found in one or more of the foregoing commonly assigned patent applications, referenced hereinabove.
  • DNMC system 1.1.2 is operative to provide one or more delivery rules established or otherwise determined for the respective content delivery nodes (e.g., regional server nodes and/or edge server nodes) based on the nodes' ABR. asset delivery/distribution patterns.
  • DNMC system 1 12 is further operative to apply such delivery roles (which ma comprise upper/lower thresholds and/or ranges for video bit rates, limits based on language/subtitle selection percentages, and the like) in conjunction with the pre-provisioning and distribution policies for a particular ABR asset package such that only certain representations or versions of the content which, satisfy or otherwise pass the delivery rules may be pre- provisioned.
  • applicable delivery rules may be- transmitted to a centra!
  • distribution node and/or regional distribution nodes as exemplified by a communication path 404, which distribution node may then apply the delivery rules in order to select a subset of the video/audio/ subtitle assets for pre-provisioning relative to a plurality of the edge server nodes where the content has been determined to be popular.
  • both the popularity-based pre-provisionin policies as well as node-specific asset trend delivery rules may foe provided to another network element or management node that is adapted to apply suitable selection/filtering logic in order for establishing filtered or otherwise modulated pre- provisioning policies with respect a particular content's ABR assets, in such a scenario, modulated pre-provisioniog policies may be transmitted to the central/regional distribution nodes of CD 400 and a subset of the A BR assets may be appropriately pre-provisioned i accordance therewith.
  • DNMC system 1 12 may also provide one or more delivery rules established or otherwise determined for the respective content delivery nodes based on the nodes' the historical network conditions. Similar to the application of the asset trend-based delivery rules, network condition-based delivery rules may be applied for modulating or otherwise controlling the pre-provisioning policies established by the popularity policy management system 402. it should be appreciated by one skilled in the art that the network condition-based delivery rules may be applied in various implementations similar to the embodiments described above, in addition to being applied in conjunction with the asset trend-based delivery rules for further refinement of a CDN's pre-provisioning policies.
  • the modulated pre-provisioning of ABR assets with respect to edge server nodes 106-N and 108-1 based, on respective node's delivery patterns may be further exemplified.
  • the ABR asset delivery pattern 1 16 associated with the Galveston edge server 106-N shows a video component distribution wherei more than 80% of the content is of higher bttrate category (i.e., 720p content at 3-8Mbs or i OSOp content at 8- 1 2Mbps).
  • a delivery rule may be established wherein only higher bitrate representations of a particular content (e.g.. Movie Y) may be pre-provisioned for the Galveston, node 11.6-N.
  • a pre-provisioned ABR asset package 408 for the node will include only 720p and 1080p representations of the content (encoded at, for example, 3/5 Mbs and !.0/12!vibs, respectively), as illustrated by a video asset component 410- 1 .
  • a delivery rule may be such that 5, 1 English language representations of a content's audio assets are excluded from pre-provisioning.
  • a delivery rule for the subtitles may be one where any subtitles having a least likelihood of being downloaded from that node (e.g., less than 5%) are excluded from pre- provisioning.
  • the pre-provisioned ABR asset package 408 relative to Movie Y for the Galveston node J 06-N will include an audio asset component 410-2 comprising only English 2.0 and Spanish 2.0 representations (or adaptation sets) and a subtitle asset component 410-3 comprisin only English language subtitles of Movie Y, which has been estimated to become popular in the area serviced by the Galveston node 106-N.
  • one or more delivery rules based on the learned ABR asset delivery pattern 120 associated with the Ashville edge server 108- 1 may be applied to modulate the pre-provisioning of a content, e.g.. Movie Y, that is estimated to become popular in the Ashville service area.
  • a content e.g.. Movie Y
  • an example deliver rule may he such that 1080p representations of a content are excluded.
  • suitable thresholds may be established for the audio and. subtitle asset components based on their respective likelihood, estimates.
  • the pre- provisioned AB asset package 412 relative to Movie Y for the Ashville node 108-1 will include a video asset component 14-1 comprising only 720 and 480p representations of the content (encoded at, for example, 3/5 Mbs and 2/1 Mbs, respectively), an audio asset component 414-2 comprising only English 2.0 representations and a subtitle asset component 14-3 comprising only English language subtitles of Movie Y.
  • the embodiments set forth herein provide finer-grain pre-provisioning of the ABR assets, resulting in more efficient deployment of network resources. Not only are the operator bandwidth costs minimized (since the network operators no longer have to transmit assets, i.e., files, that are unlikely to he used, regardless of how popular a particular content is) but a higher quality of service may also be provided to the end users.
  • pre-provisioning modulations described above are illustrative of application of asset trend- ased delivery rules, similar pre-provisioning modulations may be equally achieved on the basis of network condition-based delivery roles, mutatis mutandis.
  • a DNMC system may be made aware of language preferences in the area serviced by each of the CDN edge nodes, as such awareness can be informed by historical trends within the CDN itself (e.g., users in a particular service area always or most often watch, the Spanish language version), or based on wider trends supplied from third parties (e.g., the particular service area has a large Spanish, speaking population) if the edge node has no historical data yet. Should a particular piece of con ten t become popular in. an area serviced b that edge node, the system only pre-popuiates the popular audio or subtitle data (which may even be different languages), rather than all audio or subtitle options normally included with each piece of content as part of the entire ABR asset package.
  • the audio/subtitle data can be sent over in the normal fashion, on demand.
  • the DNMC system may be made aware of historical network conditions for each of its edge servers. Should a particular edge server experience or exhibit consistentl below average edge server conditions (as may be defined for a suitable performance metric), the DNMC system is made aware of such a condition. If a particular piece of content become popular in an area serviced by thai edge node, the system only pre-populates lower itrate content, as the higher bitrates are less likely to he used (and/or less likely to be downloaded). If the network conditions improve and atypical bitrates ⁇ outside the filtered pre-provisioned assets) are re uested by the subscribers, such bitrates cart be sent over irt the normal fashion, on demand.
  • Flowchart 500A is representative of a collection of processes that may be practiced either independently or in one or more combinations, in one example process, blocks 502, 504 and. 510 illustrate an application of asset trend-based delivery rules w ith respect to pre-provisioning of popular content. In another example process, blocks 506, 508 and 510 illustrate an application of network condition-based delivery rules with respect to pre-provisioning. in a still further example process, blocks 502- 510 may be combined in a number of ways where both asset-based delivery rules as well as network condidon-based delivery rules may be applied for purposes of pre- provisioning policy modulation.
  • a block 502 historical delivery patterns and trends of one or more ABR assets may be obtained for one or more content delivery nodes of a C N, for example, over a period of time such as a configurable moving/sliding time window.
  • appropriate statistical distributions of the ABR assets may be determined, e.g., percentage distributions, likelihood estimates, multi-level rankin distributions, etc., over the relevant sample time base.
  • one or more delivery rules may be established or otherwise determined, which may be provided as part of an adaptive learning process, e.g., a. knowledge-based or roles-based expert system (block 504).
  • the network condition-based rules may be established, in a number of ways, depending on a specific implementation (block 508). As with the asset trend-based delivery roles, the network condition-based delivery rules may be used for filtering only certain adaptation sets of popular content f r pre-provisioning (block 510).
  • an application of the delivery rules may comprise comparisons of ABR assets against a range of video bttrates, thresholds, language/subtitle likelihood estimates, network connection performance/conditions, etc., as well as other metrics relating thereto. Responsive to the comparisons, video/audio adaptation sets and subtitles of a particular content may be selected or otherwise identified for pre-pcovisioniRg as set forth at Mock 51 .
  • FIG. 6 depicts a block diagram of a computer-implemented data processin system adapted to operate as a management node 600 according to an embodiment of the present patent application.
  • the management node 600 may be configured as an example implementation of DN C system 1 12 that ma inter-operate with one or more CDN management systems such as a bandwidth, allocation/scheduling system, a distribution pipe policy management and optimization system, a content policy and QoS management system, or a request rerouting/redirecting system, or any combination thereof in addition to the popularity policy management system 402 associated with CD 400 as well as ths CDN nodes.
  • CDN management systems such as a bandwidth, allocation/scheduling system, a distribution pipe policy management and optimization system, a content policy and QoS management system, or a request rerouting/redirecting system, or any combination thereof in addition to the popularity policy management system 402 associated with CD 400 as well as ths CDN nodes.
  • Bus 604 may be coupled to one or more bus bridges or bu controllers 606- i , 606-2 for extending to or coupling to additional or -peripheral buses 608, 10, which in turn may support a plurality of interfaces (i F).
  • suc h interfaces 612-1 » 612-2 may effectuate interfacing with various CDN nodes such as the national server uode(s) 102, regional server nodes 104-1 to 104-3, and edge server nodes, 1.06-1 to 106-N; 108-1 to 108-M; 1. 10-1 to U O- .
  • Additional interfaces 614-1 , 614-2 may effectuate interfaces to one or more CDN management systems mentioned above.
  • a memory subsystem 619 provided with the management node 600 may include one or more memory controllers 61 for controlling memory operations relative to a plurality of memory module 61 8-1 to 618-M as well as nonvolatile memory modules such as persistent memory module 617.
  • Program instructions or logic which may be organized and/or executed as one or more software processes, modules, blocks, routines, threads, etc, may be .stored in. or uploaded downloaded into the persistent memor 6 ! 7 for effectuating one or more embodiments of the present disclosure.
  • a delivery node and management control module 621 may be configured to effectuate or otherwise establish delivery rules based on historical.
  • the delivery rules may be established pursuant to statistical and mathematical modeling techniques involving, e.g., cluster analysis, multivariate analysis, principal component analysis, factor analysis, correlation analysis, adaptive neural networks, regression analysis, etc. to not only lear hot also forecast ABR asset distributions on a node-by-node basis.
  • the delivery rules may be distributed to appropriate CDN nodes (e.g., the national server 102) for modulating content pre-provisioning policies.
  • yet another module 625 may be provided tor applying the deliver rules in conjunction with content pre-provisioning policies as determined by the popularity policy management system 402, whereby modulated pre-provisioning policies may he provided to the CDN nodes.
  • the delivery rules may also be applied in conjunction with request redireetor system that is operative to redirect subscribers' requests to appropriate edge server nodes based on popularity, network bandwidth conditions, etc, for purposes of the present patent disclosure,
  • FIG. 7 is a flowchart of an example process 700 with, blocks relative to various steps and acts that may take place for monitoring historical delivery trends of ABR assets according to an embodiment of the present patent application.
  • a client requests to watch ABR content (block 702)
  • appropriate data such as subtitle/language selection, etc. may he saved for the delivery session, (blocks 704, 706),
  • the ABR content is in separate adaptation sets or in interleaved content stream (i.e., multiplexed or mused content stream provided in certain legacy streaming implementations) as set forth i:n decision block 708, further data relative to the delivery session ma be stored, saved or otherwise monitored.
  • a loop sub-process 710 may be effectuated with respect to each audio and video segment of the ABR asset package, wherein segment video bitratef s).
  • audio bitrate(s) and delivery format e.g., audio formats such as MP3, AAC, AAO, eAACr, FLAG WMA, WAV, AMR, QGG, DTS, AC3, L.PCM. and MIDI as well as video formats such as, e.g. ? MFEG4, ⁇ .263, M.264, DivX, XviD, WMV, AVI, 3GO, Flash Video
  • audio formats such as MP3, AAC, AAO, eAACr, FLAG WMA, WAV, AMR, QGG, DTS, AC3, L.PCM. and MIDI
  • video formats such as, e.g. ? MFEG4, ⁇ .263, M.264, DivX, XviD, WMV, AVI, 3GO, Flash Video
  • a loop s b- process 716 is operative to store the segment h:itrate(s) for each interleaved segment (block 718). Thereafter, when the client delivery session is terminated (block 720, 724), suitable data updating procedures may take place relative to the delivery statistics of video airfki/subtitle assets (block 728) or the muxed set bitrate(s) and subtitle selection (block 726), In one implementation, the foregoing sub-processes 710, 716 and subsequent updating procedures may take place relative to each content delivery node of a CON over a respective period of time, which nodes may be configured to provide (block 728) the delivery statistics to a management node such as DNMC system 102 shown in FIG, I , for example.
  • a management node such as DNMC system 102 shown in FIG, I , for example.
  • transmission of delivery statistics between the DNMC system and CON nodes may be effectuated by means of request/response query mechanisms, push mechanisms, pull mechanisms, in additio being triggered based on timers, user/network settings, and other conditional ities,
  • FIG. 8 is a flowchart an example process 800 with blocks relative to various steps and acts that may take place for modulating pre-provisioiring policies of content based on delivery rules according to an embodiment of the present patent application.
  • a loop sub- process 805 may be effectuated with respect to each content delivery node, which, is initiated af a decision block.
  • the delivery node 803 by determining whether a particular content is estimated or other determined to be popular in a service location of the delivery node, if the content is not determined to be popular in a delivery node's area, that delivery node may be skipped (block 804) and the content's popularity relative to a next delivery node may be analy zed. f the content is determined to be popular with respect to a specific content delivery node, appropriate historical video/aoclio/subtitle delivery statistics and associated asset delivery roles for that node may be obtained and/or utilized (block 806), The particular popular content ' s manifest may be analyzed relative to the ABR package assets available, including the corresponding adaptation sets if appiicabie (block 80S).
  • a loop sub-process 810 is effectuated that commences with a. determination as to whether the ABR. asset (and its adaptation set(s)) meets the corresponding delivery rnJe(s) based on the distribution statistics (decision block 814), If so, that ABR. asset (and its adaptation. set(s)) may be identified for pre-provisioning (block 816) with respect to the specific content delivery node identified in decision block 803. Otherwise, the ABR asset is skipped and the next asset in the ABR. package of the particular popular content is analyzed (block 818).
  • FIG. 9 is a flowchart of an example process 900 with blocks relative to various steps and acts that may take place for updating historical delivery trends and/or network conditions data for one or more content delivery nodes of a CDN according to an embodiment of the present patent application.
  • a timer-related determination may be made as to whether it is appropriate to update trend/conditions statistics in the CDN (decision block 904). If so, a complete list of content delivery nodes may be obtained (e.g., by the O MC system) .from a national origin server of the CDN (block 908).
  • a loo sub-process 910 may be effectuated for obtaining video/aitdio sitbtitle delivery statistics and updating a database record or storage associated with the node based thereon, (block 912). Additionally or alternatively, appropriate network conditions may also be monitored on a node-by ⁇ node basis, if the timer-related (or, other trigger-based) determination indicates that it is not appropriate to update the stat istics yet the updating process 900 may wait for a pre-conflgured amount of time to elapse (block. 906).
  • timing determination block 904 a single timing determination is illustrated (i.e., decision block 904) with respect updating the statistics for all D nodes, multiple timing determinations and/or other trigger-based thresholds may also be implemented for initiating separate updating processes corresponding to the respective CDN nodes.
  • edge server nodes of the CDN may serve one or many individual segment files of a particular ABR asset package to a client and when the client requests content from a second edge server (e.g.. due to redirection), both the first edge server and the second edge server may end up holding an incomplete collection of the segment files referenced by the associated mamtest.
  • edge servers When edge servers do not hold a copy of a requested segment file, they may be required to retrieve or pull the requested segment file from a parent node such as a regional server. While this generally causes the parent node to hold a complete cop of the requested segment files, there is no guarantee that a compiete segment collection referenced in a manifest will reside on She parent node for ail advertised bitrates. Accordingly, fragmentation may occur when clients request some, but not all of the segment files for a manifest from the same edge server resulting in an incomplete copy of the entire manifest segment collection. Clients changing bitrates within an adaptive streaming architecture can compound this fragmentation on an edge server even further.
  • embodiments of the present disclosure described below provide an optimised defragmentafion system and method wherein the fragmented content at edge .server nodes is replenished based on historical delivery trends and/or network conditions associated with the nodes. Furthermore, the disclosed embodiments may be controlled, to occur at times of low network utilization such that conditions of bandwidth congestion may be avoided or otherwise ameliorated.
  • FIGS. 1 OA- I OC depict flowcharts with blocks relative to various step and acts that may take place for optimizing defragmentatlon of media segments in a content delivery node of according to one or more embodiments of the present patent; application.
  • FIG. IOC an embodiment of optimized defragmentation process l OOC may take place at a CDN node with respect to a particular content.
  • block 1 OKO At block 1 OKO.
  • the CD node is configured to analyze the content's manifest as well as the ABR segment files that are stored in a database cache of the CDN node in order to determine if any segment files referenced by/in the manifest are absent thereat, if so, one or more A asset delivery rides associated with the CON node may be applied to determine -representations or adaptation sets of the absent/missing segment files that satisfy the delivery rules (block 1082). Responsive thereto, only compliant representations/adaptation seta of the absent segments are pulled or retrieved .from another CON node (e.g., another edge server node or a parent node such as a regional server node), which are then stored locally in the database cache of the CD node (block 1084).
  • another CON node e.g., another edge server node or a parent node such as a regional server node
  • FIG. 10A depicts a flowchart of an optimized defragmentation proces 10 0 ⁇ in further detail, which may be performed by a child node or edge node such as edge server nodes 106- . 1 08- 1 of CD 100. Similar to the flowcharts described hereinabove, blocks enclosing a portion of steps of the process indicate a loop sub- process wherein the enclosed, operations may be iteratively/repeatedly performed until the list of entities for which the loop is effectuated is exhausted.
  • each node within the CDN may determine at various time intervals whether a current time falls within a period that is characterized by the node's low network utilization (e.g., during late night), which may be configured as the node's Minimum Usage T imeframe parameter. odes that do not provide self-calculating timeframes may send a request to a parent node, a redirector server, or another server to determine its Minimum Usage T imeframe.
  • the edge node checks a de fragmentation wakeup tinier, which causes the edge node to determine at decision block 1004 whether the current time is within the period of minimum usage of network resources within the CDN.
  • the edge node may self-calculate the period of minimum usage of network resources if able, and. if not able, the edge node receives information identifying the period of minimum usage of network resources within the CD from its parent node, the redirector server, or another server in the CDN . If the current time is not within the period of minimum usage of network resources withi the CDN, the process moves to block. 1008 where depigmentation is skipped for that particular edge node, with control returning to block 1002. When it is determined at block 1004 that the current time is within the period of minimum usage of network resources within the CDN, the process moves to block. 1006 where the edge node retrieves all content popularity timeframe windows, e.g., from the redirector server operating in conjunction with a popularity policy management server.
  • Process 1 000A thereafter enters a loop sub-process 1 10 that encompasses a collection of actions performed for each, adaptive streamin manifest associated with segment files stored in the edge node's local cache memory.
  • the edge node determines whether the current time is within the popularity time window threshold for a particular manifest/package being analyzed, ft should be appreciated that such a determination may be made in order to ensure the complete piece of electronic content is available (and potentially within a licensing window) when clients are likely t request the segment files. If the current time is not within the popularity time windo threshold, the process moves to block 1014 where the edge node skips that particular manifest/package.
  • the process moves to block 1016 where the edge node reads the master manifest flie(s) associated therewith, The process thereafter enters another loop sub-process 1018 that encompasses a. series of actions performed for each child manifest in the master manifest
  • the edge node reads the URLs of the segment files from a particular child manifest (such as, e.g., the URLs illustrated, in MPD model 300 shown in FIG, 3).
  • the URLs that refer to ABR asset segments complying with applicable delivery rules yet another loop sob-process 1026 is entered for determining if the respective asset segments exist in the edge node's cache memory (decision block 1028). if so, the edge node skips the URL for that segment file at block 1030 and moves to the next segment file.
  • This sub-loop process continues for each of the segment files referenced by the child manifest, and when a referenced segment file is determined to he absent from the edge node's local cache memory, the process moves to block 1032 where the edge node utilizes the URL of the absent: segment file to pull the absent segment f le from another CON node such as the edge node ' s parent node or another edge node. Subsequently, the edge node caches the segment file pulled from the other CDN node. When all the loops have been performed for each adaptive .streaming manifest in cache, for each child manifest in the master manifest, and for each URL in each child manifest, all segment files should exist in the edge node's local cache memory.
  • FIG 10 depicts a. .flowchart of another embodiment of an optimized, defragmentation process 1000B in further detail, which may be performed by a content delivery node of the CDN. Similar to the flowcharts described hereinabove, blocks enclosing a portion of steps of the process indicate a loop sub-process wherein the enclosed actions may be iteratively/repeatedly performed until the list of entities for which the loop is effectuated is exhausted.
  • asset defragmentation is commenced, in the CDN, e.g., responsive to a defragmentation timer mechanism or some other trigger-based mechanism (block 1052).
  • a loop sub-process 1054 may be effectuated with respect to each ABR package within the content delivery node, which is initiated at a decision block J 056 by determining whether a particular ABR package is within a popularity time window or threshold. If not, the particular ABR package is skipped, and a next AB package is analyzed (block 1058). if the ABR package is within the popularity time window, the manifest of the ABR package is analyzed (block 1060), whereupon a loop sub-process 1062 is entered that is performed, for each asset component of the ABR package. A determination is made as to whether the asset contains fragmented segments (block 1064).
  • the optimized defragmentation process 1000B is completed (block 1074).
  • the historical trend-based delivery roles and/or network condition-based delivery rules may be provided by the DNMC system to each CDN node as it commences its defragmentation process relative to the contents cached thereat.
  • each CDN node may also be configured to maintain its own trends (at least for a short term), there would be no need to retrieve the trend data from a management node in such a scenario, in a still further variation, locally maintained short-term based trends as well as Jong-term trends maintained at the D.NMC system may be applied, for purposes of determining which of the missing segments should be pulled from another node in the CDN. Additionally, the foregoing optimized defragmentation embodiments may be practiced with respect to parent nodes its well as child nodes of a CDN .
  • FIG. 1 1 depicts a block diagram of a computer-implemented data processing system adapted to operate as a content delivery node 1.100 that may be configured to effectuate optimized content defragmentation according to an embodiment of the present patent application.
  • the functions of the CDN node 1 100 may be controlled, for example, by one or more processors 1 1.02 executing computer program instructions stored on a memory 1 1 10 including a persistent module l l ! l .
  • a defragmentation waketip timer 1 1.04 provides the current time to a comparison, unit 1 1. 12, which. compares the current time with a Minimum Usage Timeframe parameter 1 106.
  • the comparison unit 1 12 further compares the current time with the manifest popularity time window/threshold 1. 108. If the current time is within the manifest popularity time window 1 threshold, the comparison unit 1 J 12 notifies a segment file reader 1 1 14 that it is appropriate to start the defragmentation process.
  • the segment file reader 1 1 14 is operative to read the A BR asset segment files from a local data base cache 1 1 1 8, A U RL reader 1 1 16 is operative to read the URLs of each of the segment files referenced by the associated, manifest and provide them to an absent file identifier 1 1 22.
  • the absent file identifier 1 1 22 is operative to identity one or more referenced segment files that comply with applicable ABR asset delivery rules 1 1.2 but are absent from the local cache memory 1 1 18.
  • URL information relative to the compliant missing segments files is provided to a communication unit 1 124 that is operative to send one or more requests for the segment files by sending the requested URL(s) to another CDN node I 1 6, which may he, for example, a parent node.
  • the other CDN node 1 126 returns the requested segment file ⁇ s) to the communication unit J 124, which sends them to the cache 1 1 18 for storage.
  • the segment file reader 1 1 14 nd file identifier 1 1 22 are operative to determine that ail segment files referenced by the associated manifest document now exist in the cache 1 i 18.
  • the file identifier 1 122 may thereafter notify the communication unit 1 124 that the deiragmentation process is complete, which in turn may notify the other CDN node 1 126 that the dei agmentation process is complete.
  • dashed lines in FIG. 1 1 indicate additional functionality when the CDN node 1 100 is also a parent node.
  • the parent node functionality may involve determining whether all of its child node(s) 1 128 have reported that their deiragmentation process is complete. Once all the child node(s) have reported that their deiragmentation is complete, the comparison unit 1 1 12 may continue by determining whether the current time Is within the manifest popularity time window threshold 1 1 8. If so, the de.tragme.ntarion proces for the parent node may be initiated.
  • FIG. 12 depicts an example content delivery network 1200 wherein fragmented content is replenished, at a content delivery node (e.g., edge server nodes 106-N, 108-1 ) based on historical delivery trends according to an embodiment of the present, patent application.
  • a content delivery node e.g., edge server nodes 106-N, 108-1
  • CDN 1200 is identical to CDN 100 show n in FIG, 1 except that a CDN redirecior node 1202 is shown to interface with D.
  • MC system 1 12 lor receiv ing suitable deiivery rules as discussed hereinabove.
  • the CDN redireetor node 1202 may also receive content popularity windows from a.
  • an edge server node is operative to apply the deliver rules in order to identify a. subset of representations of the missing segments of a fragmented content file.
  • the Galveston edge server 106-N is operative to apply suitable delivery roles based on its AB asset delivery pattern 1 16, whereb only certain representations of the missing segments that satisfy the rules may be retrieved from another CDN node, as shown by a missing segments identifier 1 208 that comprises a video asset component 1210-1 (for pulling only ?20p and lOSOp representations of the content encoded at, for example, 3/5 Mbs and 10 1.2Mbs, respectively), an audio asset component 1210-2 (for pulling only English 2.0 and Spanish 2.0 representations), and a subtitle asset component 1 210-3 (for pulling only English language subtitles of the content).
  • a missing segments identifier 1 208 that comprises a video asset component 1210-1 (for pulling only ?20p and lOSOp representations of the content encoded at, for example, 3/5 Mbs and 10 1.2Mbs, respectively), an audio asset component 1210-2 (for pulling only English 2.0 and Spanish 2.0 representations), and a subtitle asset component 1 210-3 (for pulling
  • Reference numeral 1212 refers to the Ashv ilie server's missing segments identifier that illustrates a video asset component 1214-1 (for pulling only 720p and 480p representations of the content encoded at, for example, 3/5 Mbs and 2/1 Mbs, respectively), an audio asset component 1214-2 (for pulling only English 2.0 representations), and a subtitle asset component 1214-3 (for pulling only English language subtitles of the content).
  • the defragmentation system is aware of which files are already transferred to the edge of the network and only transfers those sections of the file which are additionally needed. Similarly, should an edge node decide to delete files due to memory constraints, the system will be aware of which fragments of the file are no longer needed (for example, due to the ianguage(s) or bitrate(s) being no longer required).
  • the embodiments of the present disclosure can be advantageously implemented that allow CDNs to function more efficiently, by making available what is needed where it is needed, before it is needed, in addition to savings in operator bandwidth costs, the disclosed embodiments also provide higher QoS levels with respect to end user e perience.
  • the computer program instruction may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block, diagrams and/or flowchart block or blocks.
  • tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, & random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EFROM or Flash memory) circuit, a portable compact, disc readonly memory (CD-ROM), and a portable digital video disc read-only memory (DVD/Blis-ray).
  • RAM random access memory
  • ROM read-only memory
  • EFROM or Flash memory erasable programmable read-only memory
  • CD-ROM compact, disc readonly memory
  • DVD/Blis-ray portable digital video disc read-only memory
  • the computer program instructions may also be loaded onto or otherwise downloaded to a computer and/or other programmable data processing apparaius to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
  • embodiments of the present invention may be embodied in hardware and/or in software (including firmware, resident: software, micro-code, etc.) thai runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module” or variants thereof
  • the functions/acts described in the blocks may occur out of the order shown in the flowcharts.
  • two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the ftmctionality/acts involved.
  • the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A system and method for pre-provisioning ABR assets m a content delivery network (CDN), In an example, historical delivery patterns of one or more ABR assets downloaded at respective content delivery nodes of the CDN are monitored. For each. content delivery node, one or more delivery rules may be determined based on statistical distributions of the ABR assets delivered over a period of" time. When a particular content is determined to become popular at a specific content delivery node, a pre-provisloning policy may he modulated such that only certain representations or adaptation sets of the particular content's assets that pass the delivery rules are pre- provisioned for the specific content delivery node.

Description

SYSTEM AM) METHOD FOR PKE-PROVISIOMNG ADAPTIVE BiTRATE {A BR) ASSETS IN A CONTENT DELIVERY NETWORK REFERENCE TO RELATED APPLICATIONS)
This application discloses subject matter that is related to the subject matter of the following U.S. patent appJiearton(s): (i) "BANDWIDTH POLICY MANAGEMENT IN A SELF-CORRECTED CONTENT DELIVERY NETWORK" (Ericsson Ref. No.: P40 Q5-US 1), Application No. : 1 3/935381 , filed July 3, 201 3, in the name(s) of Christopher Phillips et ai., (ii) "SYSTEM AND METHOD FOR DELIVERING CONTENT IN A CONTENT DELIVERY NETWORK*5 (Ericsson Ref No.: P4O2?0-US i )i Application No.: 13/935326, filed July 3, 2013, in the name(s) of Christopher Phillips ei al, (hi) "DEFRAGMENTATION OF ADAPTIVE STREAMING SEGMENT FILES IN A CONTENT DELIVERY NETWORK" (Ericsson Ref. No.: P40285-1JS2), Application No.: 1 3/923,005, filed June 20. 2013, in the tiameis) of Christopher Phillips ei al, and (iv) "SYSTEM AND METHOD FOR OPTlMIZfN DEFRAGMENTATION OF CONTENT IN A CONTENT DELIVERY NETWORK" (Ericsson Ref. No. P41865-US 1 ), Appl ication No. : 14/069,565 filed November l , 2013, in the name(s) of Christopher Phillips et al, each of w ich is hereby incorporated by reference In its entirety.
FIELD OF THE DISCLOSURE
The present disclosure generally relates to communication networks. More particularly, and not by way of any limitation, the present disclosure is directed to systems and methods for optimizing delivery of adaptive b if rate (ABR) assets in a content delivery network,
BACKGROUND
A content delivery network or CDN (sometimes also referred to as a content distribution network) typically distributes content in a "'best effort" fashion across the nodes throughout a. network using technologies such as adaptive Mtrate (ABR) streaming. If is known, however, that ABR can result i unfair and sometimes incongruous apportionment of bandwidth in a network based upon the order multiple clients begin to use a network resource. Since the bandwidth usage is typically determined by a client requesting the content, and because the ABR clients can be opportunistic, they may become greedy. For instance, a client device that has a low resolution (e.g., a cellular phone) may end np consuming a disproportionate amount of the bandwidth when compared to the bandwidth required for a higher resolution device such as, e.g., a high-definition TV (HDTV), issues pertaining to such misappropriation of bandwidth and/or uneven distribution of bandwidth resources in a C-DN are expected to become evert more pronounced when, higher bandwidt options become available.
Reiated!y; when clients access streaming content via a CDN, there may exist conditions at the content delivery nodes (i.e., serving nodes) of the CDN that result in fragmented content (e.g.* incomplete copies of the content) locally stored at the content deliver nodes. SUMMARY
The present patent disclosure is broadly directed to systems, methods, devices, apparatuses and associated computer-readable media for pre-prwisiotiing A.BR assets in a CDN based on historical delivery trends and utilizing the historical delivery trends in efficiently managing the retrieval of content segments thai may be missing from the serving nodes' database caches.
In one aspect, an embodiment of a method operative at a management node associated with a CDN is disclosed. The claimed embodiment comprises, inter alia., obtaining historical deliver patterns of one or more ABR assets associated with one or more content delivery nodes of the CDN. For each content delivery node, one or more delivery rules may be determined based, on statistical distributions of the ABR assets delivered over a period of time. When a. particular content is determined to become popular at a specific content delivery node, a pre-provisioiiing policy ma be modulated such that only certain representations or adaptation sets of the particular content's assets are pre-provisioned for the specific content delivery node based on the one or more delivery rules established for the specific content delivery node. in. a further embodiment of a. method, historical network conditions associated with one or more content delivery nodes of the CDN for delivery of one or more ABR assets may be monitored. Based on the historical network conditions, one or more delivery rules may be determined for each content delivery node. Additionally or alternatively, when a particular content is determined to become popular at a specific content delivery node, the CON's pre-provisioning policies may be modulated based on the delivery rules such that only certain representations or adaptation sets of the particular content's assets that pass or otherwise satisfy the delivery rules are pre-provisione for delivery at the specific content delivery node.
in another embodiment, a management node operative in association with a CON is disclosed. The claimed embodiment may be configured as a computer* implemented data processing system and comprises, inter alia, one or more processors and a database for storing historical delivery patterns of one or more ABR assets downloaded at the CDN's delivery nodes. A delivery node management and control (DNMC) module may be embodied in a persistent memory coupled to the one or more processors, the DNMC module including program instructions executable by the one or more processors and configured to determine, for each content delivery node, one or more delivery rules based on statistical distributions of the ABR assets delivered over a period of time. Optionally, a content pre-provisioning control module embodied in a persistent memory may be provided, which is coupled to the one or more processors, the content pre-provisioning control module having program instructions executable by the one or more processors and configured to: when a particular content is determined to become popular at a specific content delivery node, apply the one or more delivery rules corresponding to the specific content delivery node against the particular content; and select or otherwise identify only certain representations of the particular content's assets for pre-populating delivery at the specific content delivery node based on the application of the delivery rules established for the specific content delivery node. In a still further embodiment, a management node operative with the CO may include a database for storing historical network conditions associated with one or more content; delivery-- nodes of the CDN, wherein a DNMC module embodied in the persistent memory may comprise program instructions executable by the one or more processors and configured to determine, for each content delivery node, one or more delivery rules based on the historical network conditions monitored for the ABR assets delivered over a period of time. When a particular content is determined to become popular at a specific content delivery node, the network condition-based delivery rules may be applied to select or otherwise identify only certain representations of- the particular content's assets that pass the delivery rules for pre-populating relative to the specific content delivery node.
in another aspect, an embodiment of a method operative at a content delivery node for optimizing d.efra.gmentation of content is disclosed. The claimed embodiment comprises, inter alia, analyzing a manifest available to the content delivery node with, respect: to a particular content as well as segment files stored in a database cache of the content delivery node to determine if any segment files referenced by the manifest are absent from the database cache. If so, one or more delivery rules associated with the content delivery node may be applied to determine representations of the absent segment files that satisfy the one or more delivery roles, in one variation, the delivery rules may be established based on historical delivery patterns of one or more ABK. assets downloaded at the content delivery node, in another variation, the delivery rules may be established based on historical network conditions of the content delivery node. After determining the compliant representations of the absent segment flies, they niay be pulled from, another content delivery node of the CDN (e.g., a parent node or a edge server node),
in further embodiment, a content delivery node configured to optimize content defragmeotation is disclosed. The claimed content delivery node may be embodied as a computer-implemented data processing system comprising, inter alia, one or more processors and a database cache for storing segment files of content streamed to the content delivery node. A content defraginentation module embodied in a persistent memor is coupled to the one or more processors, wherein the content detragmentation module comprises program instructions executable by the one or more processors and configured to; analyze a manifest, available to the content delivery node with respect to a particular content: and segment files stored in the database cache in order to determine if any segment files referenced by the manifest are absent from the database: if so, apply one or more delivery rules associated with the content deiiveiy node to determine representations of the absent segment files that satisfy the one or more delivery rules; and pull from another content deiiveiy node of the CDN onl the representations of the absent segment files satisfying the one or more delivery rules and store the pulled representations in the database cache.
in still further aspects, embodiments of a. non-transitory computer-readable medium containing instructions stored thereon are disclosed, for performing one or more embodiments of the methods set forth above. Additional features of the various embodiments are as recited in the dependent claims.
Advantages of the present invention include, but not limited, to, providing a finer-grain control over pre-provisioning of ABR assets in a CDN, thereby resulting in more efficient usage of network resources. Not only are the operator bandwidth costs minimised (since the network operators no longer have to transmit assets, i.e.. files, that are unlikely to be used, regardless of how popular a particular content is) but a higher quality of service may also be provided to the end users. Additionally, by optimizing content depigmentation at a CD 's delivery nodes on the basis of asset trend-based. delivery rules and/or network condition-based delivery rules, further efficiencies may be gained. Additional benefits and advantages of the embodiments will be apparent in view of the following description and accompanying Figures.
BRIEF DESCRIPTION OF THE DRA WINGS
.Embodiments of the present disclosure are illustrated by way of example, and not by way of limitation, in the Figures of the accompanying drawings in which like references indicate similar elements. It should be noted that different references to "an" or "one'' embodiment m this disclosure are not necessarily to the same embodiment, and such references may mean at least one. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
The accompanying drawings are incorporated into and form a part of the specification to illustrate one or more exemplary embodiments of the present disclosure. Various advantages and features of the disclosure will, be understood from the following Detailed Description taken in connection with the appended claims and with reference to the attached drawing Figures in which: FIG. 1 depicts an example contest delivery network wherein one or more embodiments of the present patent application may be practiced;
FIG. 2 depicts an example manifest including references to one or more content representations or adaptations sets relati ve to video, audio and subtitle components of a particular content;
FIG. 3 depicts an example Media Presentation Description (MFD) model of a manifest illustrative of further details relative to different media segments of a partic a Jar content;
FIG. 4 depicts an example content delivery network wherein content is pre- provisioned based on historical de!ivery trends according to an embodiment of the present pate t application;
FIGS. 5A and SB depict flowcharts with blocks relative to various steps and acts that may take place according to one or more embodiments of the present patent application;
FIG. 6 depicts a block diagram of computer system adapted to operate as a management node according to an embodiment of the present patent application;
FIG. 7 is a flowchart with blocks relative to various steps and acts thai may take place for monitoring historical deiivery trends of ABR assets according to an embodiment of the present patent application;
FIG. 8 is a flowchart ith blocks relative to various steps and acts that may take place for pre-provisioning of content based on deiivery rules according to an embodiment of the present patent application;
FIG. 9 is a flowchart with blocks relative to various steps and acts that may take place for updating historical deiivery trend data for one or more content delivery nodes of a CD according to an embodiment of the present patent application;
FIGS. 1 OA-I OC depict flowcharts with blocks relative to various steps and acts that may take place for depig en tion of media segments in a content delivery node of according to one or more embodiments of the present patent application;
FIG. 1 1 depicts block diagram of a computer system adapted to operate as a conten delivery node that may be configured to effectuate optimized content defragmentation according to an embodiment of the present patent application; and FI.G. 12 depicts an example content delivery network wherein fragmented content is replenished at a content delivery node based on historical delivery trends according to an embodiment of the present patent application, DETAILED DESCRIPTION OF THE DRAWINGS
In the following description, numerous specific details are set forth with respect to one or more embodiments of the present patent disclosure. However, it should be understood that one or more embodiments may be practiced without such specific details. In other Instances, well-known circuits, subsystems, components, structures and techniques have not been shown in detail in order not to obscure the understanding of the example embodiments. Accordingly, ft will be appreciated by one skilled in the art that the embodiments of the present disclosure may be practiced without such specific components-based details. It should be further recognized that, those of ordinary skill in the art, with the aid of the Detailed Description set forth herein and taking reference to the accompanying drawings, will be able to make and use one or more embodiments without undue experimentation.
Additionally, terras such as "coupled" and "connected," along with their derivatives, may be used in the following description, claims, or both. It should be understood that these terms are not necessarily intended as synonyms for each other, "Coupled" may be used to indicate that two or more elements, which may or way not be i direct physical or electrical contact with each other, co-operate or interac with each other. "Connected" may be used to indicate the establishment of communication, i.e., a communicative relationship, between two or more elements that are coupled with each other. Further, in one or more example embodiments set forth herein, generally speaking, an element, component or module may be configured to perform a function if the element is capable of performing or oiherwise structurally arranged to perform that function.
As used herein, a network element or node may be comprised of one or more pieces of service network equipment, including hardware and software that communicatively Interconnects other equipment on a network (e.g., other network elements, end stations, etc.), and is adapted to host one or more applications or services with respect: to a plurality of subscribers. Some network elements may comprise "multtpie services network elements" that provide support for multiple network-based functions (e.g., content popularity policy management, session control, QoS policy enforcement, bandwidth scheduling management, subscriber/device policy and profile management, content provider priority policy management, streaming policy management, and the like), in addition to providing support for multiple application services (e.g., data and multimedia applications). Subscriber end stations or client; devices may comprise any device configured to execute, inter alia, at least one streaming client application (e.g., an A.8 streaming client application) for receivin content from a. streaming server or content provider. Accordingly, such client devices ma include set-top boxes, PVR/DVRs. workstations, laptops, netbooks, palm tops, mobile phones, smartphones, multimedia phones. Voice Over Internet Protocol (VOIP) phones, mobile/wireless user equipment high definition TV terminals, portable media players, location-aware subscriber equipment, gaming systems or consoles (such as the Wii®, f lay Station 3®, Xbox 360 ), etc., that may access or consume content/services provided over a content delivery network in accordance with one or more embodiments set forth herein. Further, the client devices may also access or consume content/services provided over broadcast networks (e.g., cable and satellite networks) as well as a packet-switched wide area public network such as the Internet via suitable service provider access networks. In a still further variation, the client devices or subscriber end stations may also access or consume content/services provided on virtual private networks (VPNs) overlaid on (e.g., tunneled through) the internet.
One o more embodiments of the present patent disclosure may be implemented using different combinations of software, firmware, and/or hardware.. Thus, one or more of the technique and blocks shown in the Figures (e.g., flowcharts) may be implemented using code and data stored and executed on one or more electronic devices or nodes (e.g., a subscriber client device or end station, a network element, etc.). Such electronic devices ma store and communicate (internally and/or with other electronic devices over a network) code and data using computer-readable media, such as non-transitory computer-readable storage media (e.g., magnetic disks, optica! disks, random access memory, read-only memory, flash memory devices, phase-change memory, etc.), transitory computer-readable transmission media (e.g., electrical, optical, acoustical or other form of propagated signals - such as carrier waves, infrared signals, digital signals), etc. in addition, such network elements may typically include a set of one or more processors coupled to one or more other components, such as one or more storage devices (e.g., non-transitory machine-readable storage media) as wel! as storage daiabase(s), user input/output devices (e.g., a keyboard, a touch screen, a pointing device, and/or a display), and network connections for effectuating signaling and/or hearer media transmission. The coupling of the set of processors and other components may be typically through one or more buses and bridges (also termed as bus controllers), arranged in any known (e.g., symmetric/shared multiprocessing) or heretofore unknown architectures. Thus, the storage device or component of a given. electron ie device or network element may be configured to store code and/or data for execution on one or more processors of that element, node or electronic device for purposes of implementing one or more techniques of the present disclosure,
Referring now to the drawings and more particularly to FIG. 1 , depicted therein is an example content delivery network or CDN 100 wherein one or more embodiments of the present paten application may be practiced. For purposes of the present patent application, CDN 100 may comprise an overlay network architected for high- performance streaming of a variety of digital assets or program assets as well as services (hereinafter referred to as "media content") to subscribers using one or more internet-based infrastructures, private/dedicated infrastructures or a combination. thereof In general, the terms "media content" or "content file" (or, simply "content") as used in reference to at least some embodiments of the present patent disclosure may include streaming digital assets and program assets such as any type of audio/video content or program segment, live or static (e.g., recorded over-the-air free network television (TV) shows or programs, pay TV broadcast programs via cable networks or satellite networks, ftee-to-atr satellite TV shows, S.PTV programs, etc.), Over-The-Top (QTT) and video-on-demand (VQD) or rnovfc-on-demaiid. (MOD) shows or programs, time-shifted TV (TSTV) content, as well as other content asseis provided b content publishers, owners or providers, including but not limited to software files, executable computer code or programs, online electronic games, internet radio shows programs, entertainment programs, educational programs, movies, music video programs, and the like, that may be delivered using any known or heretofore unknown adaptive streaming technologies. Further, various programs or content files provided via streaming may be arranged as a collection or assembly of channels that are specific to different subscribers, wherein different channels may comprise media content from one or more content sources or originators.
B way of illustration, content may be delivered via CDN 1.00 using adaptive bit rate (A BR) streaming technologies and may be encoded to support known implementations such as Microsoft® SilveiTight® Smooth Streaming, HTTP streamin (for instance. Dynamic Adaptive Streaming over HTTP or DASH, HTTP Live Streaming or MLS, HTTP Dynamic Streaming or HDS, etc.), leeeasi and so on. In general, the overlay architecture of CDN 100 may include a multi-level, hi.erarehsealty- organized interconnected assembly of network servers for providing media pathways or "pipes-' from one or more- central distribution nodes to one or more levels of regional distribution nodes that are connected to one or more local edge servers configured to serve a plurality of end users or subscribers in respective serving location areas. It should therefore be appreciated that a regional distributio node may operate as a parent node to one or more child edge servers and a central or national distribution node may in turn operate as a parent node to one or more child regional distribution nodes. Further, in addition to such, "distribution servers" (somet imes also referred to as "content delivery nodes"), CDN 1 0 way also include and/or mteroperate with various network element configured to effectuate request redirection or rerouting mechanisms as well as related back, office systems such as subscriber management systems, bandwidth scheduling systems, account/billing systems and the like, that may be deployed as part of a streaming network back office (not specifically shown).
As illustrated, CDN 1.00 is exemplified with a New York-based national server 102 coupled to regional distribution servers 104-1 to 104-3 based in San Antonio (TX), Jackson (MS) and Charlotte (NC), respectively. Regional distribution server 104-1 is adapted to serve a plurality of edge servers 106- 1. to 106-N, exemplified by edge server 506-1 in Corpus Christ! (TX) and edge server 106-N in Galveston (TX), Likewise, regional distribution server 104-2 is adapted to serve edge servers 1 1.0- i (in Vicksburg, MS) to 1 10- (in Biloxi, MS) and regional distribution server 104-3 is adapted to server edge servers 108- 1 (in Ashville, NC) to 108-M fin Fayetteville, NC).
Each local edge server is operable to serve a plurality of subscribers in a serving area for delivering content to associated end stations or client devices, as illustrated by an example client device or user equipment (UB) device 105 that may for consume or access streaming content delivered via CDN 100 in an type or member of access technologies including broadband access via wired and/or wireless (radio) communications. For purposes of the present paten t application, ie terms "subscriber end stationw and ''client device" may be used synonymously and may comprise any UE device or appliance that in one implementation not only receives digital content assets for live viewing, playback and/or decoding t ie content, but also operates as a command console or terminal that can accept user inputs, commands or requests to interact with a network element disposed in CD 100 and/or associated streaming server systems for requesting content that may be selectively rendered at an internal displa screen and/or one or more external audiovisual (A/V) devices (not specifically shows). As such, the example client device 105 may include one or more streaming client modules (e.g., an A.BR streaming client) and associated decoding functionalities depending on the streaming technologies implemented, each operating in association with a processor module and suitable memory and program code (not shown) for effectuating acquisition, decoding and rendering of the streamed medi content.
As alluded to previously, CD 1 0 ma be configured to deliver content from live sources and/or static file sources usin adaptive streaming wherein the content may comprise video components, audio track components as well as subtitle language components. Further, the video components of a particular content may be transcoded or otherwise encoded with different bit rates (e.g., multi-rate transcoding) using applicable eneoder(s) (e.g., a particular program content may be transcoded into five video files using variable bit rates, ranging from low to high bit rates (500 Kbs to 12 Mbs, by way of illustration). The particular content's video component is therefore encoded as five different "versions'* or "formats" wherein each bit rate may be referred, to as a. profile or representation. Also, the audio tracks associated with particular content may include different languages and encodings to support multi-lingual programming and different levels/types of audio quality experience. For instance, content may be available in multiple languages (e.g., English, French, Spanish, German, Chinese, etc.), each with several types of audio encoding: single channel (mono), two-channel (stereo), 5.1 surround sound, 7.1 surround sound, 7,2 surround sound, etc. Likewise, regardless of the languages of the main audio track of a content, various language choices for subtitles may also be provided with the content (e.g., English, Spanish, Japanese, Chinese, Korean, French, etc.).
For purposes of the present patent application, video, audio and subtitle components of the content that is distributed through CDN 100 ma be referred to as "ABR assets". As the content is accessed, downloaded or otherwise consumed by the subscribers via the network, of content delivery nodes of CDN 100, different consumption/downloading patterns ma emerge with respect to the A.BR assets. A. delivery node management and control (DNMC) system 1 1 2 may be provided in association with CDN 100 as a management node adapted to monitor historical delivery trends and patterns of the ABR assets as well as network conditions associated with one or more content deliver nodes o CDN 100. As client devices 1 5 access various content via associated content delivery nodes over a configurable period of time, a historical delivery pattern learning and updating process is operative to obtain delivery statistics for each content delivery node on a component-by-component basis, i.e., video, audio or subtitles. In similar fashion, historical network conditions associated with each content deliver node may be obtained over a period, (e.g., download rate distributions, bandwidth utilization and other performance metrics, relative performance comparisons against the performance of other content delivery node and/or predetermined performance thresholds, etc.), which may be utilized by DNMC system or node 1 12 for controlling content distribution through the network.
In certain embodiments, statistics associated with the edge server nodes may be directly provided to DNMC system 1 12, or indirectly via respective regional server nodes, which in turn may provide cumulative or aggregate statistics of the edge server nodes to DNMC system 1 12. By way of illustration, reference numeral i 14-1 refers to a communication pathway for updating and/or otherwise providing delivery trends and other statistics to DNMC system 1 12 by a regional server node {e,g„ San Antoni server 1.04- 1). Likewise, a communication pathway 5 14-2 may be provided for updating and/or otherwise providing delivery trends and other statistics to DNMC system 1 12 by an edge server node (e.g., Galveston server 106-N). Based on the deliver statistics, a node-by-node delivery pattern may be established for each ABR. asset component, which may involve determining statistical distributions, likelihood ranges, percentages, expectation values, etc. For example, an ABR. asset delivery partem 1 16 associated with the Galveston edge server 106-N includes a video component delivery pattern 1 18- 1 that shows a distribution of various video bit rates (sometimes also referred to as citrates) delivered from that server over a certain period of time (e.g., 35% of downloaded content being high- definition, 1 80p video encoded at 8-10 Mbs: 5% of downloaded content bein high defini tion, 720p video encoded at 3-8 Mbs, and. so on). An audio component delivery pattern 1 18-2 associated with the Gal veston edge server 106-N likewise indicates a distribution of various languages and encodings used for ail the audio tracks delivered from that server over a period of time (e.g., 10% of downloaded content being in English with 5.1 surround sound; 50% of downloaded content being in English with 2.0 stereo; and 40% of downloaded content being in Spanish with 2.0 stereo). As to subtitles, corresponding delivery pattern 18-3 associated with the Galveston edge server 106-N shows a distribution wherein 99% of downloaded subtitles being in English and the remaining 1 % of downloaded subtitles being in Spanish.
In comparison, an ABR asset delivery pattern 120 associated with the Ashville edge server 108-1 is illustrated with a different set of video, audio and subtitle distributions. As shown in FIG. ! , the ABR. asset delivery pattern 120 includes a video component delivery pattern 122-1 that exemplifies a distribution of various video bit rates delivered from that server over a certain period of time, with a relatively low percentage (4%) of downloaded content being high definition, I080p video encoded at 8-10 Mbs, for instance. Likewise, an audio component delivery pattern 122-2 associated with the Ashville edge server 108- 1 indicates an audio track language distribution having a significantly lower percentage of Spanish language (e.g.. 2% of downloaded content). A subtitle delivery pattern 120-3 is indicative of a distribution of the subtitle selections downloaded from the Ashville edge server 108-1 over a period of time that is substantially similar to the subtitle delivery pattern 1 1 8-3 associated with the Galveston edge server 106-N.
In accordance with teachings of the present patent application, D MC system 1 1 2 is operative to determine or otherwise establish one or more delivery rules that may be based, on the differential statistical distributions of various ABR asset delivery patterns and/or historical network conditions associated with respective content delivery nodes of CDN 100. Additionally, such delivery rules may be advantageously applied for modulating or otherwise controlling content pre-provisioning techniques (e.g., based on popularity determinations), defragmeotatioo methodologies, push-based content delivery policies, etc. that may be implemented within CDN 100 for purposes of efficient resource utilization, optimized user experience, bandwidth management, and the like, as will be set forth in additional detaii herein below.
FIG. 2 depicts an example AB asset package 200 relative to a particular content (e.g., Movie X) that may be available for distribution throughout a CDN such, as CD 100. wherein the delivery of one or more portions of the ABR asset package may be modulated, or otherwise controlled according to an embodiment of the present patent application. A manifest file 202 (also known as Media Presentation Description or MP.D model in MPEG-DASH standard iSO/i'EC 23009-1) is operative to describe available content components, including references to one or more content representations or adaptations sets relative to video, audio and subiitie components of the particular content. In respect of video asset components, the manifest 202 may describe segment information such as timing,. Universal Resource Locators (URLs) pointing to segments as well as media characteristics such as video -resolution and bit rates, in art embodiment where the manifest 202 is provided as a master manifest, it may include a plurality of child manifests 204-1 to 204-K, each referencing a particular combination of video, audio and subtitle asset components of Movie X. By way of illustration, a vide component portion 206 of the ABR asset package 200 includes media segments encoded at a number of bit rates, each having certain video quality. For example, reference numeral 206-1 refers to high definition i080p media segments encoded at 12Mbs. Likewise, reference numerals 206-2 to 206-9 refer to media segments whose video is encoded at rates all the way down to 450Kbs. An audio component portion 208 of the A.BR asset package 200 includes multiple languages of Movie X, each being encoded for different audio quality experiences. Reference numerals 208-1 to 208-6 refer to six asset components, English 5.1 (surround sound), English 2.0 (basic stereo), Spanish 2.0, French 2.0, Chinese 2.0 and German 2.0, respectively, A subtitles component portion 210 includes a plurality of subtitle language selections provided for Movie X, with English 210- 1 to Russian 210-9 being illustrative. FIG. 3 depicts an. example Media Presentation Description model of a manifest, e.g.. MFD 300 that is illustrative of further details relative to different -media segments of a particular content . A plurali ty of arbitrarily spliced content portions 302- 1 to 302- 3 describe the spliced portions' respective timing and base URL parameters, each including one or more adaptation sets for different asset components. As illustrated, reference numerals 304-1 and 304-2 respectively refer to a video adaptation set and an audio adaptation set of segment 302-2, The video adaptation set 304 -1. in turn includes two representations 306- ί and. 306-2, eac having respective hit rates, display resolutions, etc, in. addition to the segment information 310. By way of further illustration, segment information 310 includes an initialization segment 312 as well as URLs to a plurality of media segments 14- 1 to 14-L, each segment having a suitable timing parameter. Those skilled in the art should recognize that the ABR asset package 200 shown, in FIG. 2 may he described in a suitable MFD model representation similar to MPD 300 shown in FIG. 3 in a particular implementation that is compliant with the MPEG-DA SH standard .
FIG. 4 depicts an example content delivery network 400 wherein, content may be pre-provisioned based on historical delivery trends according to an. embodiment of the present patent application. For purposes of illustration, CDN 400 is identical to CON 1 0 shown in FiG. 1. excep that a popularity policy management system 402 is provided for determining or otherwise estimating or predicting where a -particular content might become popular. As described, in the commonly assigned patent applications (i) "BANDWIDTH POLICY MANAGEMENT IN A SELF- CORRECTED CONTENT DELIVERY NETWORK" (Ericsson Ref. No, : P4O905- USl), Application No.: 13/935,381 , tiled July 3, 2013, and (ii) "SYSTEM AND METHOD FOR DELIVERING CONTENT IN A CONTENT DELIVERY NETWORK" (Ericsson Ref No.; P40270-US1), Application No,: 13/935,326, filed July 3, 2013, incorporated by reference hereinabove, the popularity policy management system 402 is operative to estimate or determine a particular content's popularity by location and subscriber demograph ics based on a -plurality of information sources, e.g., search trend data relative to a particular content to be distributed in a geographical region serviced by CDN 400 (for instance, internet search engine trend, data using search engines offered by Google®, Bingif;, Yahooit>, and the like, as well as social media search trend data, e.g., searches on Facebook®, Twitter®, l.nstagram®, Pinterest®, and the like.), in addition to trends relatin to content/movie details, plot keyword search data, marketing data (e.g., box office revenue data, stored media (e.g., Biu-Ray, DVD, HD, and CD discs) sales data, and related content sales data (collectively, ''revenue information"). Further, the popularity policy management system 402 may foe configured to interface with a content policy management node (not explicitly shown) for receiving applicable licensing information an/or content-based priority levels and weights. Upon determining popularity estimations for a particular content, the popularity policy management system 402 is operative to provide pre- provisioning and distribution policies to a central distributio node and/or regional server nodes, as exemplified by a communication path 406. Additional details regarding the establishment of content-specific pre- rovisioning and distribution policies may be .found in one or more of the foregoing commonly assigned patent applications, referenced hereinabove.
Further, DNMC system 1.1.2 is operative to provide one or more delivery rules established or otherwise determined for the respective content delivery nodes (e.g., regional server nodes and/or edge server nodes) based on the nodes' ABR. asset delivery/distribution patterns. In one embodiment, DNMC system 1 12 is further operative to apply such delivery roles (which ma comprise upper/lower thresholds and/or ranges for video bit rates, limits based on language/subtitle selection percentages, and the like) in conjunction with the pre-provisioning and distribution policies for a particular ABR asset package such that only certain representations or versions of the content which, satisfy or otherwise pass the delivery rules may be pre- provisioned. In another embodiment, applicable delivery rules may be- transmitted to a centra! distribution node and/or regional distribution nodes, as exemplified by a communication path 404, which distribution node may then apply the delivery rules in order to select a subset of the video/audio/ subtitle assets for pre-provisioning relative to a plurality of the edge server nodes where the content has been determined to be popular. In a still further embodiment, both the popularity-based pre-provisionin policies as well as node-specific asset trend delivery rules may foe provided to another network element or management node that is adapted to apply suitable selection/filtering logic in order for establishing filtered or otherwise modulated pre- provisioning policies with respect a particular content's ABR assets, in such a scenario, modulated pre-provisioniog policies may be transmitted to the central/regional distribution nodes of CD 400 and a subset of the A BR assets may be appropriately pre-provisioned i accordance therewith.
Additionally or aiteroatively, DNMC system 1 12 may also provide one or more delivery rules established or otherwise determined for the respective content delivery nodes based on the nodes' the historical network conditions. Similar to the application of the asset trend-based delivery rules, network condition-based delivery rules may be applied for modulating or otherwise controlling the pre-provisioning policies established by the popularity policy management system 402. it should be appreciated by one skilled in the art that the network condition-based delivery rules may be applied in various implementations similar to the embodiments described above, in addition to being applied in conjunction with the asset trend-based delivery rules for further refinement of a CDN's pre-provisioning policies.
Continuing to refer to FIG. 4, the modulated pre-provisioning of ABR assets with respect to edge server nodes 106-N and 108-1 based, on respective node's delivery patterns may be further exemplified. As described previously, the ABR asset delivery pattern 1 16 associated with the Galveston edge server 106-N shows a video component distribution wherei more than 80% of the content is of higher bttrate category (i.e., 720p content at 3-8Mbs or i OSOp content at 8- 1 2Mbps). Accordingly, a delivery rule may be established wherein only higher bitrate representations of a particular content (e.g.. Movie Y) may be pre-provisioned for the Galveston, node 11.6-N. When such a rule Is applied with respect to a particular content that has been, estimated to become popular at this node, a pre-provisioned ABR asset package 408 for the node will include only 720p and 1080p representations of the content (encoded at, for example, 3/5 Mbs and !.0/12!vibs, respectively), as illustrated by a video asset component 410- 1 , Likewise, given that the historical audio asset delivery pattern for the Galveston node 1 1 6- is where only 10% of the content has been in English with surround sound (5. 1 ), a delivery rule may be such that 5, 1 English language representations of a content's audio assets are excluded from pre-provisioning. In similar fashion, consistent with the distribution of historical subtitle languages downloaded at the Galveston node 106-N, a delivery rule for the subtitles may be one where any subtitles having a least likelihood of being downloaded from that node (e.g., less than 5%) are excluded from pre- provisioning. B applying such delivery rules, it can be seen that the pre-provisioned ABR asset package 408 relative to Movie Y for the Galveston node J 06-N will include an audio asset component 410-2 comprising only English 2.0 and Spanish 2.0 representations (or adaptation sets) and a subtitle asset component 410-3 comprisin only English language subtitles of Movie Y, which has been estimated to become popular in the area serviced by the Galveston node 106-N.
in similar fashion, one or more delivery rules based on the learned ABR asset delivery pattern 120 associated with the Ashville edge server 108- 1 may be applied to modulate the pre-provisioning of a content, e.g.. Movie Y, that is estimated to become popular in the Ashville service area. As the historical video asset delivery pattern 122- 1 has established that only 4% of the content delivered in thai service are comprises 1.080p content at 8-l2Mbps, an example deliver rule may he such that 1080p representations of a content are excluded. Likewise, suitable thresholds may be established for the audio and. subtitle asset components based on their respective likelihood, estimates. Upon applying such delivery rules, it can he seen that the pre- provisioned AB asset package 412 relative to Movie Y for the Ashville node 108-1 will include a video asset component 14-1 comprising only 720 and 480p representations of the content (encoded at, for example, 3/5 Mbs and 2/1 Mbs, respectively), an audio asset component 414-2 comprising only English 2.0 representations and a subtitle asset component 14-3 comprising only English language subtitles of Movie Y.
Accordingly, instead of pre-provisiotiing all the adaptation sets of an. ABE asset package relative to a particular content that has been determined to be popular at certain nodes, the embodiments set forth herein provide finer-grain pre-provisioning of the ABR assets, resulting in more efficient deployment of network resources. Not only are the operator bandwidth costs minimized (since the network operators no longer have to transmit assets, i.e., files, that are unlikely to he used, regardless of how popular a particular content is) but a higher quality of service may also be provided to the end users. Furthermore, although, the example pre-provisioning modulations described above are illustrative of application of asset trend- ased delivery rules, similar pre-provisioning modulations may be equally achieved on the basis of network condition-based delivery roles, mutatis mutandis.
in a further example scenario, a DNMC system may be made aware of language preferences in the area serviced by each of the CDN edge nodes, as such awareness can be informed by historical trends within the CDN itself (e.g., users in a particular service area always or most often watch, the Spanish language version), or based on wider trends supplied from third parties (e.g., the particular service area has a large Spanish, speaking population) if the edge node has no historical data yet. Should a particular piece of con ten t become popular in. an area serviced b that edge node, the system only pre-popuiates the popular audio or subtitle data (which may even be different languages), rather than all audio or subtitle options normally included with each piece of content as part of the entire ABR asset package. Should a user want access to a language other than the prevailing one (i.e., outside the filtered pre-pro i ioned assets), the audio/subtitle data can be sent over in the normal fashion, on demand. In a still further example, the DNMC system ma be made aware of historical network conditions for each of its edge servers. Should a particular edge server experience or exhibit consistentl below average edge server conditions (as may be defined for a suitable performance metric), the DNMC system is made aware of such a condition. If a particular piece of content become popular in an area serviced by thai edge node, the system only pre-populates lower itrate content, as the higher bitrates are less likely to he used (and/or less likely to be downloaded). If the network conditions improve and atypical bitrates {outside the filtered pre-provisioned assets) are re uested by the subscribers, such bitrates cart be sent over irt the normal fashion, on demand.
Turning now to FIGS, 5A and SB, depicted therein are flowcharts with blocks relative to various steps and acts that ma take place according to one or more embodiments of the present patent application for modulating pre-provisioni g of ABR assets. Flowchart 500A is representative of a collection of processes that may be practiced either independently or in one or more combinations, in one example process, blocks 502, 504 and. 510 illustrate an application of asset trend-based delivery rules w ith respect to pre-provisioning of popular content. In another example process, blocks 506, 508 and 510 illustrate an application of network condition-based delivery rules with respect to pre-provisioning. in a still further example process, blocks 502- 510 may be combined in a number of ways where both asset-based delivery rules as well as network condidon-based delivery rules may be applied for purposes of pre- provisioning policy modulation.
A block 502, historical delivery patterns and trends of one or more ABR assets may be obtained for one or more content delivery nodes of a C N, for example, over a period of time such as a configurable moving/sliding time window. For each content delivery node, appropriate statistical distributions of the ABR assets may be determined, e.g., percentage distributions, likelihood estimates, multi-level rankin distributions, etc., over the relevant sample time base. Based on the ABR distributions, one or more delivery rules may be established or otherwise determined, which may be provided as part of an adaptive learning process, e.g., a. knowledge-based or roles-based expert system (block 504). When a particular content is determined or otherwise estimated to become popular at different nodes in the CDN, only certain representations or adaptation sets of the particular content's video/aitdio sitbtitle components that satisfy or otherwise meet the delivery rules may be pre-provisioned for delivery with respect to the nodes where the content has been determined to be popular (block 510).
Alternatively or additionally, historical network conditions (e.g.. download rates, bandwidth usage, etc.) associated with respective content delivery nodes of the CDN may be monitored (block 506), which may then be used for determining suitable delivery rules. Again, such delivery rules may be static/deterministic or varied responsive to pre-eonfigured control inputs from CDN management nodes (i.e., self- adaptive learning). Accordingly, the network condition-based rules may be established, in a number of ways, depending on a specific implementation (block 508). As with the asset trend-based delivery roles, the network condition-based delivery rules may be used for filtering only certain adaptation sets of popular content f r pre-provisioning (block 510).
Additional steps or acts relative to block 510 are illustrated as a separate flowchart S00B in FIG. 5.8. At block 512, an application of the delivery rules may comprise comparisons of ABR assets against a range of video bttrates, thresholds, language/subtitle likelihood estimates, network connection performance/conditions, etc., as well as other metrics relating thereto. Responsive to the comparisons, video/audio adaptation sets and subtitles of a particular content may be selected or otherwise identified for pre-pcovisioniRg as set forth at Mock 51 .
FIG. 6 depicts a block diagram of a computer-implemented data processin system adapted to operate as a management node 600 according to an embodiment of the present patent application. Taking reference to FIGS. 4 and 6, the management node 600 may be configured as an example implementation of DN C system 1 12 that ma inter-operate with one or more CDN management systems such as a bandwidth, allocation/scheduling system, a distribution pipe policy management and optimization system, a content policy and QoS management system, or a request rerouting/redirecting system, or any combination thereof in addition to the popularity policy management system 402 associated with CD 400 as well as ths CDN nodes. One or more processors or processor boards 602-1 to 6Q2-N coupled to a bus structure 464 provide for the overall control of the node 600, including executing one or more functionalities set forth in the presen patent disclosure. Bus 604 may be coupled to one or more bus bridges or bu controllers 606- i , 606-2 for extending to or coupling to additional or -peripheral buses 608, 10, which in turn may support a plurality of interfaces (i F). By way of example, one or more of suc h interfaces 612-1 » 612-2 may effectuate interfacing with various CDN nodes such as the national server uode(s) 102, regional server nodes 104-1 to 104-3, and edge server nodes, 1.06-1 to 106-N; 108-1 to 108-M; 1. 10-1 to U O- . Additional interfaces 614-1 , 614-2 may effectuate interfaces to one or more CDN management systems mentioned above.
A memory subsystem 619 provided with the management node 600 may include one or more memory controllers 61 for controlling memory operations relative to a plurality of memory module 61 8-1 to 618-M as well as nonvolatile memory modules such as persistent memory module 617. Program instructions or logic, which may be organized and/or executed as one or more software processes, modules, blocks, routines, threads, etc, may be .stored in. or uploaded downloaded into the persistent memor 6 ! 7 for effectuating one or more embodiments of the present disclosure. For example, a delivery node and management control module 621 may be configured to effectuate or otherwise establish delivery rules based on historical. ABR asset delivery trends and/or historical network connection conditions, which may be arranged in. a node-by-node basis and stored in non-volatile databases 623, 627, respectively. In one implementation, the delivery rules may be established pursuant to statistical and mathematical modeling techniques involving, e.g., cluster analysis, multivariate analysis, principal component analysis, factor analysis, correlation analysis, adaptive neural networks, regression analysis, etc. to not only lear hot also forecast ABR asset distributions on a node-by-node basis. As pointed out previously, the delivery rules may be distributed to appropriate CDN nodes (e.g., the national server 102) for modulating content pre-provisioning policies. Alternatively or additionally, yet another module 625 may be provided tor applying the deliver rules in conjunction with content pre-provisioning policies as determined by the popularity policy management system 402, whereby modulated pre-provisioning policies may he provided to the CDN nodes. In a still further variation, the delivery rules may also be applied in conjunction with request redireetor system that is operative to redirect subscribers' requests to appropriate edge server nodes based on popularity, network bandwidth conditions, etc, for purposes of the present patent disclosure,
FIG. 7 is a flowchart of an example process 700 with, blocks relative to various steps and acts that may take place for monitoring historical delivery trends of ABR assets according to an embodiment of the present patent application. When a client requests to watch ABR content (block 702), appropriate data such as subtitle/language selection, etc. may he saved for the delivery session, (blocks 704, 706), Depending on whether the ABR content is in separate adaptation sets or in interleaved content stream (i.e., multiplexed or mused content stream provided in certain legacy streaming implementations) as set forth i:n decision block 708, further data relative to the delivery session ma be stored, saved or otherwise monitored. For the content in separate adaptation sets, a loop sub-process 710 may be effectuated with respect to each audio and video segment of the ABR asset package, wherein segment video bitratef s). audio bitrate(s) and delivery format (e.g., audio formats such as MP3, AAC, AAO, eAACr, FLAG WMA, WAV, AMR, QGG, DTS, AC3, L.PCM. and MIDI as well as video formats such as, e.g.? MFEG4, Ή.263, M.264, DivX, XviD, WMV, AVI, 3GO, Flash Video), may be stored, as set forth at blocks 71 , 7:1 . For muxed content, a loop s b- process 716 is operative to store the segment h:itrate(s) for each interleaved segment (block 718). Thereafter, when the client delivery session is terminated (block 720, 724), suitable data updating procedures may take place relative to the delivery statistics of video airfki/subtitle assets (block 728) or the muxed set bitrate(s) and subtitle selection (block 726), In one implementation, the foregoing sub-processes 710, 716 and subsequent updating procedures may take place relative to each content delivery node of a CON over a respective period of time, which nodes may be configured to provide (block 728) the delivery statistics to a management node such as DNMC system 102 shown in FIG, I , for example. Further, transmission of delivery statistics between the DNMC system and CON nodes may be effectuated by means of request/response query mechanisms, push mechanisms, pull mechanisms, in additio being triggered based on timers, user/network settings, and other conditional ities,
FIG. 8 is a flowchart an example process 800 with blocks relative to various steps and acts that may take place for modulating pre-provisioiring policies of content based on delivery rules according to an embodiment of the present patent application, When pre-provisiom'ng of content in a CDN is commenced (block 802), a loop sub- process 805 may be effectuated with respect to each content delivery node, which, is initiated af a decision block. 803 by determining whether a particular content is estimated or other determined to be popular in a service location of the delivery node, if the content is not determined to be popular in a delivery node's area, that delivery node may be skipped (block 804) and the content's popularity relative to a next delivery node may be analy zed. f the content is determined to be popular with respect to a specific content delivery node, appropriate historical video/aoclio/subtitle delivery statistics and associated asset delivery roles for that node may be obtained and/or utilized (block 806), The particular popular content's manifest may be analyzed relative to the ABR package assets available, including the corresponding adaptation sets if appiicabie (block 80S). For each asset in the ABR package, a loop sub-process 810 is effectuated that commences with a. determination as to whether the ABR. asset (and its adaptation set(s)) meets the corresponding delivery rnJe(s) based on the distribution statistics (decision block 814), If so, that ABR. asset (and its adaptation. set(s)) may be identified for pre-provisioning (block 816) with respect to the specific content delivery node identified in decision block 803. Otherwise, the ABR asset is skipped and the next asset in the ABR. package of the particular popular content is analyzed (block 818). After applying the delivery roles to all the ABR assets relative to each delivery node where the particular content has been determined to be popular, appropriate AB assets (and corresponding adaptation set(s}} are pre-provisioned for the "popular" nodes (block 820), whereupon the process k completed (block 822). As illustrated in FIGS. I and 4, not all popular nodes may be pre-provisioned with the same ABR. assets/adaptation sets because of the varying historical delivery trends, network conditions, and the like.
FIG. 9 is a flowchart of an example process 900 with blocks relative to various steps and acts that may take place for updating historical delivery trends and/or network conditions data for one or more content delivery nodes of a CDN according to an embodiment of the present patent application. Pursuant to invoking an updating routine (block 902), a timer-related determination may be made as to whether it is appropriate to update trend/conditions statistics in the CDN (decision block 904). If so, a complete list of content delivery nodes may be obtained (e.g., by the O MC system) .from a national origin server of the CDN (block 908). For each delivery node of the list, a loo sub-process 910 may be effectuated for obtaining video/aitdio sitbtitle delivery statistics and updating a database record or storage associated with the node based thereon, (block 912). Additionally or alternatively, appropriate network conditions may also be monitored on a node-by~node basis, if the timer-related (or, other trigger-based) determination indicates that it is not appropriate to update the stat istics yet the updating process 900 may wait for a pre-conflgured amount of time to elapse (block. 906). It should be appreciated that although a single timing determination is illustrated (i.e., decision block 904) with respect updating the statistics for all D nodes, multiple timing determinations and/or other trigger-based thresholds may also be implemented for initiating separate updating processes corresponding to the respective CDN nodes.
In addition to facilitating modulation of content pre-provisioning policies in a
CDN, the historical delivery trends and network conditions described hereinabove may also lie utilized for optimizing de-fragmentation of content in. the CDN in a. further aspect. As pointed out previously, when clients access ABR, content via a. CDN. it is possible that servers at the edge may become fragmented because of the inherent features of adaptive streaming architecture. Typically, edge server nodes of the CDN may serve one or many individual segment files of a particular ABR asset package to a client and when the client requests content from a second edge server (e.g.. due to redirection), both the first edge server and the second edge server may end up holding an incomplete collection of the segment files referenced by the associated mamtest.
When edge servers do not hold a copy of a requested segment file, they may be required to retrieve or pull the requested segment file from a parent node such as a regional server. While this generally causes the parent node to hold a complete cop of the requested segment files, there is no guarantee that a compiete segment collection referenced in a manifest will reside on She parent node for ail advertised bitrates. Accordingly, fragmentation may occur when clients request some, but not all of the segment files for a manifest from the same edge server resulting in an incomplete copy of the entire manifest segment collection. Clients changing bitrates within an adaptive streaming architecture can compound this fragmentation on an edge server even further. As a solution, particular embodiments described in the commonly assigned patent application entitled '^FRAGMENTATION OF ADAPTIVE STREAMING SEGMENT FILES IN A CONTENT DELI VERY NETWORK" f Ericsson .Ref. No.: P40285-US2), Application No.: 13/923,005, filed June 20, 2013» in the name(s) of Christopher Phillips et a!., incorporated by reference hereinabove, provide a i;de:iragmentatioiV' system and method within a CDN whereby edge servers are ensured to hold a complete copy of the entire segment collection referenced in a manifest. In a further enhancement, embodiments of the present disclosure described below provide an optimised defragmentafion system and method wherein the fragmented content at edge .server nodes is replenished based on historical delivery trends and/or network conditions associated with the nodes. Furthermore, the disclosed embodiments may be controlled, to occur at times of low network utilization such that conditions of bandwidth congestion may be avoided or otherwise ameliorated.
FIGS. 1 OA- I OC depict flowcharts with blocks relative to various step and acts that may take place for optimizing defragmentatlon of media segments in a content delivery node of according to one or more embodiments of the present patent; application. Turning first to FIG. IOC, an embodiment of optimized defragmentation process l OOC may take place at a CDN node with respect to a particular content. At block 1 OKO. the CD node is configured to analyze the content's manifest as well as the ABR segment files that are stored in a database cache of the CDN node in order to determine if any segment files referenced by/in the manifest are absent thereat, if so, one or more A asset delivery rides associated with the CON node may be applied to determine -representations or adaptation sets of the absent/missing segment files that satisfy the delivery rules (block 1082). Responsive thereto, only compliant representations/adaptation seta of the absent segments are pulled or retrieved .from another CON node (e.g., another edge server node or a parent node such as a regional server node), which are then stored locally in the database cache of the CD node (block 1084).
FIG. 10A depicts a flowchart of an optimized defragmentation proces 10 0Λ in further detail, which may be performed by a child node or edge node such as edge server nodes 106- . 1 08- 1 of CD 100. Similar to the flowcharts described hereinabove, blocks enclosing a portion of steps of the process indicate a loop sub- process wherein the enclosed, operations may be iteratively/repeatedly performed until the list of entities for which the loop is effectuated is exhausted. in one implementation, each node within the CDN may determine at various time intervals whether a current time falls within a period that is characterized by the node's low network utilization (e.g., during late night), which may be configured as the node's Minimum Usage T imeframe parameter. odes that do not provide self-calculating timeframes may send a request to a parent node, a redirector server, or another server to determine its Minimum Usage T imeframe. Thus, at block 1002, the edge node checks a de fragmentation wakeup tinier, which causes the edge node to determine at decision block 1004 whether the current time is within the period of minimum usage of network resources within the CDN. The edge node may self-calculate the period of minimum usage of network resources if able, and. if not able, the edge node receives information identifying the period of minimum usage of network resources within the CD from its parent node, the redirector server, or another server in the CDN . If the current time is not within the period of minimum usage of network resources withi the CDN, the process moves to block. 1008 where depigmentation is skipped for that particular edge node, with control returning to block 1002. When it is determined at block 1004 that the current time is within the period of minimum usage of network resources within the CDN, the process moves to block. 1006 where the edge node retrieves all content popularity timeframe windows, e.g., from the redirector server operating in conjunction with a popularity policy management server. Process 1 000A thereafter enters a loop sub-process 1 10 that encompasses a collection of actions performed for each, adaptive streamin manifest associated with segment files stored in the edge node's local cache memory. At block 1012 of loop 1010, the edge node determines whether the current time is within the popularity time window threshold for a particular manifest/package being analyzed, ft should be appreciated that such a determination may be made in order to ensure the complete piece of electronic content is available (and potentially within a licensing window) when clients are likely t request the segment files. If the current time is not within the popularity time windo threshold, the process moves to block 1014 where the edge node skips that particular manifest/package. When it is determined at block 5012 that the current time is within the popularity time window threshold for the particular package being analyzed, the process moves to block 1016 where the edge node reads the master manifest flie(s) associated therewith, The process thereafter enters another loop sub-process 1018 that encompasses a. series of actions performed for each child manifest in the master manifest At block 1 20, the edge node reads the URLs of the segment files from a particular child manifest (such as, e.g., the URLs illustrated, in MPD model 300 shown in FIG, 3). A determination, is made as to whether the A.BR asset segment referenced by the URL satisfies the applicable delivery rules associated with the node (decision block 1022), if not, the URL is skipped and the next URL referenced in the child manifest is analyzed. For the URLs that refer to ABR asset segments complying with applicable delivery rules, yet another loop sob-process 1026 is entered for determining if the respective asset segments exist in the edge node's cache memory (decision block 1028). if so, the edge node skips the URL for that segment file at block 1030 and moves to the next segment file. This sub-loop process continues for each of the segment files referenced by the child manifest, and when a referenced segment file is determined to he absent from the edge node's local cache memory, the process moves to block 1032 where the edge node utilizes the URL of the absent: segment file to pull the absent segment f le from another CON node such as the edge node's parent node or another edge node. Subsequently, the edge node caches the segment file pulled from the other CDN node. When all the loops have been performed for each adaptive .streaming manifest in cache, for each child manifest in the master manifest, and for each URL in each child manifest, all segment files should exist in the edge node's local cache memory. Upon verification that all segment files for all manifests exist m the edge node 's local cache .memory at block 1034, the process moves to block 1036 where the edge node reports t its parent node that defragmentation is complete. It will he apparent to one skilled in the art that the sequence of the loops and sub-loops illustrated in F.K1, 1.0A may be interchanged, in. some implementations, and some of the operations from one loop may be moved to a sub-loop within.
FIG 10 depicts a. .flowchart of another embodiment of an optimized, defragmentation process 1000B in further detail, which may be performed by a content delivery node of the CDN, Similar to the flowcharts described hereinabove, blocks enclosing a portion of steps of the process indicate a loop sub-process wherein the enclosed actions may be iteratively/repeatedly performed until the list of entities for which the loop is effectuated is exhausted. When asset defragmentation is commenced, in the CDN, e.g., responsive to a defragmentation timer mechanism or some other trigger-based mechanism (block 1052). a loop sub-process 1054 may be effectuated with respect to each ABR package within the content delivery node, which is initiated at a decision block J 056 by determining whether a particular ABR package is within a popularity time window or threshold. If not, the particular ABR package is skipped, and a next AB package is analyzed (block 1058). if the ABR package is within the popularity time window, the manifest of the ABR package is analyzed (block 1060), whereupon a loop sub-process 1062 is entered that is performed, for each asset component of the ABR package. A determination is made as to whether the asset contains fragmented segments (block 1064). If so, a further determination is made as to whether the fragmented segments are within the historical audio/video subfitie delivery trend rules and. thresholds (decision block 1068). If the missing audio, video, and/or subtitle asset segments are within the historical deliver trends/thresholds, such segments may be pulled from a regional or national server node or another edge server node (block 1072). if the ABR asset does not contain, any fragmented segments, the asset is skipped and a next asset of the ABR package is analyzed (block 1066), Further, if the fragmented segments are not compliant with the applied delivery rules, the are skipped from segment retrieval (block 1 70). When all the loops have been performed for each delivery node, each ABR package within a delivery node, etc, the optimized defragmentation process 1000B is completed (block 1074). With respect to the optim ized defragmentation embodiments described hereinabove, it should be appreciated that the historical trend-based delivery roles and/or network condition-based delivery rules may be provided by the DNMC system to each CDN node as it commences its defragmentation process relative to the contents cached thereat. In another variation, because each CDN node may also be configured to maintain its own trends (at least for a short term), there would be no need to retrieve the trend data from a management node in such a scenario, in a still further variation, locally maintained short-term based trends as well as Jong-term trends maintained at the D.NMC system may be applied, for purposes of determining which of the missing segments should be pulled from another node in the CDN. Additionally, the foregoing optimized defragmentation embodiments may be practiced with respect to parent nodes its well as child nodes of a CDN .
FIG. 1 1 depicts a block diagram of a computer-implemented data processing system adapted to operate as a content delivery node 1.100 that may be configured to effectuate optimized content defragmentation according to an embodiment of the present patent application. The functions of the CDN node 1 100 may be controlled, for example, by one or more processors 1 1.02 executing computer program instructions stored on a memory 1 1 10 including a persistent module l l ! l . A defragmentation waketip timer 1 1.04 provides the current time to a comparison, unit 1 1. 12, which. compares the current time with a Minimum Usage Timeframe parameter 1 106. If the current time is within the Minimum Usage Timeframe, the comparison unit 1 12 further compares the current time with the manifest popularity time window/threshold 1. 108. If the current time is within the manifest popularity time window1 threshold, the comparison unit 1 J 12 notifies a segment file reader 1 1 14 that it is appropriate to start the defragmentation process. The segment file reader 1 1 14 is operative to read the A BR asset segment files from a local data base cache 1 1 1 8, A U RL reader 1 1 16 is operative to read the URLs of each of the segment files referenced by the associated, manifest and provide them to an absent file identifier 1 1 22. The absent file identifier 1 1 22 is operative to identity one or more referenced segment files that comply with applicable ABR asset delivery rules 1 1.2 but are absent from the local cache memory 1 1 18. URL information relative to the compliant missing segments files is provided to a communication unit 1 124 that is operative to send one or more requests for the segment files by sending the requested URL(s) to another CDN node I 1 6, which may he, for example, a parent node. In response, the other CDN node 1 126 returns the requested segment file{s) to the communication unit J 124, which sends them to the cache 1 1 18 for storage. Subsequently, the segment file reader 1 1 14 nd file identifier 1 1 22 are operative to determine that ail segment files referenced by the associated manifest document now exist in the cache 1 i 18. The file identifier 1 122 may thereafter notify the communication unit 1 124 that the deiragmentation process is complete, which in turn may notify the other CDN node 1 126 that the dei agmentation process is complete. It should be appreciated that dashed lines in FIG. 1 1 indicate additional functionality when the CDN node 1 100 is also a parent node. As set forth In additional detail in the commonly assigned patent application (Appl. No.: 13/923,005, filed lime 20, 2013) incorporated by reference hereinabove, the parent node functionality may involve determining whether all of its child node(s) 1 128 have reported that their deiragmentation process is complete. Once all the child node(s) have reported that their deiragmentation is complete, the comparison unit 1 1 12 may continue by determining whether the current time Is within the manifest popularity time window threshold 1 1 8. If so, the de.tragme.ntarion proces for the parent node may be initiated.
FIG. 12 depicts an example content delivery network 1200 wherein fragmented content is replenished, at a content delivery node (e.g., edge server nodes 106-N, 108-1 ) based on historical delivery trends according to an embodiment of the present, patent application. For purposes of illustration, CDN 1200 is identical to CDN 100 show n in FIG, 1 except that a CDN redirecior node 1202 is shown to interface with D. MC system 1 12 lor receiv ing suitable deiivery rules as discussed hereinabove. Further, the CDN redireetor node 1202 may also receive content popularity windows from a. content popularity poiicy management node (not specifically shown) for distributing the data to the various nodes of CDN 1200, as illustrated by example request/response paths 1204- 1 , 1204-2 and 1204-3 relative to nodes 104-1 , 106-N and 108- 1 , respectively. As described in detail in the foregoing sections with respect to FIGS. lOA-l OC and 1 1 , an edge server node is operative to apply the deliver rules in order to identify a. subset of representations of the missing segments of a fragmented content file. By way of example, the Galveston edge server 106-N is operative to apply suitable delivery roles based on its AB asset delivery pattern 1 16, whereb only certain representations of the missing segments that satisfy the rules may be retrieved from another CDN node, as shown by a missing segments identifier 1 208 that comprises a video asset component 1210-1 (for pulling only ?20p and lOSOp representations of the content encoded at, for example, 3/5 Mbs and 10 1.2Mbs, respectively), an audio asset component 1210-2 (for pulling only English 2.0 and Spanish 2.0 representations), and a subtitle asset component 1 210-3 (for pulling only English language subtitles of the content).
In similar fashion, one or more delivery .rules based on the learned ABR. asset delivery pattern 120 associated with the Ashvilie edge server 108-1 may be applied to optimize the server's missing segment retrieval. Reference numeral 1212 refers to the Ashv ilie server's missing segments identifier that illustrates a video asset component 1214-1 (for pulling only 720p and 480p representations of the content encoded at, for example, 3/5 Mbs and 2/1 Mbs, respectively), an audio asset component 1214-2 (for pulling only English 2.0 representations), and a subtitle asset component 1214-3 (for pulling only English language subtitles of the content).
One skilled in the art will recognize upon reference hereto that if an entire file becomes necessary (for example, additional languages are needed), the defragmentation system is aware of which files are already transferred to the edge of the network and only transfers those sections of the file which are additionally needed. Similarly, should an edge node decide to delete files due to memory constraints, the system will be aware of which fragments of the file are no longer needed (for example, due to the ianguage(s) or bitrate(s) being no longer required).
Based upon the foregoing Detailed Description, it should be appreciated that the embodiments of the present disclosure can be advantageously implemented that allow CDNs to function more efficiently, by making available what is needed where it is needed, before it is needed, in addition to savings in operator bandwidth costs, the disclosed embodiments also provide higher QoS levels with respect to end user e perience.
In the a bove-descr iption of var ious embodiments of the present disc losure, it is to be understood that the terminology used herein is for the purpose of describing particu lar embodiments only and is not intended to be limiting of the invention. Unless otherwise defined, ail terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, it will be further understood that terms, suc as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning i the context of this specification and the relevant art and ma not be interpreted in an idealized or overly formal sense expressly so defined herein.
At Least some example embodiments are described herein with reference to block diagrams and/or flowchart illustration of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products, ft is understood that a. block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. Such computer program instructions ma be provided to a processor circuit of a genera! purpose computer circuit, special purpose computer circuit, and or other programmable data processing circuit to produce a machine, so that the instructions, which execute v ia the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality} and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s). Additionally, the computer program instruction may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block, diagrams and/or flowchart block or blocks.
As alluded to previously, tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, & random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EFROM or Flash memory) circuit, a portable compact, disc readonly memory (CD-ROM), and a portable digital video disc read-only memory (DVD/Blis-ray). The computer program instructions may also be loaded onto or otherwise downloaded to a computer and/or other programmable data processing apparaius to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of the present invention may be embodied in hardware and/or in software (including firmware, resident: software, micro-code, etc.) thai runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module" or variants thereof
Further, in at least some additional or alternative implementations, the functions/acts described in the blocks ma occur out of the order shown in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the ftmctionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Moreover, the acts, steps, functions, components or blocks illustrated in a particular flowchart may be inter-mixed or otherwise inter-arranged with the acts, steps, functions, components or blocks illustrated in another flowchart in order to effectuate additional variations, modifications and configurations with respect to one or more implementations of ore- provisioning policy modulation and/or optimized content defragmentation techni ues, either in combination or separately, for purposes of the present patent disclosure, Finally, other blocks may be added/inserted between the blocks that are illustrated. Moreover, although some of the diagrams include arrows on communication paths to sho a primar direction of communication, it is to be understood that communication may occur in the opposite direction relative to the depicted arrows.
Although various embodiments have been shown and described in detail, the claims are not limited to any particular embodiment or example. None of the above Detailed Description should be read as implying that an particular component, element, step, act. or function is essentia! such that it must be included in the scope of the claims. Reference to an element in the singular is not intended to mean "one and onJy one" unless explicitly so stated, but rather "one or more." All structural and functional equivalents to the elements of the above-described embodiments that are known to those of ordinary skill i She art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Accordingly, those skilled in the art will recognize that the exemplary embodiments described herein ca be practiced with various modifications and alterations within the spirit and scope of the claims appended beJo .

Claims

WHAT IS CLAIMED IS;
I. A method operative at a management node ( 3 12) associated with a content deliver network (CDN) (100, 400) configured to deiiver adaptive streaming content, the method comprising:
obtaining (502) historical delivery patterns of one or more adaptive bitrate (ABR) assets associated with one or more content delivery nodes of the CDN (100, 400);
determining (504), for each content delivery node, one or more delivery rules based on statistical distributions of the ABR assets delivered over a period of time; and when a particular content is determined to become popular at a specific content delivery node (106-N), pre-provi stoning (510) only certain representations of the particular content for delivery at the specific content delivery node ( 106-N) based on the one or more delivery rules established for the specific content delivery node (106- N).
2, The method as recited in claim 1, wherein the ABR assets comprise at least one of video components, audio track components and one or more subtitle languages.
3. The method as recited in claim 2, wherein the historical delivery patterns are obtained for all the video components, all the audio track components, and all subtitle languages downloaded over a period of time at respective content delivery nodes of the CDN (100, 400).
4. The method as recited in claim 3. wherein the one or more delivery rules for a respective content delivery node ( 106-N) comprise at least one of a. video delivery rule based on bit rates of video components downloaded from the respective content delivery node ( 106-N), an audio delivery rule based on audio language tracks downloaded from the respective content delivery node (106-N), and a subtitle delivery rule based on subtitle language selections downloaded from the respective content delivery node (106-N).
5. The method as recited in claim 1 , wherein the particular content is estimated to become popular at a specific content delivery node (106-N) based on at least one of- revenue data, search trend data, subscriber demographic data, and social media data obtained for the particular content,
6. The method as recited m claim I, wherein the content delivery nodes comprise one or more edge server nodes (106-1 to 106-N, 108-1 to 1.08-M, 1 10-1. to 1 i 0-K) and one or more regional server nodes ( 104-1 to 1 4-3) coupled to a national server node (102).
7. A management node (600) operative with a content deiiverv network (CDN) (300, 400) configured to deliver adaptive streaming content, the management node (600) comprising;
one or more processors. (602- 1 to 602~ j;
a database (623) for storing historical delivery patterns of one or more adaptive bitrate ( ABR) assets associated with one or more content delivery nodes of the CDN (100, 400);
a delivery node management and control (DNMC) module (621 ) embodied in a persistent memory (617) coupled to the one or more processors (602-1 to 602-N), the DNMC module (621) having instructions executable by the one or more processors (602-1 to 602-N) and configured to determine (504), for each content delivery node, one or more delivery rules based on statistical distributions of the ABR assets delivered over a period, of time; and
a content pre-provisiooing control module (625) embodied in a persistent memory (61 7) coupled to the one or more processors (602-1 to 602-N), the content pre- provisioning control module (62.5) having Instructions executable by the one or more processors (602- i to 602-N) and configured to:
when a particular content is determined to become popular at a specific content delivery node (106-N), apply (512) the one or more delivery rules corresponding to the specific content delivery node (106-N) against the particular content; and select (514) only certain representations of the particular content for pre- popuiatmg delivery at the specific content delivery node (106-N) based on the application of the delivery rules established for the specific content delivery node (106-N).
8. The management node (600) as recited in claim 7, wherein the AB'R assets comprise at least one of video components, audio track components and one or more subtitle languages, 9. The management node (600) as recited in claim 8, wherein the historical delivery patterns are obtained and stored in the database (623) for all the video components, all the audio track components, and ail subtitle languages downloaded over a period of time at respective content delivery nodes of the CDN (] 00, 400). 1.0. The management node (600) as recited in. claim 9. wherein the DNMC module (621) is operative to determine the one or more delivery rules for a respective content deliver}' node (106-N) comprising at least one of a video delivery rale based on hit rates of video components downloaded from the respective content delivery node (106- N), an audio delivery rule based on audio .language tracks downloaded .from the respective eon tent delivery node (106-N), and a subtitle delivery rule based on subtitle language selections downloaded from the respective content delivery node (106-N).
1 1 . The management node (600) as recited in claim 7, wherein the particular content is estimated to become popular at a specific content delivery node (106-N) based on at least one of revenue data, search trend data, subscriber demographic data, and social media data obtained for the particular content,
12, A method operative at a management node (1 12) associated with a content delivery network (CDN) (100, 400) configured to deliver adaptive streaming content, the method comprising; monitoring (506) historical network conditions associated with one or more content delivery nodes of the CD (100, 400) for delivery of one or more adaptive bitrate (ABR) assets;
determining (508), for each content delivery node, one or more delivery rules based on the historical network conditions monitored for the ABR. assets delivered over a period of time; and
when a particular content is determined to become popular at a specific content delivery node (106-N), pre-provisioning (5 0) only certain representations of the particular content for delivery at the specific content del very node (106-N) based on the one or more delivery rules established for the specific content delivery node (106- N)
1.3. The method as recited in claim. .12, wherein the ABR assets comprise at least one of video components, audio track components and one or more subtitle languages.
14. The method as recited i claim 12, wherein the historical network conditions comprise at least one of content download rates sustained by respective content delivery nodes over a period of time, temporal performance variations of respective content delivery nodes compared against a threshold level, and relative performance of respective content delivery nodes in relation to an average performance level of a sample of the content delivery nodes monitored over a period of lime.
15. The method as recited in claim 14. wherein the one or more delivery rules for a respective content delivery node ( 106-N) comprise allowing for deiiverv of high bitrate content onl if the respective content delivery node (106-N) has sustained a high content download rate over a period of time,
1.6. The method as recited in claim 14, wherein the one or more deiiverv rules for a respective content delivery node ( 106-N) comprise allowing for delivery of high bitrate content only if the respective content delivery node (106-N) has sustained a relative performance that is higher than the average performance level of a sample of the content delivery nodes monitored over a period of time, J ?. The method as recited m claim 12, wherein the content deiiverv nodes comprise one or more edge server nodes (J 06-1 to 1 6-N, 108-1 to 1 8-M, 1 10-1 to I Ί 0-Κ.) and one or more regional server nodes (104-1 to 1.04-3) coupled to a national, server node (102).
1.8. A management node (600) operative with a content delivery network (CDN) ( 100, 400) configured to deliver adaptive streaming content, the management node comprising:
one or more processors (602- 1 to 602-N);
a database (62?) for storing historical network conditions associated with one or more content delivery nodes of the CDN (100, 400) tor delivery of one or more adaptive hitrate (A.B ) assets;
a delivery node management arid control (DNMC) module (621) embodied in a persistent memory (617) coupled, to the one or more processors (602-1 to 602-N), the DNMC module (621) having instructions executable by the one or more processors (602-1 to 602-N) and configured to determine (506), for each content delivery node, one or more deiiverv rules based on the historical network conditions monitored for the A.B assets delivered over a period of time; and
a content pre-provisioning control module (625) embodied in a persistent memory (637) coupled to the one or more processors (602- 1 to 602-N), the content pre- provisioning control module (6.25) having instructions executable by the one or more processors (602-5 to 602-N) and configured to:
when a particular content is determined to become popular at a specific content delivery node ( 106-N), appl (512) the one or more delivery rules corresponding to the specific content delivery node (106-N) against the particular content; and
select (514) onl certain representat ions of the particu lar content for pre- popuSatmg delivery at the specific content delivery node (106-N) based on the application of the one or more delivery rules established for the specific content delivers' node ( 106-N).
1.9. The management node (600) as recited in claim J 8, wherein the ABR assets comprise at least one of video componeniis, audio track components and one or more subtitle languages, 20, The management node (600 as recited in claim 12, wherein the historical network conditions comprise at least one of content download rates sustained by respective content delivery nodes over a period of time, temporal performance variations of respective content delivery nodes compared against a threshold level, and relative performance of respective content delivery nodes in relation to an average performance level of a sample of the content delivery nodes monitored over a period of time.
21 , The management node (600) as recited in claim 14, wherein the DNMC module (6 1 ) is operative to determine the one or more delivery rules for a respective content delivery node (106-N) that allow lor delivery of hig bitrate content only if the respective content delivery node (106-N) has sustained a high content download rate over a period, of time,
22, The management node (600) as recited in claim 14, wherein the DNMC module (621 ) is operative to determine the one or more delivery rules for a respective content delivery node (106-N) that allow for delivery of high bitrate content only if the respective content delivery node (106-N) has sustained a relative performance that is higher than the average performance level of a sample of the content del ivery nodes monitored over a period of time.
PCT/IB2014/065742 2013-11-01 2014-10-31 System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network WO2015063732A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14857342.1A EP3063944B1 (en) 2013-11-01 2014-10-31 System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network
CA2929294A CA2929294A1 (en) 2013-11-01 2014-10-31 System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network
CN201480071867.4A CN105917656B (en) 2013-11-01 2014-10-31 System and method for pre-provisioning Adaptive Bitrate (ABR) assets in a content delivery network
JP2016526885A JP6469676B2 (en) 2013-11-01 2014-10-31 System and method for pre-provisioning adaptive bit rate (ABR) assets in a content delivery network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/069,490 2013-11-01
US14/069,490 US9516084B2 (en) 2013-11-01 2013-11-01 System and method for pre-provisioning adaptive bitrate (ABR) assets in a content delivery network

Publications (1)

Publication Number Publication Date
WO2015063732A1 true WO2015063732A1 (en) 2015-05-07

Family

ID=53003443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/065742 WO2015063732A1 (en) 2013-11-01 2014-10-31 System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network

Country Status (6)

Country Link
US (1) US9516084B2 (en)
EP (1) EP3063944B1 (en)
JP (1) JP6469676B2 (en)
CN (1) CN105917656B (en)
CA (1) CA2929294A1 (en)
WO (1) WO2015063732A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019120505A1 (en) * 2017-12-20 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for receiving adaptive bit rate content and manifest for adaptive bit rate content

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838927B2 (en) * 2013-06-13 2017-12-05 Telefonaktiebolaget Lm Ericsson (Publ) Determination of radio resource usage
US10841353B2 (en) 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
US9516084B2 (en) * 2013-11-01 2016-12-06 Ericsson Ab System and method for pre-provisioning adaptive bitrate (ABR) assets in a content delivery network
US9336537B2 (en) * 2014-03-06 2016-05-10 Catalina Marketing Corporation System and method of providing a particular number of distributions of media content through a plurality of distribution nodes
US10506027B2 (en) * 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10084838B2 (en) 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US9961004B2 (en) * 2015-02-18 2018-05-01 Viasat, Inc. Popularity-aware bitrate adaptation of linear programming for mobile communications
US10735528B1 (en) * 2015-12-14 2020-08-04 Amazon Technologies, Inc. Geographic relocation of content source in a content delivery network
CN105634992B (en) * 2015-12-29 2019-01-11 网宿科技股份有限公司 CDN platform adaptive band width control method and system
US10601946B2 (en) * 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
EP3747174B1 (en) * 2018-02-02 2023-06-07 Microsoft Technology Licensing, LLC Estimating bandwidth savings for adaptive bit rate streaming
CN108737405B (en) * 2018-05-10 2020-02-18 网宿科技股份有限公司 Method, CCL server and system for guiding direct broadcasting video stream
US10743036B1 (en) * 2018-05-30 2020-08-11 Amazon Technologies, Inc. Automatically augmenting user resources dedicated to serving content to a content delivery network
CN110740353B (en) * 2018-07-20 2021-07-09 阿里巴巴(中国)有限公司 Request identification method and device
US10938939B2 (en) * 2018-08-17 2021-03-02 Cisco Technology, Inc. Client-side quality-of-service (QOS) for viewing of adaptive bitrate (ABR) streams
US11815936B2 (en) 2018-08-22 2023-11-14 Microstrategy Incorporated Providing contextually-relevant database content based on calendar data
US10911793B2 (en) 2018-11-14 2021-02-02 Sony Interactive Entertainment LLC Video start-time reduction employing reductive edging principles
US20200252281A1 (en) * 2019-02-05 2020-08-06 Microstrategy Incorporated System performance using semantic graph data
US11388467B1 (en) 2019-07-17 2022-07-12 Walgreen Co. Media content distribution platform
US11025987B2 (en) 2019-08-15 2021-06-01 Hulu, LLC Prediction-based representation selection in video playback
CN114268631B (en) * 2021-12-13 2024-05-10 湖北云务通网络科技有限公司 Low-delay network system, communication connection method thereof and readable storage medium
CN114389942B (en) * 2022-01-11 2024-06-04 北京金山云网络技术有限公司 CDN configuration method and device, electronic equipment and storage medium
US11843682B1 (en) * 2022-08-31 2023-12-12 Adobe Inc. Prepopulating an edge server cache

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250560A1 (en) * 2000-04-14 2007-10-25 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US20090193485A1 (en) 2008-01-30 2009-07-30 Remi Rieger Methods and apparatus for predictive delivery of content over a network
WO2011158221A2 (en) 2010-06-18 2011-12-22 Nokia Corporation Method and apparatus for generating and handling streaming media quality-of-experience metrics
US20120124179A1 (en) * 2010-11-12 2012-05-17 Realnetworks, Inc. Traffic management in adaptive streaming protocols
US20120198041A1 (en) * 2011-02-01 2012-08-02 Limelight Networks, Inc. Content delivery networks mutators
EP2487609A1 (en) 2011-02-07 2012-08-15 Alcatel Lucent A cache manager for segmented multimedia and corresponding method for cache management
US20130144979A1 (en) * 2011-12-02 2013-06-06 Cisco Technology, Inc. Systems and methods for intelligent video delivery and cache management
EP2615777A1 (en) * 2011-09-12 2013-07-17 Tektronix, Inc. Monitoring over-the-top adaptive video streaming

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333104A (en) * 1999-05-20 2000-11-30 Toshiba Corp Video image storage method, video image distribution system and storage medium
AU2001290546A1 (en) 2000-08-22 2002-03-04 Akamai Technologies, Inc. Dynamic content assembly on edge-of-network servers in a content delivery network
JP4408811B2 (en) * 2002-10-30 2010-02-03 富士通株式会社 Stream server
US8441963B2 (en) * 2005-08-04 2013-05-14 General Instrument Corporation IP multicast management and service provision system and method
JP5210886B2 (en) 2006-01-09 2013-06-12 トムソン ライセンシング Method and system for distributing multimedia content
US20080307412A1 (en) * 2007-06-06 2008-12-11 Sony Computer Entertainment Inc. Cached content consistency management
WO2009149063A1 (en) * 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US20100094958A1 (en) 2008-10-15 2010-04-15 Patentvc Ltd. Systems and methods for aggregating erasure-coded fragments
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8239443B2 (en) * 2009-09-01 2012-08-07 Rovi Technologies Corporation Method and system for tunable distribution of content
JP5272990B2 (en) * 2009-09-24 2013-08-28 ブラザー工業株式会社 Information communication system, distribution content determination method, management apparatus, management program
CN101668177B (en) * 2009-09-24 2013-05-01 中兴通讯股份有限公司 Multimedia content management method and device
US10264029B2 (en) * 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
GB2486002A (en) * 2010-11-30 2012-06-06 Youview Tv Ltd Media Content Provision
JP2012247877A (en) * 2011-05-26 2012-12-13 Hitachi Ltd Content distribution system, content arrangement selection method, and distribution center device
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US20150163273A1 (en) * 2011-09-29 2015-06-11 Avvasi Inc. Media bit rate estimation based on segment playback duration and segment data length
US20150026309A1 (en) * 2011-09-29 2015-01-22 Avvasi Inc. Systems and methods for adaptive streaming control
US20150082345A1 (en) * 2011-09-29 2015-03-19 Avvasi Inc. System for generating enhanced advertizements and methods for use therewith
US20130304934A1 (en) * 2011-09-29 2013-11-14 Avvasi Inc. Methods and systems for controlling quality of a media session
EP3340575A1 (en) * 2011-12-06 2018-06-27 EchoStar Technologies L.L.C. Remote storage digital video recorder and related operating methods
US9049484B2 (en) * 2011-12-06 2015-06-02 Echostar Technologies L.L.C. Efficient assignment of program copies in a network digital video recorder
US10038927B2 (en) * 2011-12-22 2018-07-31 Cisco Technology, Inc. Out-of-band signaling and device-based content control
CN103281594A (en) * 2012-01-12 2013-09-04 特克特朗尼克公司 Monitoring over-the-top adaptive video streaming in a network
US9438487B2 (en) * 2012-02-23 2016-09-06 Ericsson Ab Bandwith policy management in a self-corrected content delivery network
US9253051B2 (en) * 2012-02-23 2016-02-02 Ericsson Ab System and method for delivering content in a content delivery network
CN102801792B (en) * 2012-07-26 2015-04-22 华南理工大学 Statistical-prediction-based automatic cloud CDN (Content Delivery Network) resource automatic deployment method
US9549010B2 (en) * 2012-09-17 2017-01-17 Netscout Systems Texas, Llc Method and apparatus for media session identification, tracking, and analysis
EP2896189B1 (en) 2013-01-16 2016-09-14 Huawei Technologies Co., Ltd. Storing and transmitting content for downloading and streaming
US20140365613A1 (en) 2013-06-06 2014-12-11 Ericsson Television Inc. Defragmentation of adaptive streaming segment files in a content delivery network
US20150039680A1 (en) * 2013-08-02 2015-02-05 Avvasi Inc. Methods and systems for video quota management
US9571540B2 (en) * 2013-09-19 2017-02-14 Verizon Patent And Licensing Inc. Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking
US10841353B2 (en) * 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
US9516084B2 (en) * 2013-11-01 2016-12-06 Ericsson Ab System and method for pre-provisioning adaptive bitrate (ABR) assets in a content delivery network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250560A1 (en) * 2000-04-14 2007-10-25 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US20090193485A1 (en) 2008-01-30 2009-07-30 Remi Rieger Methods and apparatus for predictive delivery of content over a network
WO2011158221A2 (en) 2010-06-18 2011-12-22 Nokia Corporation Method and apparatus for generating and handling streaming media quality-of-experience metrics
US20120124179A1 (en) * 2010-11-12 2012-05-17 Realnetworks, Inc. Traffic management in adaptive streaming protocols
US20120198041A1 (en) * 2011-02-01 2012-08-02 Limelight Networks, Inc. Content delivery networks mutators
EP2487609A1 (en) 2011-02-07 2012-08-15 Alcatel Lucent A cache manager for segmented multimedia and corresponding method for cache management
EP2615777A1 (en) * 2011-09-12 2013-07-17 Tektronix, Inc. Monitoring over-the-top adaptive video streaming
US20130144979A1 (en) * 2011-12-02 2013-06-06 Cisco Technology, Inc. Systems and methods for intelligent video delivery and cache management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3063944A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019120505A1 (en) * 2017-12-20 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for receiving adaptive bit rate content and manifest for adaptive bit rate content
US11665380B2 (en) 2017-12-20 2023-05-30 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for receiving adaptive bit rate content and manifest for adaptive bit rate content

Also Published As

Publication number Publication date
CN105917656A (en) 2016-08-31
US9516084B2 (en) 2016-12-06
JP2017504227A (en) 2017-02-02
US20150127844A1 (en) 2015-05-07
JP6469676B2 (en) 2019-02-13
EP3063944A4 (en) 2017-10-18
CA2929294A1 (en) 2015-05-07
EP3063944A1 (en) 2016-09-07
EP3063944B1 (en) 2020-05-06
CN105917656B (en) 2020-08-28

Similar Documents

Publication Publication Date Title
US11736550B2 (en) System and method for optimizing defragmentation of content in a content delivery network
EP3063944B1 (en) System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network
EP3398314B1 (en) Method and system for optimized media delivery
US9800683B2 (en) Bandwidth policy management in a self-corrected content delivery network
US8543660B2 (en) Systems and methods for bridging and managing media content associated with separate media content networks
US9253051B2 (en) System and method for delivering content in a content delivery network
WO2015036942A1 (en) Streaming policy management system and method
WO2016203427A1 (en) Directory limit based system and method for storing media segments
EP3017585B1 (en) Bandwith policy management in a self-corrected content delivery network
EP3017377B1 (en) System and method for delivering content in a content delivery network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14857342

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2014857342

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014857342

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016526885

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2929294

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112016009531

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112016009531

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20160428