Patent Publication Number: US-11395025-B2

Title: Dynamic asset loading based on viewer behavior and preferences

Description:
BACKGROUND 
     Television networks, such as the American Broadcasting Company (ABC), the Columbia Broadcasting Company (CBS), and the National Broadcasting Company (NBC), have for years broadcast television shows to the masses as a means for generating revenue through advertising. For example, these networks produce television shows and then seek out sponsors to advertise on the shows. The television shows, or “content”, have designated timeslots in which the sponsors&#39; advertisements, or “assets”, are inserted. The content and the inserted assets are then broadcast by the television networks, or “content providers”, to the public over federally licensed communication airways, generally referred to as linear video distribution. 
     This “shotgun” approach to advertising proved to be very successful in the beginning. However, as the number of advertisers wishing to sell their goods and services substantially increased, television evolved into a much more complex system of communications. For example, cable television providers and satellite television providers now serve as intermediaries between the content providers and the intended public audience. And, the number of content providers has increased accordingly. In this regard, many members of the general public have signed on as customers of the cable/satellite television providers so as to receive a broader availability of content. 
     Because each of these providers has its own method of content delivery, the manner in which the content and assets are delivered to the customers has become increasingly complex. Generally, the content providers deliver the content with instructions to insert various national assets into the content at certain times. For example, if a company wishes to run a national advertisement campaign targeting a certain television show associated with a particular demographic, the company may purchase one or more timeslots, or “placement opportunities”, within that television show from the content provider to air assets advertising the goods and services of the company. The content provider then provides the content to each of the television providers, or directly to the consumer, with directions to insert the assets within the timeslots purchased by the company. 
     As complex as content delivery has become, ways for circumventing advertising in the content have evolved. For example, the digital recorder, such as that produced by Tivo, is one example of a means for avoiding the asset insertions of marketing strategists. With the digital recorder, a provider&#39;s customers are able to digitally record entire episodes of content and view that content at their leisure, as opposed to a time established by the provider. However, these customers can also use the digital recorders to fast-forward or skip through the assets without viewing them, much to the dismay of the asset owners/marketers. 
     Other types of providers, such as internet based streaming content providers, have also emerged. These streaming content providers deliver content through apps and websites over the internet and other data networks, such as telecom networks. When a user of a device selects content to be viewed and/or listened, the streaming content provider retrieves the content and delivers it to the user&#39;s device (e.g., a smartphone, a tablet computer, a laptop computer, and desktop computer, or the like). However, asset circumvention software can allow a user to block all assets during delivery. 
     Moreover, it is exceedingly difficult to gauge whether the assets are being viewed in delivered content. It also exceedingly difficult to determine how to keep a user engaged in the content to ensure that the assets are being viewed. For example, a user upon receiving an asset, may turn off the content or switch to other content. 
     SUMMARY 
     Systems and methods presented herein provide for the insertion of assets into COD content. In one embodiment, a COD asset decision system (ADS) identifies asset insertion opportunities within COD contents selected by a plurality user equipment (UEs) over a network, identifies assets for insertion into the asset insertion opportunities, ranks the assets, selects portions of the ranked assets for insertion to generate asset maps, and directs the insertion of the selected assets into the asset insertion opportunities based on the asset maps. The COD ADS is further operable to generate viewing statistics of the UEs, and to change the asset maps based on the viewing statistics. 
     The various embodiments disclosed herein may be implemented in a variety of ways as a matter of design choice. For example, the embodiments may take the form of physical machines, computer hardware, software, firmware, or combinations thereof. In another embodiment, a computer readable medium is operable to store software instructions for resolving conflicts related to the directed insertion of assets into content. These software instructions are configured so as to direct a processor or some other processing system to operate in the manner described above. 
     Other exemplary embodiments are described below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Some embodiments are now described, by way of example only, and with reference to the accompanying drawings. The same reference number represents the same element or the same type of element on all drawings. 
         FIG. 1  is a block diagram of an exemplary COD ADS operable with a COD system. 
         FIG. 2  is a flowchart of an exemplary process of the COD ADS. 
         FIG. 3  is a diagram of a Plutchik wheel of emotions. 
         FIG. 4  is an exemplary timing diagram of content interlaced with asset timeslots based on the Plutchik wheel. 
         FIG. 5  is an exemplary asset map. 
         FIG. 6  is a block diagram of an exemplary COD ADS. 
         FIG. 7  is another block diagram of an exemplary COD ADS operable with a COD system. 
         FIG. 8  is an exemplary timing diagram of content interlaced with asset timeslots. 
         FIG. 9  is another exemplary timing diagram of content interlaced with asset timeslots. 
         FIG. 10  is a block diagram of an exemplary COD ADS operable within a cable television headend. 
         FIG. 11  is a block diagram of an exemplary COD ADS operable with a cable television headend through a network. 
         FIG. 12  is a block diagram of an exemplary COD ADS operable within a server to deliver network-based content. 
         FIG. 13  is an exemplary message diagram of a COD ADS. 
         FIG. 14  is an exemplary flowchart of an Asset Qualification Module (AQM) within a COD ADS. 
         FIG. 15  is an exemplary message diagram of the AQM. 
         FIGS. 16 and 17  are additional exemplary flowcharts of the AQM. 
         FIG. 18  is a block diagram of an exemplary Asset Ranking Module (ARM) within a COD ADS. 
         FIGS. 19 and 20  are exemplary flowcharts of an Asset Conflict Resolution Module (ACRM). 
         FIG. 21  is a block diagram of an exemplary processing system operable to implement a COD ADS. 
     
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS 
     The figures and the following description illustrate specific exemplary embodiments. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody certain principles that are included within the scope of the invention. Furthermore, any examples described herein are intended to aid in understanding the principles of the invention, and are to be construed as being without limitation to such specifically recited examples and conditions. As a result, the specific embodiments or examples described below are intended to be non-limiting. 
       FIG. 1  is a block diagram of an exemplary COD ADS  101  operable with a COD system  103 , often referred to as a “COD back office system”. The COD ADS  101  is operable to direct the insertion of assets into content being delivered by the COD system  103 . To illustrate, when a user via a UE  107  selects a COD content, a message is transmitted over a network  102  to the COD system  103 . The COD system  103  parses the message to determine what COD content is being selected. The COD system  103  then locates the COD content from, for example, a content database  104 . With the COD content retrieved, the COD system  103  contacts COD ADS  101  (e.g., through a network  102 ) for an asset map that directs the insertion of assets into the COD content. 
     The COD ADS  101  may determine which assets are available for insertion and generate the asset map for the COD system  103 . For example, the COD ADS  101  may determine which assets are available in a particular geographic region of the COD system  103  and/or the UE  107 . Then, the COD ADS  101  may exclude certain assets from the asset map by determining that the assets themselves are invalid and/or whether certain insertion opportunities in the COD content are invalid. For example, even if assets are selected, they may be invalid due to lack of monetary funds. And, asset insertion opportunities may be deemed invalid as they are already filled. 
     The COD ADS  101  may then rank the remaining assets and exclude certain assets from the ranking. For example, two assets may conflict with one another in asset insertion opportunities of the COD content because they do not meet a brand separation criteria, such as Coca Cola and Pepsi assets being inserted in proximate asset insertion opportunities. In this regard, the COD ADS  101  may determine which asset is more appropriate for insertion and exclude the other. Thereafter, the COD ADS  101  generates an asset map with the remaining assets that directs the COD system  103  to insert the assets into the asset insertion opportunities of the selected COD content. 
     The COD ADS  101  transfers the asset map to the COD system  103  such that the COD system  103  can locate the assets of the asset map and insert them into the asset opportunities of the selected COD content. For example, the COD system  103  may parse the asset map to extract data pertaining to which assets are to be inserted. The COD system  103  may then retrieve those assets from an asset database  105 . Alternatively, the COD ADS  101  can retrieve the assets on behalf of the COD system  103 . Then, using the asset map, the COD system  103  may insert the assets into the asset insertion opportunities of the selected COD content. Once the assets have been inserted, the COD module  106  delivers the COD content to the UE  107  over the network  102 . 
     In some embodiments, asset insertion is implemented dynamically. For example, when the UE  107  selects a COD content, the COD system  103  may retrieve the content and deliver it to the UE  107 . While the COD content is “in play”, the COD system  103  may continually contact the COD ADS  101  for asset maps for insertion into the COD content being delivered to the UE  107 . The COD ADS  101  may then compute an asset map each time the COD ADS  101  is contacted and deliver it to the COD system  103 . The asset maps then direct the COD system  103  to insert assets into the selected COD content as it is being delivered by the COD module  106 . 
     The COD ADS  101  is also operable to generate viewing statistics of the UEs  107 , and to change the asset maps based on the viewing statistics. For example, as a user of the UE  107  is viewing the COD content, the COD ADS  101  monitor the viewing of the user to ascertain which assets are effectively engaging the user. These statistics may include how many times the user terminates a selected COD content when assets are provided, how long the user stays engaged with the COD content when assets are provided, the probable mood of the user, etc. For example, if a user is selecting a series of comedic COD contents, the COD ADS  101  may determine that the user is in a relatively happy mood. The COD ADS  101  may then generate asset maps that are targeted to align with the user&#39;s mood by directing the COD system  103  to insert “happy” assets. 
     In any case, the asset map improves asset insertion for a multitude of COD content selections by delivering an automated selection of assets for the COD system  103 . That is, the COD ADS  101  generates an asset map for each COD content selection made. The alleviates any decision making by the COD system  103  as the COD system  103  can simply parse the asset maps to insert the assets. 
     To illustrate, the COD ADS  101  may generate video consumption profiles based on the viewing statistics of the user. These video consumption profiles may be used in conjunction with dynamic advertising placement to increase the likelihood that a user will remain engaged in an entire COD content selection. 
     The video consumption profiles are developed based in part upon historic viewing patterns and unique device identifiers (e.g., Media Access Control (MAC) addresses, Set Top Box (STB) identifiers, Mobile Equipment Identifiers (MEIDs), Device Serial Numbers, etc.). As COD content is delivered to the UE  107 , session information is harvested and stored. This information is inclusive of the specific asset requested and its associated metadata (e.g., genre, length, network, etc.). 
     Additionally, the embedded COD content breaks are collected and include break type, length, number of advertising avails per break (discussed in greater detail below). And, COD content session consumption information is collected for this UE&#39;s  107  processing of the related viewing habits for this selected asset inserted into the COD content. The viewing habits include the amount of the asset viewed, the asset breaks which were delivered to the UE  107 , and how the COD content session was terminated. For example, the COD ADS  101  may determine whether the entire asset was watched, or whether the UE  107  terminated the session, the relevant information related to which assets were viewed, and when is collected from the entire stream of COD content session. 
     And, over time, the COD ADS  101  determines viewing patterns for each UE  107  and behaviors that can be harvested by various vectors, such as time of day, type of genre for the COD content asset, the delivered assets, etc. For example, the COD ADS  101  may determine that one user of a UE  107  selects historical movies (i.e., COD content) in the morning and typically abandons the COD content session if an asset insertion contains more than 3 minutes of assets. Then, the COD ADS  101  may determine that another user of another UE  107  selecting news content on CNN will continue to watch the entire selection, including all assets, only if the assets are related to travel. Then, the COD ADS  101  may determine that yet another user of another UE  107  will only continue with the selected COD content if assets in an asset insertion opportunity last fewer than two minutes. 
     The COD ADS  101  uses the UE  107  consumption profile in determining which assets should be inserted into the existing asset insertion opportunities, which asset insertion opportunities should be restructured in terms of duration, and/or which assets from an available inventory would expect to maintain the consumption of the assets in the selected COD content. 
     It should be noted that COD ADS  101  does not simply direct the insertion of assets into COD content selected by a single UE  107 . Rather, COD ADS  101  is operable to generate asset maps that direct the insertions of assets into many different COD contents selected by many thousands, if not millions, of UEs  107  at any given time. Thus, the COD ADS  101  is an automated processing system that improves how and when assets are inserted into digital content (e.g., streaming music, streaming video, cable/satellite television COD content, etc.). 
     Based on the foregoing, the COD ADS  101  is any device, system, software, or combination thereof operable to dynamically compute asset maps that direct the insertion of assets into COD content selections. The COD ADS  101  is also operable to monitor viewings of COD content selections and generate statistics from those viewings to dynamically change the asset maps and further improve asset insertions. The COD system  103  is any device, system, software, or combination thereof operable to deliver COD content with assets inserted therein. The UE  107  is any device, system, software, or combination thereof operable to select, receive, and display COD content and assets, including, for example smart phones, computers, set top boxes and televisions, smart watches, gaming consoles, tablet computers, and the like. The COD content and the assets are any digital media, including audio (e.g., streaming internet radio, satellite radio, etc.), video, and streaming content over the Internet. 
     It should be noted that brand separation criteria are not intended to be limited to simply separating assets from competing brands. Brand separation criteria may include other factors such as a number of times that assets from the same brand are inserted into COD content (e.g., the frequency of branded asset insertion). Brand separation criteria may also include separating differing branded asset insertions from the same company. 
       FIG. 2  is a flowchart of an exemplary process  130  of the COD ADS  101 . In this embodiment, the COD ADS  101  identifies asset insertion opportunities within a plurality of COD contents selected by a plurality of UEs  107  over a network  102 , in the process element  131 . For example, at any given time, many thousands of UEs  107  are selecting COD content from the COD system  103 . The COD system  103  parses messages from the UEs  107  to determine the COD content selections so that the COD system  103  can retrieve the COD contents. Generally, each of the COD contents will have a plurality of asset insertion opportunities within the COD contents. The COD system  103  then messages the COD ADS  101  for an asset map that directs insertion of assets into COD contents. 
     The COD ADS  101  then identifies assets for insertion into the asset insertion opportunities of the COD contents, in the process element  132 , for each COD content. Then for each COD content, the COD ADS  101  ranks the assets, in the process element  133 , and selects a portion of the ranked assets for insertion to generate an asset map, in the process element  134 . For example, the COD ADS  101  ranks assets from the list of assets that are available for insertion to a particular COD content. The COD ADS  101  may use a variety of factors in ranking the assets, an example of which is illustrated and described below. The COD ADS  101  may then select a portion of those ranked assets by excluding certain ranked assets also based on a variety of factors, such as brand separation criteria. Once the final list of ranked assets has been compiled, COD ADS  101  generates an asset map for each UE  107 . 
     The asset map generally includes the final list of ranked assets and timeslots of the asset insertion opportunities for the ranked assets in the COD content. The asset map may also include information such as genre of the COD content, genre of the asset, times for asset insertions, durations of asset insertions, network channels. An example of an asset map is shown and described below in  FIG. 3 . 
     The COD ADS  101  transfers the asset maps to the COD system  103  to direct the insertion of the assets into the asset insertion opportunities, in the process element  135 . The COD system  103  then parses the assets from the asset maps to insert the assets into the asset insertion opportunities of the selected COD contents by the UEs  107 . Afterwards, the COD ADS  101  generates the viewing statistics of the UEs  107 , in the process element  136 . For example, the COD ADS  101  may monitor how the inserted assets affected the viewing of the COD content selections. This may be done while a current COD content is being viewed by any given UE and/or over time monitoring a number of COD content selections by any given UE  107 . Then, based on this information, the COD ADS  101  may determine how the user is affected by inserted assets (e.g., disengages from the COD content, remains engaged in the COD content, etc.). The COD ADS  101  may then generate a user profile for the user, and log the viewing statistics with the user profile such that subsequent asset maps can be generated for that user profile. The COD ADS  101  may also dynamically update the user profile over time based on historical viewing statistics and store the user profile with the UE  107 . 
     The COD ADS  101  may also develop demographics of the users based on the selected COD contents and/or the inserted assets. For example, based on the monitoring of the COD content selections by one user at a certain time, the COD ADS  101  may be able to reasonably deduce a gender, ethnicity, geographic location, age, wealth, mood, etc. of the user. Based on this information, as well as the viewing statistics of the COD content selections, the COD ADS  101  will change the asset maps, in the process element  137 , such that more relevant assets and/or asset durations are subsequently presented to the user. 
     The following use cases should assist the reader in understanding the above-mentioned concepts. The use cases are based on a COD content having three specific asset breakpoints (e.g., asset insertion opportunities) available for asset insertion processing. These three asset breakpoints are generally referred to as the pre-roll, mid roll, and post roll. And, the COD ADS  101  has generated an asset map to direct insertion of assets into these breakpoints 
     Use Case 1—Device Profile: One Minute Breaks 
     In this use case, the COD ADS  101  has determined that a user of the UE  107 , when viewing a certain COD content at a certain time, desires assets having a consumption profile that indicates that the user will typically consume the entire COD content only if the asset breakpoints encountered are one minute or less. Responding to this consumption profile, the COD ADS  101  modifies the asset map by collapsing the breakpoints and selecting only assets, making the asset break time one minute or smaller. This will ensure that the COD system  103  will not deliver COD content within asset breakpoints that are longer than one minute. 
     Use Case 2—Device Profile: Asset Insertion Matching Entertainment COD Content Genre 
     In this use case, the COD ADS  101  has determined that a user the UE  107  will only view assets having a genre that is similar to a genre of the COD content. For example, a user viewing a half-hour sitcom on the UE  107  will only watch the entire half-hour sitcom if the assets are comical in nature. Thus, while the COD ADS  101  may have already generated an asset map for the COD content selection, the COD ADS  101  may change the asset map by selecting comical assets from the ranked assets. The COD ADS  101  may also exclude assets based on, for example, brand criteria. The COD ADS  101  then transfers the changed asset map to the COD system  103  to direct the insertion of the comical assets into the sitcom. 
     In this use case, the COD ADS  101  may also determine a mood of the user. For example, if the user is downloading comical COD content, the COD ADS  101  may determine that the user is in a “happy mood” and should therefore receive assets that are “happy” in nature. The COD ADS  101  may then generate one or more assets maps that direct insertion of such assets. Of course, the embodiments herein are not intended to be limited to any particular mood. 
     In other words, asset selection may be used to tie the nature of the asset to the selected COD content when the consumption profile suggests better viewing engagement, or “stickiness”. For example, when the selected COD content is a comedy, assets are generally humorous. When the COD content is a serious documentary, assets are generally serious, etc. 
     Alternatively or additionally, the “mood” may be tied to directly to the content itself. For example, the COD content may include metadata associated with certain segments of the COD content. The metadata may indicate to the COD ADS  101  how the mood of the COD content changes over time. Thus, the COD ADS  101  may select assets for insertion into the COD content based on the metadata at the segments of the COD content. 
     To illustrate,  FIG. 3  shows a “Plutchik wheel”  250  that may be used to diagram mood over the course of a COD content selection. In this example, the mood is diagrammed in the context of a romantic comedy being selected as the COD content. At first, the COD content may include an actor trusting another actor in the COD content. Then, as the relationship grows, the actor may find himself/herself admiring the other actor as the mood transitions in element  251  during the COD content. That admiration may then transition to anticipation in element  252  when, for example, the actor is anticipating a date with the other actor. Then, that actor may express a greater interest in the other actor as the mood transitions in element  253  during the COD content. Afterwards, the actor may express optimism in a relationship with the other actor as the mood transitions in element  254  during the COD content. 
     Joy may replace optimism, in element  255 , as both actors may show their willingness to be in a relationship during the COD content. Then, the actor may express ecstasy during the COD content in element  256  as the relationship is consummated. After ecstasy, the actor may experience love with the other actor in the COD content in element  257 . And, as the actors find themselves in meaningful relationship, love may transition to serenity in process element  258 . 
       FIG. 4  illustrates a timing diagram of the COD content  260  for this example. The COD content  260  may initiate with assets being inserted into timeslots  111  of asset insertion opportunities. As the romantic comedy starts, the COD ADS  101  may select generally romantic assets like jewelry commercials. Then, the first segment of the COD content  260  is presented to a user (e.g., via the user&#39;s chosen device). The first segment of het COD content  260  may include metadata indicating trust transitioning to admiration (process element  251 ). Thus, after the segment (or even during the segment), the COD ADS  101  may identify assets that provide a mood of trust turning to admiration based on the metadata associated with that COD content segment. Skipping through the COD content, when the mood transitions to love (element  257 ), the COD ADS  101  may select assets relating to, for example, engagement rings for the timeslots proximate to (or during) the segment  257  in the COD content  260 , and so on. 
     The embodiments herein, however, are not intended to be limited to the exemplary use cases and/or examples as other factors may be used in changing the asset maps. For example, original asset maps may be dynamically adjusted based on asset load, historical device consumption patterns, the UE  107  device profile, historical take rate of assets, etc. Additionally, original break length/asset length may be adjusted to maximize viewing retention based upon historical indicators. For example, a user selecting CNN as part of the COD content may not stay engaged if the asset length is 4 mins. So, the COD ADS  101  may adjust asset length to a shorter period of time, such as 30 seconds. 
     The asset map may also be changed based on a profile of the user. For example, the COD ADS  101  may determine that the user is interested in finances based on the COD content the user selects (e.g., CBS Money Watch). Thus, when the COD ADS  101  determines that user is engaged with the content, the COD ADS  101  may change the asset map to include assets relating to finances, such as Fidelity Investments and/or eTrade to keep the user engaged with the COD content and the assets thereof. 
     The COD ADS  101  may also be capable of determining multiple user profiles of a particular device. For example, the COD ADS  101  may determine that a child is viewing a particular COD content on a television at a certain time. Then, the COD ADS  101  may determine that an adult male is viewing COD content on the television as a different time. The COD ADS  101  may keep user profiles for the different viewers of the television so as to change asset maps based on the user profiles. The user profile may even include information pertaining to whether the user prefers assets in the COD content or whether the user disengages from COD content when assets are placed in the COD content so as to change the asset map accordingly. 
     In some embodiments, the user profile may contain information pertaining to a viewer&#39;s asset preferences. For example, when a viewer selects a particular COD content, the COD ADS  101  may load that profile to generate an asset map that directs the insertion of assets that the viewer may find more relevant or enjoyable. The user profile, being generated by the COD ADS  101  may even include certain brands that the viewer is loyal to. To illustrate, based on historical observations of the viewer&#39;s UE  107 , the COD ADS  101  may determine that the viewer enjoys Coca Cola products since the viewer remained engaged with COD content when Coca Cola assets were inserted into the viewer&#39;s COD content selections. Thus, the COD ADS  101  may continue to place Coca Cola assets into the viewer&#39;s COD content selections. 
     Alternatively or additionally, the COD ADS  101  may place assets relating to a competing product as a method of enticing the viewer to switch brands. For example, after determining that the viewer enjoys Coca Cola products, the COD ADS  101  may determine that the viewer enjoys cola products in general. And, with this information, the COD ADS  101  may direct insertion of assets relating to a competing product, such as Pepsi Cola, into the viewer&#39;s COD content selections. 
     In some embodiments, this form of targeted advertising may be part of a bid process. For example, a campaign management module may increase its bid for insertion of its assets over another. Thus, the COD ADS  101 , when ranking the assets, make take into consideration the more lucrative bid. An example of such auctioning is shown and described in commonly owned and co-pending U.S. patent application Ser. No. 14/102,291 (filed Dec. 10, 2013), the contents of which are hereby incorporated by reference. 
     The COD ADS  101  may also dynamically change the length of the COD content to keep a user engaged. For example, a movie may have portions that do not necessarily contribute to the plot. The COD ADS  101  may remove those portions from the content to keep the user engaged with the COD content and the assets thereof. 
       FIG. 5  is an exemplary asset map  140 . In this embodiment, the asset map  140  itemizes the networks  142  (e.g., Discovery Channel, Velocity, Discovery Family Channel, etc.) with their various COD contents  141 . The asset map  140  also provides the dynamically adjustable duration of the COD contents with the start and end dates of the asset map (e.g., ad map flight) in the asset map element  143 . The asset map element  144  illustrates how and when certain assets are to be inserted into the asset insertion opportunities of the COD contents (e.g., pre-roll, mid-roll, post roll, etc.) along with the number of assets per asset insertion opportunity. 
     The COD ADS  101  is operable to change the elements of the asset map  140  based on the consumption profile of a UE  107 . For example, a user selecting the COD content from the Velocity network may be determined to be a male between the ages of 28 and 35 based on other COD content selections by the UE  107 . By monitoring the viewing of the user, the COD ADS  101  may generate viewing statistics of the user and determine that the user amenable to more than one asset being inserted into an asset insertion opportunity. Thus, the asset (e.g., “ad”) being inserted in the pre-roll asset insertion opportunity may be changed from “1” asset to a higher number. And, the duration of the assets may be increased from “15” seconds to “30” seconds. Additionally, the asset map  140  may be reconfigured to include assets in other asset insertion opportunities, such as the mid-roll and post-roll positions. And, the asset map may be configured, in this example, to direct asset insertion of assets relating to vehicles. 
     Of course, the asset map  140  is not intended to be limited to the illustrated embodiment, as other networks, COD contents, COD content durations, may also be used and changed. 
       FIG. 6  is a block diagram of an exemplary COD ADS  101 . In this embodiment, the COD ADS  101  includes an interface  154 , an asset qualification module (AQM)  151 , an asset ranking module (ARM)  152 , and an asset conflict resolution module (ACRM)  153 . The interface  154  is any device or system operable to receive information pertaining to a content selection by a UE  107  such that the COD ADS  101  may direct asset insertion into the selected content. In this regard, the interface  154  may also be operable to transfer information to the COD system  103  to direct the COD system  103  to insert certain assets from the asset database  105 . 
     The AQM  151  is any device or system operable to communicate with the interface  154  to initially qualify assets for insertion within the content. The AQM  151  may exclude certain assets from insertion into the content selected by the UE  107 . The ARM  152  is any device or system operable to rank the remaining assets (i.e., those not already excluded by the AQM  151 ) for insertion to the COD content. The ACRM  153  is any device or system operable to remove any ranked assets from insertion into the COD content based on conflicts between assets. For example, the ACRM  153  may determine that assets from certain advertisers conflict with one another (e.g., Coca Cola and Pepsi Cola). Accordingly, the ACRM  153  may be operable to prevent assets from these advertisers from being inserted within a same timeslot or even within a same COD content. The exemplary operations of the AQM  151 , the ARM  152 , and the ACRM  153  are explained in greater detail below in  FIGS. 14-20 . 
       FIG. 7  is a block diagram of an exemplary COD ADS  101  operable with a COD system  103  (also known as a “COD back office system”) of a headend  109 . The headend  109  is generally any system operable to receive content for processing and distribution to a UE  107  (e.g., over a cable television infrastructure or from satellite). For example, the headend  109  may receive content from content providers over television signals for distribution to the customers of a cable television provider via the UE  107 . 
     To provide the COD content, the headend  109  includes a COD system  103  that is operable to provide content to the UE  107  when desired by the customer. For example, the headend  109  may receive the content from the content providers and maintain that content within a content database  104 . The headend  109  may also maintain assets in an asset database  105 . When a particular content is selected by the user of the UE  107 , the COD system  103  accesses the content database  104  to retrieve the selected content and deliver that content to the UE  107 . 
     In this regard, the COD system  103  is any device, system, software, or combination thereof operable to deliver COD content to the UE  107  when directed by the UE  107 . The database  104  and  105  are any devices, systems, software, or combinations thereof operable to store and maintain digital data, digital audio, and/or digital video for subsequent distribution to the UE  107 . For example, the databases  104  and  105  may be operable within a computer system that stores the video and audio (e.g., MPEG) content and assets such that they may be accessed by the COD system  103  and delivered to the UE  107  when desired by the user of such. 
     To illustrate the insertion of assets into content,  FIG. 8  shows an exemplary timing diagram of COD content  110  interlaced with asset timeslots  111 , also known as “break positions” (e.g., asset insertion opportunities). When the COD system  103  receives a message from the UE  107  for the COD content  110 , the COD system  103  retrieves the COD content  110  from the content database  104 . The COD content  110 , in this embodiment, is divided into two segments  110 - 1  and  110 - 2  with timeslots  111  disposed at the front end of the COD content  110 - 1  (i.e., timeslot  111 - 1  at the pre-roll position), in between the COD content segments  110 - 1  and  110 - 2  (i.e., timeslot  111 - 2  at the mid roll position), and at the end of the content segment  110 - 2  (i.e., timeslot  111 - 3  at the post roll position). 
     Each timeslot  111  is further divided into two timeslots  112 , each of which being capable for accepting an asset that is typically, but not always, 30 seconds in duration. Thus, an asset insertion opportunity is often a subset of time of a particular timeslot  111 . The COD ADS  101  directs the COD system  103  to insert the assets according to a particular ranking that provides value for a multi system operation (MSO) and/or a content provider (e.g., monetary value, enhanced relationships with asset providers, etc.). In this regard, the COD ADS  101  may direct the COD system  103  to select assets from the asset database  105  for insertion into the asset timeslots  112 - 1 - 112 - 6  based on the ranking provided by the COD ADS  101 . 
     The embodiments are not intended to be limited to the COD ADS  101  merely providing direction to the COD system  103  for selection of various assets in an asset database  105 . In one particular embodiment, the COD ADS  101  is communicatively coupled to a content provider so as to receive instructions regarding various campaigns from asset providers on a national level. Alternatively or additionally, the COD asset insertion decision system  101  is communicatively coupled to asset providers to receive and direct insertion of the assets therefrom into the content  110 . In some embodiments, such as those illustrated below, the COD ADS  101  may be configured with the headend  109  to direct insertion of assets into the asset timeslots  112 - 1 - 112 - 6 . 
     Also, the embodiments are not intended be limited to any particular number of content segments  110  or any particular number of asset timeslots. In fact, an asset timeslot  112  may be subdivided for insertion of multiple assets. For example, television commercials are typically 30 seconds in length. Occasionally, however, asset providers reduce the material of certain assets to reduce the overall duration of a particular asset (e.g., by removing material from a 30 second commercial to reduce it to a 15 second commercial). Accordingly, a 30 second asset timeslot  112  may be configured to accept insertions of two 15 second assets. An example of such is illustrated in  FIG. 9 . 
     In  FIG. 9 , the content  110  is illustrated with the mid roll timeslot  111 - 2  having two 30 second asset timeslots  112 - 3  and  112 - 4 . The asset timeslot  112 - 3  is further divided into two 15 second asset timeslots  112 - 3 - 1  and  112 - 3 - 2 , allowing for the insertion of two 15 second assets into the asset timeslot  112 - 3 . Still, the embodiments are not intended to be limited to any particular asset duration, asset timeslot  112  duration, or timeslot  111  duration as such may be configured to meet certain business and/or technical needs. 
     Moreover, the COD ADS  101  is operable to change the durations of the timeslots  111  and/or  112 , either increasing or decreasing them based on the consumption profile(s) of the UE  107 . For example, if a user has an historical tendency to quit COD content when the assets are too long, the COD ADS  101  may shorten times and/or numbers of asset insertion opportunities. Alternatively, if the to stay engaged with the COD content regardless of the number of assets, the COD ADS  101  may lengthen the times and/or increase numbers of the asset insertion opportunities. 
     It should be noted that the decisions regarding the direction of asset insertions occur quite rapidly. For example, the COD ADS  101  may be operable to make asset insertion decisions for a plurality of headends  109 . And, each headend  109  may be operable to provide COD content to a plurality of UEs  107  at any given time, possibly hundreds of thousands or more. Thus, when a COD content selection is made by a particular UE  107 , the COD ADS  101  responds in substantially real time to ensure that the COD system  103  has ample time to retrieve and insert the assets while processing the COD content selected by the UE  107 . 
       FIG. 10  is a block diagram of an exemplary COD ADS  101  configured within the headend  109  to retrieve assets from the asset database  105  for insertion into COD content. For example, the headend  109  may receive content from a communication link such as the satellite dish  221 . The headend  109  may store that content within the content database  104  for distribution to various UEs  107  when so directed. The headend  109  may be communicatively coupled to one or more distribution nodes  201  to distribute content to the UEs  107 . 
     Content within the content database  104  that is available to the UEs  107  may be presented to the UEs through a programming menu from the headend  109 . For example, the headend  109  provides a signal to the UEs  107  via the distribution nodes  201  containing information relating to programming, available COD content, date and time, UE firmware instructions, updates, etc. The UE  107  processes the signal and displays much of this information to the user via some type of display module, such as a television or a computer monitor (not shown). A user of the UE  107  typically navigates through the information via the UE  107 . In this regard, the user may retrieve a menu of available COD content within a content database  104  and select a desired content. The user&#39;s content selection is transferred to the COD system  103  of the headend  109  via the distribution nodes  201 . The COD system  103  then retrieves the selected content from the content database  104  for playback to the selecting UE  107 , generally after verification that the selecting UE  107  is indeed a valid customer of the headend  109 . The COD ADS  101  is communicatively coupled to the COD system  103  to process the content selection of the UE  107  and determine the appropriate assets to insert in the various timeslots of the selected content. 
     A distribution node  201  is any system or device operable to interface between the headend  109  and multiple UEs  107  for the purposes of communication. For example, the headend  109 , in general, does not directly link to the UEs  107 . For a traditional cable television MSO, this generally involves a system of feeder cables and drop cables that define a number of system subsections or branches. Signals from the headend  109  may be processed by the distribution nodes  201  to insert localized content, filter locally available channels, or otherwise control the content delivered to users in the locale of a particular node. The resulting content within a node&#39;s locale is then distributed to the individual UE  107 . Each UE  107  processes a signal from the headend  109  to display the content on the display device, such as a television, computer screen, smart phone, tablet, etc. 
     As shown herein, the distribution nodes  201  are aggregated into a single element for the purposes of illustration. Each distribution node  201  is coupled to a plurality of UEs  107  to distribute the signals from the headend  109  and to process communications from the UEs  107  to the headend  109 . For example, a first distribution node  201  may be communicatively coupled to the UEs  107 - 1 - 1 - 107 - 1 - n , whereas a second distribution node  201  may be communicatively coupled to the UEs  107 - 2 - 1 - 107 - 2 - n , and so on (where “n” is merely intended to represent an integer greater than 1 and not necessarily equal to any other “n” reference number shown and described herein). 
       FIG. 11  is a block diagram of an exemplary COD ADS  101  operable with a headend  109  through a network  102 . In this embodiment, the COD ADS  101  is separate from the headend  109  and communicates therewith via the network  102 . For example, the COD ADS  101  may be a remotely configured system that interacts with the headend  109 . In this regard, the COD ADS  101  may be operable to interface directly with content providers  220  and/or asset providers  221  to receive information through the network  102  regarding certain asset campaigns of the asset providers  221 . For example, the content providers  220  and the asset providers  221  may negotiate to place certain assets within content from the content providers  220 . The asset campaigns may be developed using certain assets from the asset database  105 . Information pertaining to these negotiated asset campaigns may be conveyed to the COD ADS  101  via the network  102 . The COD ADS  101  may then use this information and direct the COD system  103  to retrieve and insert the assets of those campaigns into the COD content selected by the UEs  107 . 
     The network  102  may be any type of communication link capable of providing communication between the COD ADS  101  and the headend  109 . For example, the network  102  may be the Internet, an Intranet, or some other type of data network. The network  102  may also be implemented as a virtual private network via the Internet. In any case, the COD ADS  101  may communicate through the network  102  using standard cable television protocols such as the Society of Cable Telecommunications Engineers (SCTE) standards. 
       FIG. 12  is a block diagram of an exemplary COD ADS  101  operable with a server  230  (or some other network element) to deliver content through the network  102 . In this embodiment, the server  230  includes the COD system  103  to deliver content from the content database  104  to the UEs  107  via the network  102 . Again, the COD ADS  101  is operable to direct insertion of assets from the asset database  105  into the content for presentation to the users of the UEs  107 . In this regard, the server  230  may be configured to receive content from the content provider(s)  220  and maintain that content within a content database  104 . The server  230  may also receive assets from the asset provider(s)  221  and store that content within the asset database  105 . The embodiments, however, are not intended to be limited to any particular manner in which the server  230  is intended to receive the content and/or the assets from their various providers. 
     The UE  107  may be a computer or a mobile computing device capable of displaying video from the network  102  (e.g., via streaming video over the Internet). For example, a UE  107  may select a desired content from an Internet website hosted with the server  230  through the network  102 . Once selected, the COD system  103  may retrieve the content from the content database  104  for Internet delivery to the selecting UE  107 . The COD ADS  101 , being communicatively coupled to the COD system  103 , processes information pertaining to the content selection and selects assets for insertion into that content from the asset database  105 . The COD ADS  101  may do so based in part on the campaigns of the asset providers  221  and in a manner that provides value to the content providers  220 . 
     Although shown with the COD ADS  101  external to the server  230  and coupled through the network  102 , other embodiments may have the COD ADS  101  configured within the server  230 . Moreover, the COD ADS  101  may also be a server that communicates to the various devices and systems described herein over the Internet. Accordingly, configuration of the COD ADS  101  is not intended to be limited to any particular illustrated embodiment. 
       FIG. 13  is an exemplary message diagram of a COD ADS  101 . Initiation of the COD asset insertion begins when a UE  107  selects a particular content provided by the headend  109 . The UE  107  transfers a content request to the COD system  103  which in turn retrieves the content from the content database  104 . The COD system  103  may also retrieve active campaigns from the asset database  105 . For example, each asset provider may generate an advertising campaign with one or more campaign items. Each of these campaign items may be associated with one or more assets of the asset provider designating the desired time, date, content, audience/demographic, etc., for which the assets are to be inserted into selected COD content. The COD system  103  may retrieve the active campaigns of the asset providers and generate an asset insertion request for the AQM  151  of the COD ADS  101 . 
     Upon receiving the request, the AQM  151  may determine certain parameters relating to the placement of the assets. For example, the AQM  151  may determine durations of the assets and various placement opportunities for the assets (i.e., appropriate timeslots within the selected content). The AQM  151  may also process the active campaigns to determine their eligibility within the content to generate a list for the ARM  152  such that the ARM  152  may rank and select eligible campaigns from that list. In doing so, the AQM  151  may exclude certain campaigns from the list based on various criteria, such as whether the asset provider and/or the asset itself are valid and whether the insertion opportunities themselves are valid. An embodiment of the AQM  151  is exemplarily shown in greater detail below in  FIGS. 14-16 . 
     Once the ARM  152  receives the eligible campaign list, the ARM  152  ranks the various campaign items that include assets of the campaigns for insertion into the content selected by the UE  107 . The ARM  152  may rank the campaign items based on, among other things, their value to the content provider and/or the television provider, the strategy of the campaign, and the priority of the campaign. An embodiment of the ARM  152  is exemplarily shown and described in greater detail below in  FIG. 18 . The ranked list of eligible campaign items is then generated and transferred to the ACRM  153  which determines whether any conflicts exist among the ranked campaign items. The ACRM  153  excludes certain assets of campaigns from insertion when they conflict with others in the content selected by the UE  107 . For example, when one campaign conflicts with another campaign in the list for a selected content, the asset of the higher ranked campaign may be inserted into the content effectively excluding the lower-ranked campaign from that content. An embodiment of the ACRM  153  is exemplarily shown and described below in  FIGS. 19 and 20 . 
     Once the ACRM  153  removes conflicts from the ranked list of possible campaigns, the ACRM  153  generates an asset map that dictates the final placement of the assets within the content. The ACRM  153  then transfers the asset map to the COD system  103 , which in turn inserts the assets into the timeslots of the selected content. With the assets inserted into the selected content, the COD system  103  transfers the content and assets to the UE  107  for presentation to the user thereof. 
     After the content is delivered to the UE  107  with the inserted assets, the COD ADS  101  reports the insertion (e.g., to the headend  109 , the content providers  120 , and/or the asset providers  121 ) and dynamically changes the asset map based on the consumption profile. That is, the COD ADS  101  may retain information pertaining to the insertion of assets for use in determining subsequent asset insertions (e.g., based on time of day, demographic, device profile, etc.). 
     In one embodiment, the COD ADS  101  may receive information from the headend  109  indicative of actual views of the inserted assets. For example, the headend  109  may be operable to access a UE  107  to determine when a COD content selection is stopped such that a portion of the asset insertions are not seen by the viewer of the content selection. This information may be transferred back to the COD ADS  101  such that the asset map can be changed. In other words, when assets are inserted into COD content selections and they are not viewed because of some action on the part of the viewer, such as stopping or fast forwarding the COD content selection, the COD ADS  101  changes the asset map to compensate for the user&#39;s tastes. 
     Additionally, the COD ADS  101  may periodically synchronize a database storing information of the insertions for use as a failsafe and/or to reduce (e.g., minimize) the number of accesses to the database. For example, a database may be used to store data of the assets to ensure that the asset insertion decision system  101  does not over use the assets. The asset insertion decision system  101  may access this database each time a request for asset insertion is received. To reduce the number of processer intensive accesses to the database, the asset insertion decision system  101  may record a list of assets that are inserted and then operate off that list for directing subsequent insertions. After some period of time, the COD ADS  101  may access the database and repopulate it with the recorded insertions such that data is refreshed. Also, in the event of a failure to communicate with the database, the headend  109 , the content providers  120 , and/or the asset providers  121  regarding how and when to perform asset insertions, the COD ADS  101  may operate from the list and repopulate the database once it becomes available. 
     It should be noted that the embodiments are not intended to be limited to any particular messaging format. In some embodiments, the COD ADS  101  interacts with the COD system  103  using the standards established by the Society of Cable Television Engineers (SCTE). In other embodiments, the COD ADS  101  interacts with the COD system  103  using an Entertainment Identifier Registry (EIDR). EIDR provides a manner in which content and assets may be “tagged” with unique identifiers that are operable to distinguish the content and assets from one another. For example, content and assets generally have associated metadata to distinguish themselves from one another based on various aspects, such as age, maturity level, actors, products, and the like. EIDR identifiers are generally capable of incorporating this metadata to provide a compact means for uniquely tagging the content and assets for rapid identification due in part to its central registration. That is, each particular content and asset is identified with a unique EIDR identifier that is maintained by central registration system so that individual headends and the like may quickly identify and use the registered content and assets. 
     To provide more context to the operations of the COD ADS  101 , the following example is provided. 
     The UE  107  selects a particular episode of the television show “30 Rock” at 8 pm on a Thursday night from a menu of COD content that is presented by the COD system  103 . The COD system  103  retrieves that episode of 30 Rock from the content database  104 . The COD system  103  then retrieves certain assets from the asset database  105  for insertion into the timeslots of that show. As with many other 30 minute situational comedies, this episode of 30 Rock includes two content sections  110 - 1  and  110 - 2  and the three timeslots  111 - 1 ,  111 - 2 , and  111 - 3 , as illustrated in  FIG. 8 . Using this example, the COD system  103  transfers an asset insertion request to the AQM  151  to insert assets into these three timeslots. The AQM  151  then determines that there is a total of six 30 second asset placement opportunities within three timeslots  111 - 1 - 3  of the selected content  110 . The AQM  151  then processes the active campaigns to determine their eligibility within those six 30 second asset placement opportunities. Among the active campaigns in this example are: 
     1. A Coca Cola campaign with a total of four assets and 3 campaign items directing placement opportunities of those assets as follows: 
     a) Asset 1 for 100 views anytime; 
     b) Asset 2 for any viewing opportunities Monday through Friday between the hours of 5 pm and 10 pm; and 
     c) Assets 3 and 4 for any viewing opportunities Friday and Saturday between the hours of 5 pm and 10 pm. 
     2. A Pepsi Cola campaign with a total of five assets and four campaign items directing placement opportunities of those assets as follows: 
     a) Asset 1 for 20 views anytime; 
     b) Asset 2 for 100 views anytime; 
     c) Asset 3 for 1000 views anytime; 
     d) Asset 4 for any viewing opportunities Monday through Friday between the hours of 5 pm and 10 pm; and 
     e) Asset 5 for any viewing opportunities Friday and Saturday between the hours of 5 pm and 10 pm. 
     3. A Capital One credit card campaign with a total of four assets and three campaign items directing placement opportunities of those assets as follows: 
     a) Asset 1 for 100 views anytime; 
     b) Asset 2 for 1000 views anytime; and 
     c) Assets 3 and 4 for any viewing opportunities Monday through Friday between the hours of 5 pm and 10 pm. 
     4. A Chrysler Motors campaign with a total of three assets and two campaign items directing placement opportunities of those assets as follows: 
     a) Asset 1 for 100 views; and 
     b) Assets 2 and 3 for any viewing opportunities Monday through Friday between the hours of 5 pm and 10 pm. 
     5. A Nickelodeon campaign with one asset and one campaign item directing placement opportunities of that asset as follows: 
     a) Asset 1 for 100 views. 
     Since the television show 30 Rock has a mature theme and since the Nickelodeon campaign is directed towards a younger audience, that campaign item is automatically excluded from the eligible campaign list by the AQM  151 . Other remaining campaign items are excluded based on time and date (i.e., campaign items 1c and 2e). 
     Thus, the remaining campaigns of 1a-1b, 2a-2d, 3a-c, 4a-4b are transferred to the ARM  152  for ranking. Based on various factors explained in greater detail below, the ARM  152  ranks the campaigns as follows: 
     1. Campaign Item 2a 
     2. Campaign Item 1a 
     3. Campaign Item 3c 
     4. Campaign Item 2b 
     5. Campaign Item 4b 
     6. Campaign Item 4a 
     7. Campaign Item 1b 
     8. Campaign Item 1d 
     9. Campaign Item 2c 
     10. Campaign Item 1c 
     11. Campaign Item 2d 
     12. Campaign Item 3a 
     13. Campaign Item 3b 
     The ARM  152  transfers this ranked list of campaign items to the ACRM  153  to determine conflicts within the ranked list of campaign items. Typically, the six available asset placement opportunities  112 - 1 - 6  within the content  110  would be filled by the first six campaign items based on a rank determined by the ARM  152 . However, since some conflicts may exist between campaigns within a particular content and/or timeslot, certain campaigns may be excluded from the placement opportunities  112  such that the ranking is reordered. For example, certain criteria may dictate that a Pepsi Cola asset may not be placed within the same content as a Coca Cola asset. In this regard, the campaign items 1a-1d are removed from the ranked list because the Pepsi Cola asset has the higher initial ranking, leaving the following campaign items: 
     1. Campaign Item 2a 
     2. Campaign Item 3c 
     3. Campaign Item 2b 
     4. Campaign Item 4b 
     5. Campaign Item 4a 
     6. Campaign Item 2c 
     7. Campaign Item 2d 
     8. Campaign Item 3a 
     9. Campaign Item 3b 
     With this computed, the ACRM  153  may remove the final three campaign items 7, 8, and 9 (i.e., campaign items 2d, 3a, and 3b) from the list as the six placement opportunities can be filled with assets 1-6 (i.e., campaign items 2a, 3c, 2b, 4b, 4a, and 2c). The ACRM  153  then generates the asset map to direct asset placement to the COD system  103 . This general embodiment of the messaging may be implemented in any of the above COD ADS embodiments for use in directing the insertion of assets within the content. Other more specific embodiments are shown below. 
       FIGS. 14-16  illustrate exemplary processes and messaging of an AQM  151  within a COD ADS  101 .  FIG. 14  represents the initial reception of a COD placement request and the validation process of the selected COD content, the UE  107 , and the content provider.  FIG. 12  also illustrates the validation process of placement opportunities of assets within the selected COD content to determine whether any placement opportunities exist.  FIG. 15  is an exemplary message diagram of the flowchart of  FIG. 14 .  FIG. 16  represents the qualification process of campaigns to determine whether assets of those campaigns can be placed within the selected COD content.  FIG. 14  represents the evaluation process of individual assets within the campaigns. 
     Returning to  FIG. 14 , the AQM  151  receives a COD placement request in the process element  301 . The COD placement request originates from the COD system  103  and directs the COD ADS  101  to begin identifying assets for placement into a particular COD content selected by the UE  107 . The COD placement request includes information such as the date, time, and rating of the content selected as well as the address of the UE  107  selecting the content (e.g., physical address, MAC address, etc.). The AQM  151  upon receiving the COD placement request makes a series of decisions which ultimately results in asset placements for the selected COD content. Failure in the initial decisions results in an error, E 1 , that precludes placement of an asset, in the process element  316 . If the error occurs, the AQM  151  provides a response to the COD system  103  generating the COD placement request, in the process element  317 . 
     Otherwise, the AQM  151  determines whether the placement request is properly formatted, in the process element  302 . For example, messaging formats among content providers are varied. As part of a means for simplifying the communication for asset placement, the COD ADS  101  may standardize the format of COD placement requests from content providers. In one embodiment, the interface  154  of the COD ADS  101  receives messages from the CODs of different content providers and formats them into the COD placement request such that content providers who are not affiliated with the COD ADS  101  may be rejected according to improperly formatted COD placement request. In other words, the formatting of the COD placement request may act as a form of security to prevent unauthorized content providers from seeking access to the COD ADS  101 . Although the formatting by the COD ADS  101  may be implemented as a matter of design choice, one manner of formatting includes the Web Services Description Language (WSDL). WSDL is an Extensible Markup Language, or XML, format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly and then bound to a particular network protocol and message format to define an endpoint. Related endpoints are combined into abstract endpoints, or services. The extensibility of WSDL generally allows for the description of endpoints and their messages regardless of what message formats or network protocols are used to communicate. 
     The AQM  151  then determines whether the message ID and version are valid, in the process element  303 . For example, as another security feature, the COD ADS  101  may assign message identifiers to each authorized content provider with version numbers to ensure that unauthorized content providers do not access the COD ADS  101 . The version numbers may be useful in assuring that authorized content providers accounts are up to date. That is, even though a content provider may be authorized to access the COD ADS  101 , they may not be able to request placement of assets in their COD content because they have been temporarily restricted (e.g., due to failures of payment, assets being deemed inappropriate, etc.). 
     Once the AQM  151  validates the message ID and version of the COD placement request, the AQM  151  validates the client and target code within the COD placement request. For example, information regarding the UE  107  may indicate whether the UE  107  is authorized to receive COD content. Based on this information, the AQM  151  may validate the UE  107  and verify that the target of the selected COD content is indeed that UE  107 . After doing so, the AQM  151  may identify the local date and time of the UE  107  (e.g., to identify when assets may run in the selected content). The AQM  151  then validates the terminal address of the UE  107 . To illustrate, a stolen UE  107  may appear as an authorized UE. However, since that stolen UE  107  has changed locations, the terminal address of that UE has also changed due to its connection to a new cable link. Accordingly, the AQM  151  verifies that the UE  107  is indeed located where it is supposed to be located. Alternatively, this functionality may be configured within the headend  109 . 
     Afterwards, the AQM  151  identifies the originating Asset Decision Manager (ADM) and Content Information Service (CIS) of the COD system  103  and then determines whether the ADM is valid, in the process elements  307  and  308 . For example, SCTE standard 104 (SCTE-104) defines an interface between automation systems and compression systems that encode a digital video stream (e.g., an MPEG stream of content) at the headend  109 . Using SCTE-104, the automation system provides instructions and metadata from which a compression system creates SCTE standard 35 messages as private data packets in the digital video stream. SCTE standard 130 (SCTE-130) defines an architecture for communication and interoperation among various systems employed in cable television advertising. Based on this standard, the interface to campaign management is the COD ADS  101  and the interface to an asset insertion system is the ADM. The standard also includes a CIS that defines services for subscriber information and placement opportunities within content to support inventory exchange. 
     In one embodiment, various vendor systems at the headend  109  may perform the actual contract management, cue message detections, and asset insertions. For example, SCTE-130 defines the interface that isolates the details of each vendor&#39;s system and acts as a front-end through which other systems provide and consume cooperating services. The COD ADS  101  determines how assets are combined with content. The ADM defines messages in support of asset insertion activities. The primary consumer of these messages is the COD ADS  101 . The message interfaces exposed by the ADM allow for preconfigured asset decisions and real-time asset fulfillment models. An ADM may incorporate some rudimentary asset selection rules, such as asset rotation, but more complex asset decisions are the responsibility of the COD ADS  101 . The CIS manages metadata describing the assets, advertising and non-advertising, that are available to the other logical services defined by SCTE-130. The CIS provides query and notification interfaces to these logical services. The query service is available on an ad-hoc basis and may be called by any other logical service at any time without any prior registration. Queries specify values or patterns to be sought in the query message metadata and the specified matching information is returned in a response message. 
     Once the ADM is identified, the AQM  151  validates the ADM to ensure that it is authorized to access the COD ADS  101 , in the process element  308 . After validation, the AQM  151  identifies the asset based on its programmer and asset identifier (the “PAID”), in the process element  309 , to determine whether the asset provider is valid and active (process element  310 ) and whether the asset from that provider is valid (process element  311 ). For example, the AQM  151  may independently verify the existence of each asset at each operator location. To verify the distribution status of assets, the AQM  151  may employ SCTE-130 part  4  (SCTE-130-4) pertaining to CIS logical interfaces. Thus, the AQM  151  may query each operator CIS endpoint using the unique ID of each asset and the provider&#39;s unique programmer ID, or PAID. An example of this message flow is illustrated in  FIG. 15 . 
     In this embodiment, the AQM  151  is initiated to check the status of an asset such as when the interface  154  of the COD ADS  101  receives the COD placement request  301 . The AQM  151  generates and transfers a request to check the asset status (i.e., the PAID) to a SCTE-130-4 interface  320  of the COD system  103 . The COD system  103  in turn generates and transfers a content query request to a CIS  321  of the COD system  103 . The CIS  321  then sends a request to retrieve the asset status from back office systems  322  of the COD system  103  (e.g., the asset data base  105 ). For example, the back-office systems  322  may determine whether the asset is available, unavailable, or its availability is unknown. The status is then returned to the CIS  321  and transferred to the interface  320  in a content query response. The interface  320  informs the AQM  151  of this asset status such that the AQM  151  can determine whether such an asset placement would be valid. If it is not valid, the AQM  151  returns the error response E 1  as in other instances and then updates the asset availability. If the asset is valid, its status is also updated such that it may be used for placement in content (i.e., an asset placement timeslot). 
     With the asset identified and validated, the AQM  151  may then identify placement opportunities within the content selected by the UE  107 , in the process element  312 . For example, the content may have certain designated placement opportunities for the assets. The number, or counts, of these timeslots and their durations are used by the AQM  151  to assist in the selection and placement of assets. The AQM  151  may also identify and use any control information associated with timeslots that could restrict certain assets. In identifying these placement opportunities, the AQM  151  validates whether the content selected by the UE  107  has placement opportunities for the assets and what that number is, in the process element  313 . If so, the AQM  151  validates whether the placement opportunities are of the appropriate type, in the process element  314 . As mentioned, placement opportunities may include control information or metadata that restricts certain assets from being placed within a selected content. For example, age control information of selected content may be used to restrict certain assets from being placed within that content based on age (e.g., COD children&#39;s shows having control information that restricts assets with more mature content and vice versa). If the opportunity times within the content are valid, the AQM  151  determines whether any placement opportunities are still available within the content selected by the UE  107 , in the process element  315 . 
     After the validation process is complete, the AQM  151  qualifies campaigns to determine whether assets of those campaigns can be placed within the selected COD content, as illustrated in  FIG. 16 . In doing so, the AQM  151  retrieves and loads a list of active campaign items, in the process element  352 . For example, the AQM  151  may contact the COD system  103  via the SCTE-130-4 messaging above to access the active campaigns within the asset database  105  to determine asset campaigns that are active at the headend  109 . Once the list of active campaigns has been retrieved, the AQM  151  determines whether there are any campaign items that are available. 
     If not, the AQM  151  generates an empty placement, in the process element  363 , and a response to the COD system  103  originating the COD placement request  301 , in the process element  364 . For example, if no campaign items are available for asset placement but placement opportunities actually exist within the content selected by the UE  107 , the AQM  151  may leave the placement opportunities open for the headend  109  to insert assets within the selected COD content as desired. In some instances, the AQM  151  may even recommend placement of a noncommercial asset, such as an asset advertising the regular date and time for viewing content from a network (e.g., advertising relating to television programming for a particular TV show). 
     If campaign items are available for asset placement within the placement opportunities of the content selected by the UE  107 , the AQM  151  evaluates the campaign items in the process element  354 . In doing so, the AQM  151  validates the day/time conditions of a campaign item in the process element  355  to ensure that a particular asset in the campaign item is appropriate for the date and time when the COD content is selected by the UE  107 . For example, a commercial for a mature audience may not be appropriate for viewing until later evening hours when children are not present. Thus, if the COD content is selected during the afternoon, the AQM  151  may exclude the campaign item containing the mature audience commercial from placement within the selected COD content. Similarly, if the commercial is intended for children, the information within the campaign item asset may not be relevant to a more mature audience. Thus, if the COD content is selected during the late evening when children are not present, the AQM  151  may exclude the campaign item from placement within that selected COD content. So, when the campaign item does not meet the valid date/time conditions, the AQM  151  removes the campaign item from potential insertion into the selected COD content, in the process element  360 . The AQM  151  then determines whether there are any available campaigns remaining from the loaded list of active campaign items, in the process element  361 . If there are no available campaigns, the AQM  151  generates an empty placement, in the process element  363  (E 2 ), as described above, and responds to the COD system  103 , in the process element  364 . For example, once the AQM  151  evaluates all of the campaign items and excludes all of those campaign items in the process element  354 , the AQM  151  then determines if there are any campaigns left for potential placement in the selected COD content. If there are none, the AQM  151  may generate an empty response and contact the COD system  103  such that the COD system  103  may place an asset in the selected COD content as desires or leave it empty. Otherwise, the AQM  151  transfers the information pertaining to the remaining campaigns, items, and assets to the ARM  152  (B 1 ). 
     In continuing the evaluation of campaign items, in the process element  354 , the AQM  151  validates the metadata conditions of a campaign item, in the process element  356 . For example, assets generally have metadata associated with them that describe certain features of the asset, such as a particular actor in the asset, the theme of the asset, targeted audience for the asset, maturity level of the asset, etc. In one embodiment, these metadata features are contained in an EIDR identifier as discussed above. If the assets of the campaign item being evaluated do not meet the desired metadata conditions for the selected COD content, that campaign item is removed from consideration, in the process element  360 . To illustrate, the actor Alec Baldwin has been seen in several Capital One credit card commercials. A campaign item by the Capital One credit card company may wish to have those commercials inserted into the certain COD content featuring Alec Baldwin as an actor, such as the television show 30 Rock. Thus, if the selected COD content does not include Alec Baldwin, that campaign item may be excluded from potential insertion into the selected COD content. Alternatively or additionally, if the COD content requires assets of a certain type, the metadata of the assets may be used to exclude the assets from the content. For example, if the content precludes mature content, campaign items having assets with mature themes may be excluded from the selected COD content based on the metadata of the assets relating to maturity level. 
     The AQM  151  is also operable to validate break/position conditions of the COD content selected by the UE  107 , in the process element  357 . For example, if the selected COD content has only 30 second pre-roll and post roll timeslots available for asset insertions and the campaign item mandates that the asset be placed at the mid roll timeslot in a COD content, then the campaign item is excluded and removed in the process element  360 . 
     Once the various conditions for the campaign items have been validated, the AQM  151  then evaluates the individual assets in a particular campaign, in the process element  358 . An example of such is shown and described in greater detail in  FIG. 17 . From there, the AQM  151  determines if there are any remaining goals of a particular campaign. If so, the AQM  151  returns to evaluate the remaining campaign items in the campaign (e.g., via process elements  355 - 358 ). For example, a campaign may include a campaign item that desires 1000 views of an asset within a certain time period (e.g., a week). Once the asset has been inserted into COD content 1000 times within that time period, the goal has been reached and the campaign item and/or the asset may be excluded from insertion to the presently selected COD content and thus removed from consideration, in the process element  360 . In other words, once a goal for a campaign item has been met, it may provide little or no value to the MSO. Accordingly, the AQM  151  may exclude the campaign item from consideration so that other more valuable campaign items may be selected. Examples of campaign goals include campaign duration (e.g., % completion thereof), total number of desired placements, and the like. Otherwise, the AQM  151  adds the campaign item to a list of remaining available campaign items in the process element  362  and continues determining the availability of campaign items, in the process element  353  (B 2 ), to evaluate the campaign items for possible insertion to the selected COD content. 
       FIG. 17  is an exemplary flowchart illustrating how the AQM  151  evaluates individual assets of a campaign item in the process element  358  (C 1 ). The AQM  151  initiates this process by determining whether there are any remaining assets within a particular campaign item. As mentioned, individual campaign items may include multiple assets. Thus, if one asset of a campaign item being evaluated is excluded from insertion, another asset of that same campaign item still may be used. If no assets remain for insertion, the campaign item is removed from consideration, in the process element  360 . To illustrate, a selected COD content may be high-definition (HD) format. Accordingly, the AQM  151  may validate the video definition of the asset, in the process element  381 , to determine whether the asset is formatted in HD. If not, the AQM  151  returns to determine whether there are any assets remaining in the campaign item, in the process element  380 . If there are no other assets remaining, then the campaign item is removed in the process element  360 . 
     The AQM  151  is also operable to determine whether an asset is available on the ADM, in the process element  382 . For example, the assets are stored in the asset database  105 . These assets are periodically updated as advertisers wish to update their various campaigns with newer assets. Older assets may be removed from the databases making them unavailable for insertion. Thus, even if the older asset exists in the campaign item, that asset is not available for insertion because it does not physically exist in the asset database  105 . Accordingly, the AQM  151  removes the asset from consideration and returns to evaluating the remaining assets of the campaign item. 
     The AQM  151  may also be operable to determine whether an asset is available in a target window, in the process element  383 . For example, if the asset is only available during a certain time of the day, day of the week, etc., and the COD content is selected by the UE  107  outside of that time window, then the AQM  151  removes that asset from consideration. The AQM  151  may also be operable to determine whether an asset is available in a license window, in the process element  384 . For example, an asset may physically exist on the asset database  105  and thus be available for insertion into COD content. However, that asset could include certain licensing information that precludes insertion into COD content by the headend  109  for any of a variety of reasons (e.g., contractual obligations between television provider and network provider have ceased). Thus, the asset may be excluded from insertion into selected COD content based on its license window. Once the AQM  151  completes evaluation of the assets within a particular campaign item, the AQM  151  returns to continue evaluating the individual campaign items (C 2 ). 
       FIG. 18  is a block diagram of an exemplary Asset Ranking Module (ARM)  152  within the COD ADS  101 . The ARM  152  receives information regarding the campaign assets that are available for insertion into the content provided by COD system  103 . In this embodiment, the ARM  152  includes a priority score module  401 , a value score module  402 , a strategy score module  403 , and a goal score module  404 . The ARM  152  also includes a weight by flexibility module  405 . Generally, the ARM  152  calculates a total score for each item in a campaign based on a priority score, a value score, a strategy score, a health score, and a flexibility score, etc. For example, the ARM  152  may calculate a total score for each of the campaign items based on the function of: (priority score+value score+strategy score+health score)/flexibility score. The particulars of how each of these scores may be calculated by the ARM  152  are discussed in greater detail below. 
     The priority score module  401  is any system, device, software, or combination thereof operable to generate priority information for the campaign items provided to the ARM  152  by the AQM  151 . A priority score relates to a weighted representation of how important a campaign item is in relation to other items in a campaign. The priority score module  401  may calculate a priority score for each of the campaign items in a campaign based on the function of: (campaign priority value/sum of all priority values for the campaign items)*(parameter weight/100). For the function, the campaign priority value is assigned by the manager that creates the campaign. The parameter weight is a value used to modify how much the priority score figures into the total score. 
     The value score module  402  is any system, device, software, or combination thereof operable to generate value score information for the campaign items provided to the ARM  152  by the AQM  151 . A value score for a campaign item relates to a weighted representation of the income generated by inserting a particular campaign item into content. The value score module  402  may calculate a value score for each of the campaign items in a campaign based on the function of: ((campaign item value)/(the sum of all values for the campaign items in the campaign))*(parameter weight/100). For the function, the campaign item value is the currency value that is assigned for the campaign item. The currency value may be paid upon the campaign item being inserted into the content and/or the campaign item being viewed by a customer (i.e., a user of the UE  107 ). The parameter weight is a value used to modify how much the value score figures into the total score. 
     The strategy score module  403  is any system, device, software, or combination thereof operable to generate strategy scoring information for the campaign items provided to the ARM  152  by the AQM  151 . A strategy score for a campaign item relates to a weighted representation of how the campaign item is distributed during an active campaign. Some examples of how the campaign item may be distributed include an even distribution, an “as soon as possible (ASAP)” distribution, etc. The strategy score module  403  may calculate a strategy score for each of the campaign items in a campaign based on the function of: ((campaign item strategy value)/(the sum of all campaign items strategy values for the campaign items in the campaign))*(parameter weight/100). For the function, the campaign item strategy value may be “0” for an even distribution and “1” for an ASAP distribution. Other strategies may exist as any values in between. The parameter weight is a value used to modify how much the strategy score figures into the total score. 
     The goal score module  404  is any system, device, software, or combination thereof operable to generate goal information for the campaign items provided to the ARM  152  by the AQM  151 . A goal score for a campaign item relates to a weighted representation of whether the campaign item is behind schedule, on schedule, or ahead of schedule to meet its goal. The goal score module  404  may calculate a goal score for each of the campaign items based on the function of: ((campaign item health score)/(the sum of all of the campaign item goal values for each of the campaign items in the campaign))*(parameter weight/100). The parameter weight is a value used to modify how much the goal score figures into the total score. The campaign item health score may be determined by the function of: ((% of goal remaining)/(% of time remaining in the campaign)). The “% of goal remaining” may be determined by the function of: ((the campaign item goal−current count))/(campaign item goal). The current count is based on the insertions or views of the campaign item. The “% of time remaining” may be determined by the function of: (hours remaining for the campaign item/total hours for the campaign item), where the hours remaining is a time from the current time through the end of the flight window for the campaign item (e.g., a period of time when the asset is to air). The total hours in the function is the number of hours for the duration of the flight window of the campaign item from beginning to end. Some examples of a goal score are &gt;1 when the campaign is running behind schedule and &lt;1 when the campaign is running ahead of schedule. 
     The scoring information calculated by modules  401 - 404  is provided to the weight by flexibility module  405 . The weight by the flexibility module  405  is any device or system that is operable to generate flexibility information for the campaign items. The flexibility for a campaign item relates to a representation of how much flexibility exists for a campaign item for placement into the content. For example, a highly flexible campaign item may have little or no restrictions as to what times and/or where the campaign item is placed within the content. In contrast, a campaign item with little or no flexibility may be restricted to a few hours per day or to a few days per week. The weight by the flexibility module  405  may calculate a flexibility score for each of the campaign items based on the function of: (number of days/7)*(average hours/24)*(average number of breaks/program break default)*(average number of positions/program position default). In this function, the number of days is the count of unique days of the week the campaign item is eligible for. For example, if a campaign item is eligible to run Monday, Wednesday, and Friday, then the number of unique days is 3. The average hours may be based on the function of: (the sum of the durations of the campaign item/the count item time instances). The “program break default” in the function is a value assigned by a campaign manager that indicates the standard count of breaks in a session. The average number of breaks may be calculated based on the function of: (the sum of eligible breaks for all positions)/(a count of break positions). The eligible breaks are determined for each position as follows. When the break position is pre-roll or post-roll, the break count is 1. When the break position for the campaign item is “any”, then the break count is “program break default”. When the break position is mid-roll and the mid-roll by number is “null”, then the break count is the (“program break default”−2). When the break position is mid-roll and the number is not null, then the break count is 1. The “program position default” in the function is a value assigned by the campaign programmer that indicates the typical or standard count of positions in a break. The average number of positions may be calculated based on the function of: (the sum of eligible positions for all breaks)/(the count of breaks), where the eligible breaks are determined for each break criteria as follows. When the position is first or last, then the break count is 1 for the break criteria. When the position is “any”, then the break count is “program position default” for the break criteria. 
     After weight by the flexibility module  405  calculates a flexibility score for each of the campaign items, then the priority score, the value score, the strategy score, the goal score, and the flexibility score are provided to a compute rank module  406 . The compute rank module  406  is any system, device, software, or combination thereof operable to generate ranking information for the campaign items. The compute ranking module  406  generates a ranking for each of the campaign items based on the function of: ((priority score+value score+strategy score+goal score)/flexibility score). In some cases, one or more campaign items may have a tie ranking. A compute tiebreaker module  407  may utilize a number of other criteria for determining ranking in cases where campaign items are tied. Some examples of the criteria used by the compute tiebreaker module  407  include random assignment (e.g., “coin toss” algorithm), policies regarding preferred campaigns, etc. The ARM  152  then provides the list of campaign items along with their corresponding rankings to the process element  451  of  FIG. 19  (D 1 ) to begin conflict resolution between assets. 
     It should be noted, that the various scores and flexibility may be reconfigured as a matter of preference and that the above equations are merely used as exemplary embodiments. For example, an operator of the headend  109  may intrinsically value certain asset campaigns over others for any number of reasons. Accordingly, the operator of the headend  109  may direct the COD ADS  101  to “hard wire” the campaign priority value to a particular value. If the preference of the headend  109  operator were to change, then the operator may direct the COD ADS  101  to change the campaign priority value accordingly. This dynamic change capability allows the ARM  152  to provide more flexibility to headends  109  on an as needed basis. 
       FIGS. 19 and 20  are exemplary flowcharts of the ACRM  153  within the COD ADS  101 . These flowcharts illustrate the process of excluding assets based on conflicts with other assets and campaigns after the campaign items have been ranked by the ARM  152  (i.e., via D 1 ). The ACRM  153  initially determines whether any opportunities remain for placement within the COD content selected by the UE  107 , in the process element  451  of  FIG. 19 . In other words, the ACRM  153  determines whether the timeslots of the selected COD content have been filled with assets. If some timeslots remain open, or unfilled, the ACRM  153  proceeds to identify which timeslot positions remain open and available for asset placement (e.g., pre-roll, mid-roll, post-roll, etc.), in the process element  452 . If, however, no opportunities for asset placement remain in the selected COD content, the ACRM  153  may generate and return a response to the COD system  103 , in the process element  364 , indicating that no assets will be placed in the selected COD content. 
     When the time slots for asset placement have been identified in the COD content selected by the UE  107 , the ACRM  153  evaluates the campaign items in rank order (i.e., as ranked by the ARM  152 ), in the process element  453 . The ACRM  153 , as an initial part of a loop process through each of the ranked campaign items, determines whether any campaigns remain in the list of ranked campaign items from the ARM  152 , in the process element  454 . The ACRM  153  then determines whether a particular campaign being evaluated is adhering to brand separation, in the process element  455 . For example, some companies prefer that their assets not be placed near assets of a competitor within the same content, COD content or otherwise. To illustrate, the Coca Cola Company may desire that an asset relating to a Coca Cola beverage not be placed next to a Pepsi Cola asset from the Pepsi Cola Company so as to show individuality of its particular brand. In other words, the brand of the Coca Cola asset may become diluted when placed next to a Pepsi Cola asset because the audience may simply equate the two brands as interchangeable cola products. Thus, if a campaign item being evaluated does not adhere to a certain level of brand separation, the ACRM  153  excludes the assets of the campaign item from insertion and searches for another campaign among the ranked list, in the process element  454 . If the campaign item does adhere to brand separation, the ACRM  153  starts a loop to evaluate the individual assets in the campaign item, in the process element  457  (F 1 ), by first determining whether any assets remain in the campaign item, in the process element  456 . In other words, the ACRM  153  loops through the assets in each campaign item to determine their potential for insertion into the selected COD content. An example of the evaluation of individual assets is illustrated in  FIG. 20 , shown and described below. Once the asset(s) of the campaign item being evaluated has also been evaluated, the asset(s) is placed in a list that directs the selection of the asset(s) for insertion to the selected COD content. Afterwards, the ACRM  153  returns to the process element  456  to loop through the remaining assets of the campaign item. If no assets remain in the campaign item, the ACRM  153  loops through the evaluation of the individual campaign items in rank order, in the process element  453 . 
     Once all of the campaign items at each campaign have been evaluated and no campaigns remain (i.e., process element  454 ) or once all of the placement opportunities have been filled, the ACRM  153  directs the COD system  103  to retrieve the assets based on the list generated in the process element  458 . For example, the list may be included in a report message that is transferred to the COD system  103  to direct the COD system  103  to insert the assets into the content selected by the UE  107 . It is possible that all of the assets have been excluded during the processes described herein. Thus, the ACRM  153  may then direct the COD system  103  to not place any assets in the content selected by the UE  107 . Alternatively, the ACRM  153  may direct the COD system  103  to place assets from the database  105  into the selected COD content as desired. The ACRM  153  may also direct the COD system  103  to place assets relating to content, programming, or even services provided by the television provider. For example, if no assets remain, standard programming information, such as time and date, pertaining to the selected COD content may be configured as an asset and placed in the selected COD content. To further illustrate, when an episode of “Modern Family” is selected by a UE  107  and no assets remain for insertion into the available time slots of that episode, the ACRM  153  may direct the COD system  103  to present the user of the UE  107  with the date and time when the next episode of Modern Family can be seen. However, the embodiments are not intended to be limited to any particular type of noncommercial asset. 
     Since it is also possible that not all of the assets in the list may be placed as there may be more assets than available opportunities, the ACRM  153  may weight the assets prior to placement in the selected COD content, in the process element  461 . For example, certain assets may provide greater value to the MSO or content provider (e.g., the television network). In this regard, the ACRM  153  may rank the remaining assets in a manner that provides the most monetary compensation to the headend  109 /content provider. Thus, the ACRM  153  may reduce the list of available assets for insertion to the amount of opportunities, or timeslots, in the selected COD content to provide this value to the MSO/content provider. In any case, the ACRM  153  directs the COD system  103  to place the assets in the selected COD content based on the ranked list, in the process element  462 . Once placement has been directed, the ACRM  153  generates a placement report and transfers that report to the headend  109  so that the headend  109  can track marketing views (e.g., for later negotiations between television providers and marketers). For example, when a marketer can know how many views of a particular asset there were in a selected COD content, the marketer can assign a value to that asset that may be used in negotiating price for additional views of the asset in future selected COD content. 
     In  FIG. 19 , the ACRM  153  loops through the assets in each campaign item to determine their potential for insertion into the selected COD content (F 1 ). During the evaluation of a particular asset, if the asset fails to qualify for insertion into the selected COD content, the ACRM  153  may return to the process element  456  to determine whether there are any other assets remaining for evaluation (F 4 ). Otherwise, the ACRM  153  continues through a variety of evaluation steps. In this embodiment, the ACRM  153  initiates by determining valid break positions within the selected COD content, in the process element  501  of  FIG. 20 . For example, an asset may require insertion into a certain timeslot within the COD content. If that timeslot is not available for the asset, the asset may be excluded from consideration. The ACRM  153  may also determine whether there is a valid asset separation of a particular asset, in the process element  502 . For example, while the brand separation adherence is determined in the process element  455 , certain other assets may require separation within COD content. To provide another real-world example, the Coca Cola Company may wish to not place an asset pertaining to Coca Cola products immediately next to one another so as to not bombard the user of the UE  107  with multiple advertisements at roughly the same time. Accordingly, the ACRM  153  may ensure that the assets of a particular company, product, etc. are separated within the selected COD content. 
     The ACRM  153  may also determine whether a particular asset is of the proper duration, in the process element  503 . For example, some timeslots within COD content are only available in 30 second “chunks”. Thus, if the asset under evaluation is only 15 seconds, there would be a period of 15 seconds of unoccupied airtime in the COD content. The ACRM  153 , in this regard, may then exclude that asset from insertion into the selected COD content. Alternatively, the ACRM  153  may search for another 15 second asset within the potential assets for insertion alongside the 15 second asset to fully occupy the placement opportunity and prevent missing a placement opportunity in the COD content. The ACRM  153  may also determine whether the asset is the correct video definition for insertion into the COD content, in the process element  504 . For example, COD content may vary in terms of definition from selection to selection. Some COD content selections may be of a SD format whereas the assets may be in an HD format. To ensure that the assets can be placed in the selected COD content and played at the same format of the SD COD content selection, the ACRM  153  may exclude those HD formatted assets (and vice versa). 
     As part of an extension to the exclusion process by the AQM  151 , the ACRM  153  may also be configured to communicate with the ADM to determine whether the asset is available at the ADM (process element  505 ), whether the assets is available in the target window (process element  506 ), and whether the asset is available in the license window (process element  507 ). The process element  457  ends (F 2 ) with the placement of the asset in the list for selection in the process element  458  of  FIG. 19 . 
       FIG. 21  is a block diagram depicting a processing system  600  also operable to provide the above features by executing programmed instructions and accessing data stored on a computer readable storage medium  612 . In this regard, embodiments can take the form of a computer program accessible via the computer-readable medium  612  providing program code for use by a computer or any other instruction execution system. For the purposes of this description, computer readable storage medium  612  can be anything that can contain, store, communicate, or transport the program for use by a computer. 
     The computer readable storage medium  612  can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor device. Examples of computer readable storage medium  612  include a solid state memory (e.g., a Universal Serial Bus flash drives), a magnetic tape, random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Some examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W), and digital versatile disk (DVD). 
     The processing system  600 , being suitable for storing and/or executing the program code, includes at least one processor  602  coupled to memory elements  604  through a system bus  650 . Memory elements  604  can include local memory employed during actual execution of the program code, bulk storage, and cache memories that provide temporary storage of at least some program code and/or data in order to reduce the number of times the code and/or data are retrieved from bulk storage during execution. 
     Input/output (I/O) devices  606  (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the processing system  600  either directly or through intervening I/O controllers. Network adapter interfaces  608  may also be coupled to the system to enable the processing system  600  to become coupled to other processing systems or storage devices through intervening private or public networks. Modems, cable modems, IBM Channel attachments, SCSI, Fibre Channel, and Ethernet cards are just a few of the currently available types of network or host interface adapters. Presentation device interface  610  may be coupled to the system to interface to one or more presentation devices, such as printing systems and displays for presentation of presentation data generated by the processor  602 . 
     Additionally, although the term “headend” generally suggests the distribution center or office of a cable television operator or MSO, the term is not intended to be so limited. The term headend as used herein is any system operable to deliver content to a viewer (e.g., a customer or user of the UE). For example, the term headend may encompass internet servers delivering COD content when selected by a user from a device, such as a computer, a tablet, or a mobile phone. A headend may also refer to a telecom provider that distributes content to mobile phones and other devices. Also, the term “asset”, as used herein, includes any type of media for which an owner desires promotion. Examples of such include traditional television commercials, advertisements, streaming video commercials, promotional materials, marketing information, and the like. The term “content”, as used herein is any type of media, such as audio and/or video, in which assets may be inserted. For example, the content operable within the COD delivery systems described herein may be streamed Internet audio/video (e.g., including streaming music stations), analog cable television feeds, digital cable television feeds, digital satellite television feeds, or digital satellite radio feeds. Thus, the content of the COD described herein is intended to encompass Video on Demand (VOD) found in modern cable television as well as pay-per-view (PPV) delivered by both modern cable television and satellite television. COD is also applicable to and encompasses content streaming (e.g., over the internet of other data network) to various devices, such as smart phones, tablet computers, desktop computers, and laptop computers. 
     While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered as exemplary and not restrictive in character. Certain embodiments described hereinabove may be combinable with other described embodiments and/or arranged in other ways. Accordingly, it should be understood that only the preferred embodiment and variants thereof have been shown and described and that all changes and modifications that come within the spirit of the invention are desired to be protected.