PATENTSCOPE will be unavailable a few hours for maintenance reason on Tuesday 19.11.2019 at 4:00 PM CET
Search International and National Patent Collections
Some content of this application is unavailable at the moment.
If this situation persists, please contact us atFeedback&Contact
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters



Robert T. Kulakowski Rancho Santa Fe, CA Inventor is United States of America citizen

Field of the Invention:

The present invention relates to electronic advertising targeting profile systems and, more particularly, to a profiling system used to identify and target subscribers in a targeted ad delivery system.

Priority Claim

This patent application claims priority from U.S. Provisional Patent Application number 61142367 filed 4 Jan 2009 titled Advertising Profiling and Targeting System and is incorporated herein by reference.


Description of Problem

As advertising models expand there is opportunity to precisely target desired consumers in targeted advertising campaigns. A targeted ad advertising campaign is one wherein an advertiser uses technology to deliver ads to groups of consumers who match criteria deemed important to an advertiser. Targeted advertising is in contrast to broadcast advertising wherein an ad is broadcasted to consumers with little or no regard to whether a consumer is interested in the product being advertised.

There are many targeted ad profiling technologies and a large majority are based on 'fuzzy logic' or neural network technologies to identify potential advertising targets, and these technologies will collectively be called Fuzzy logic based targeting systems. One problem with Fuzzy logic based targeting is that advertisers do not have precise control over the targeted individuals in a targeted ad delivery system because the fuzzy logic performs fuzzy processing.


It is therefore an object of the invention to allow advertisers a powerful and flexible precise targeted ad targeting system without requiring neural networks or fuzzy logic.


In accordance with the present invention, there is provided an ad delivery management system that uses precise targeted ad profile processing that is fully deterministic and is not subject to vague or fuzzy processing rules or neural network based processing.

A complete understanding of the present invention may be obtained by reference to the accompanying drawings, when considered in conjunction with the subsequent detailed description


In this patent application the term "Ad" will be used for content of any form of advertising content including ads that are inserted into another piece of content, or switched in place of original content or an original ad, or is ad content added to an original piece of content such as a movie. While the use of the term Ad is short for advertising in this patent application the term Ad is used generically for any form of content including but not limited to the following: video, audio, advertisements in any form, education, training, binary data, photos, computer programs, or application, or applet data, computer programs in any form, games in any form, Java programs, script data, and any form of digital data or digital content or digital medium. Content can be any form or type of video, audio, or binary data (of any form). Examples of content include but are not limited to binary computer data of any form, games, video, audio, music, photographic, or any other type of data. In addition the target ad profiling described herein can be applied to any type of content recommendation processing such as recommending books to read, movies to watch, television programs that may interest the view, sports program suggestions and any other form of system wherein recommendations are made to a user of the system.

The term subscriber or consumer is used to identify a person or people that use a service (TV service, Video or Music service, etc.) or are consumers.

Targeted consumers or targeted subscribers are consumers being targeted by a targeted advertising campaign of any form. Typically the targeted ad campaign will include ad content being in a form that can be used or consumed by the computer or electronic equipment being used by a consumer. However cross-platform targeted ad campaigns are also supported by this invention wherein profiling data and profile data adjustments maybe done on one device format (e.g. STB) and this data updates subscriber profile data for multiple screens or different content playing devices such as Set Top Boxes, Personal Computers (PCs), PDAs, Game Players, Mobile Phones, Personal Media Players, MP3/iPod devices, video player, etc. For example, if the consumer is using a Set Top Box and is watching video a video targeted ad is delivered to the consumer, and when an audio player is bing used an audio ad is supplied, likewise for a game player a video ad or game (interactive) ad is supplied to the consumer.

This invention includes a profiling system wherein consumer likes and dislikes are collected and ranked or rated allowing an advertiser to identify which subscribers are likely to be interested in the products and services being advertised.

This invention includes a Targeting system wherein consumer profile data is used to selectively identify consumers based on one or more subscriber criterion deemed important by the advertiser.

A consumer questionnaire has a list questions that are used to learn about a consumers likes, interests, dislikes, etc.

In this patent application the terms Profile Score or Consumer Ranking or Subscriber score or Subscriber Rating or similar are used to indicate the results of processing subscriber profile data along with desired profile target criteria established by a targeted advertiser. Profile Score (or equivalent term) provides the targeted advertising system of this invention a value or metric to rank or rate consumers when determining which targeted ads (if any) should be delivered to a consumer. Profile Score can also be used to dynamically brokering available consumers to advertisers and this invention allows for advertisers to bid against other advertisers for consumers that match highly targeted ad campaigns. A dynamically brokered Ad is an ad wherein the processing to identify a targeted client is dynamic (occurring in real time just prior to an ad being seen by the viewer) and advertisers can place bids for purchasing an ad slot and then the advertiser with the winning bid gets to insert their ad into the slot they bid for and won the bid.

For example, dynamic brokering provides a processing system wherein an advertiser can set a highly selective criterion for an individual they are targeting an ad towards and then use consumers Profile Scores to determine the best candidates for an ad, and bid in real time to purchase the ad slot or the right to deliver a targeted ad to that subscriber. In this patent application two examples of profile scoring methods are described and are called Summation Based and Category Based scoring. However, this invention should not be limited to only the two methods and it is envisioned that other methods of adding or scoring profile data can be used while still maintaining the spirit of this invention.

The term Profile Match is loosely used to indicate how a consumers profile matches an advertiser's profile. The reason it is used loosely is because profile matches can occur on the consumer as a whole wherein each profile category is combined with the consumer receiving a single indicator as to how well they match or don't match a targeted profile. Profile Match also describes how well a consumers profile matches a single criterion, criteria, or a category or collection or grouping of criteria. Different profile matches will be desired by different advertisers and the number of individual criterion desired or required by advertisers will vary, therefore the way the subscribers profile data is used to determine whether the consumer is a profile match will vary.

From a high level this invention provides the following processing: a. An ad slot is identified (or created before or during the time content is being used/played). The ad slot identification process uses any one of the different ad slot identification techniques described in this patent application or other ad identification techniques that support ad delivery to different client devices. b. Prior to when an ad is played profile data for subscribers is dynamically brokered wherein subscribers are targeted using target criteria. Dynamic brokering can occur in client device, at network edge site, or at another processing site. c. Dynamic brokering process will process targeted advertiser criteria and consumer profile data to define a match. d. Dynamic brokering will indicate to consumer's device (STB,

PC, mobile phone, game player, etc.) the ad or ads that client device should play. Or dynamic brokering will indicate to advertising ad insertion equipment which ad or ads that a client device should receive. Or, dynamic brokering will indicate to client device which advertising content stream the client should receive when the client device can switch to content streams containing ads. In some systems client device can perform a directed channel change to tune to a channel containing an appropriate ad for the individual subscriber, or the client device can tune to, or switch to a multicast content stream containing ad content.

Profile Data => Targeting System => Profile Match

Ad slots can be identified using any one of several methods including advertising Cue Tones (such as SCTE 35 cue tones) or other parameters. Examples of other parameters used to create or identify an ad slot include time offsets into content (ads are located at 5 minutes, 7 minutes 30 seconds, etc. into the content), or file offsets, or content offsets (play an ad after 1000 MPEG video i- frames, or after 15 minutes of content have been played, or other content or time or user interaction based event has occurred (start new video, or Nth channel change, etc.).

Figures 1, 2, 3, and 4 provide examples of a few different items that may be asked on a consumer questionnaire. The examples provided in these four figures present one example of a customer profiling questionnaire and other forms of profile data entry can be substituted.

Questionnaire can be explicated created wherein a consumer or a person with consumer information fills in a questionnaire of any type (electronic or physical such as preprinted paper questionnaire, or a computer based questionnaire, or a Internet or web based questionnaire). Or, questionnaire can be implicitly filled in with consumer data that is captured by any form of data collection, including but not limited to data based on consumer interaction with a content delivery, consumer credit card or banking information, data supplied by a consumer, web site accesses made by a consumer, web site searches performed by a consumer, video or broadcast TV or radio stations selected by a consumer, detection of geographic location of a consumer, collecting data on the programs and amount of time a consumer watches a program (TV or video), collecting data on the amount of time a consumer watches commercials associated with content, direct information about a consumer such as the car they drive, the entertainment they enjoy, the amount of time and any other data collected about the consumer without the consumer explicitly filling out a questionnaire. It is envisioned that questionnaires will range from relatively simple one with one or more questions to very detailed ones with hundreds or even thousands of data items (zip code, interests, education, preferred items/manufacturers in many different product categories, etc.). It is also envisioned that combinations of questionnaire data that has implicitly and explicitly collected data will be used for consumer profile data.

An advertiser will target an audience (targeted audience or groups of consumers or subscribers) using a set of criterion developed by the advertisers and this is called TARGETED CONSUMER PROFILE REQUIREMENTS. TARGETED CONSUMER PROFILE REQUIREMENTS defines the criterion an advertiser desires for a specific targeted ad advertising campaign. An example of a TARGETED CONSUMER PROFILE REQUIREMENTS an advertiser may use to target an audience include the following:

MUST HA VE - the targeted consumer or subscriber MUST have these properties or they we be excluded from the targeting list no matter how well other properties of their profile match the criterion established by the advertiser. MUST HA VE' s criterion can be logically AND'd or logically OR'd to determine targeted or excluded subscribers. MUST HA VE AND"d require all the MUST HA VEs in this category for a consumer to be targeted.

NICE TO HAVE - criterion matches in the NICE TO HAVE category add or subtract to the total Consumer Profile Score in one or more of the ranking categories or in the combined score of categories when combining multiple categories. Criterion matches in the NICE TO HA VE classification are given values such that the total number of the NICE TO HA VE profile matches cannot exceed the MUST HA VE profile score thereby eliminating targeting consumers who have good scores on the NICE TO HA VE but do not have matches in the categories marked MUST HA VE.

Categories such as NICE TO HAVE or MUST HAVE can be individually scored and individually processor on a category by category basis or can be combined wherein two or more categories (e.g. NICE TO HA VE and MUST HA VE) are combined when computing the final score.

ALWAYS EXCLUDE - criterion matches in the ALWAYS EXCLUDE categories get scores that no matter how many perfect matches in the other categories are found the total PROFILE SCORE will never be positive.

While the above TARGETED CONSUMER PROFILE REQUIREMENTS were defined in terms such as MUST HA VE, or NICE TO HA VE, etc. other terms can be substituted while still supporting the spirit of the invention.

< See the file Profile Engine experimentation notes Sept 27 2008.xls spreadsheet for example processing and include the examples from the spreadsheets Terms:

PROFILE ENTRY - a value or range of values entered for one item from a collection of items being used as input to the profiling system. The Profile Entry defines the meaning of the data for that entry. Examples of PROFILE ENTRIES include but are not limited to items such as Gender, Income, interest in sports, art, dance, racing, residence location for a consumer, food likes, religious interest, etc. Data specific to a consumer will be entered for one or more PROFILE ENTRIES. Profile entry data can be binary (Yes, No), or more defined (strong interest, moderate interest, not interested, strong dislike, etc), or can be non- linear or can be data that is processed through processing steps that yields a value used in the calculation of a PROFILE SCORE. One example is optionally combining one or more data values or profile entries to compute a second or derived profile entry.

PROFILE SCORE - the total score for a consumer after taking the consumer profile data input or processing input and processing it using the targeted ad profiling system of this invention. The PROFILE SCORE or Consumer Profile Score provides a ranking score such that consumers can be targeted based on how closely they match one or more criteria in a targeted ad delivery campaign.


In one example of the targeted ad profile invention the sum of MUST HA VE properties needs to exceed the maximum sum of all the other parameters (or criteria) that are not as critical or important that refine the basic aim of the targeting system. For example, if there are only two MUST HA VE properties and the maximum score of MUST HA VE is a total of 200 and there are a total of 10 NICE TO HAVES each with a maximum of 40 each then having only 5 NICE TO HA VES will exceed 200 the maximum total of all the MUST HAVES therefore the totals of the MUST HAVES needs to be increased to greater than 400 or reduce the maximum sum of the NICE TO HA VES to less than 200. One example of how this can be achieved is to score the MUST HA VEs at 1000 points each and the NICE TO HAVEs at 10 points each and if 2 positive matches from the MUST HA VE category is desired than a match score of 2000 or greater is required to target an individual.

In another example of the targeted ad profile invention each category can be individually scored and a consumer is targeted based on individual category criterion. In yet another example of the targeted ad profile invention a combination of category scores are processed to determine if a consumer meets the targeted advertisers target criteria.

In this patent application many different examples of how profile data is ranked to determine which consumers meet or exceed the desired criteria established by an advertising. Because of the numerous ways a ranking system can be implement this invention should not be limited to only the provided examples.

Scoring for answers to categories such as MUST HA VE items can also be included with Boolean logic functions such that a profile MUST HA VE a female who is interested in both Hunting AND Fishing. The minimum

TARGETED CONSUMER PROFILE REQUIREMENTS with summation scoring must exceed the scoring values for these three items combined without other categories such as NICE TO HA VE having a score creating a profile match without the minimum MUST HA VE criterion being met. In this example the minimum profile score for a consumer to be profiled must exceed the score given for the three required items (Female, Hunting, and Fishing) and this minimum score threshold cannot be influenced by NICE TO HAVE profile matches. This means the sum total of NICE TO HAVE profile items cannot be equal to or greater than the total of one MUST HA VE.

Likewise, for ALWAYS EXCLUDE items the value will be significantly larger and negative so that the sum of all the targeted ad profile data for a consumer will never be positive and only consumer profiles scores with positive values will be targeted. For example, a profile system that has a maximum positive score for one category (for all MUST HAVE or NICE TO HAVE scores) of 4000 for a consumer who is a perfect target match in every category. And, the targeting advertiser does not want to include men in the targeted audience. In this case men will receive a score of negative 4000 or larger such that no matter how well a man's profile matches the targeted audience their score will never be positive. Obviously, the exact numbers used to create a profile score are not important and the score can be scaled for any range of numbers. Rather, it is the value of scores for each TARGETED CONSUMER PROFILE REQUIREMENT that is important to prevent a number of NICE TO HAVE items from falsely identifying a subscriber based on the total score of NICE TO HAVE items, or a must exclude from not being strong enough in value to exclude a consumer who matches a must exclude criterion.

Likewise, a consumer should not be falsely disqualified because the total score of NICE TO HAVE items when added to MUST HAVE items results in a TARGETED CONSUMER PROFILE REQUIREMENTS that is less than the total of the MUST HA VE items. This means that the maximum possible negative value of the NICE TO HAVES when subtracted (all NICE TO HAVES in a profile generated the maximum negative values) from the MUST HAVE score does not disqualify an otherwise qualified candidate.


In this patent application consumer profiles scores where combined together resulting in a total PROFILE score for a consumer, however, each category value can be individually processed on a category by category basis (all MUST HA VES added independently from all NICE TO HAVES, and all MUST EXLUDES added independently for the other categories) and each category total is evaluated individually to identify a profile match. An example is as follows:

MUST HAVE category has 2 matches, and NICE TO HAVE has -15 matches, and MUST EXCLUDE has 0 matches and the profile score for each of the categories is processed independently of other categories, or combined in a manner that results in the processed score reflecting the appropriate ranking for consumers. In this case if all the category scores are added together the profile score for a single consumer would be -13. However, when the categories are processed individually the profile score for the MUST HA VE is +2 and the consumer meets the minimum to be targeted and the score of- 15 for the NICE TO HA VEs indicates that this consumer is not as strong a target as a consumer who has a positive or less negative NICE TO HA VE score. When categories are individually processed (add/subtracted/scaled) then there is no need to design the system to prevent the total scoring of one category from influencing the results of another category. For example, when categories are individually processed a MUST EXCLUDE value of 1 can be uniquely identified as a MUST EXCLUDE consumer regardless of the scores of the other categories and MUST HA VE can have any score (e.g. 1000) yet the value of 1 in the MUST EXCLUDE when one or more categories are individually process exclude the consumer from a match. Category scoring results in significantly improved profiling flexibility without having to be concerned with cross category contamination and allows for category scores to have individually thresholds applied, for example, consumer must have two MUST EXCLUDE items to be eliminated or a MUST EXCLUDE total of 5 meaning weighted MUST EXLUDES are summed together to exclude a subscriber.

Stated in another way, this invention supports the creation of multiple categories of consumer profile questions and the independent processing of each category (weighing each question if appropriate)followed by individually processing each category score to see if a profile match occurs. Using the above categories as an example, an advertiser can create a MUST HAVE category of criterion and a MUST EXLCUDE category of criterion and compute the category score for each category and then set limits individually on each category. One example is that a targeted consumer is required to have a MUST HAVE score of 4 criterion matches and no more than 2 MUST EXCLUDE matches. The above examples and all the other examples provided in this patent application server to illustrate the working of the invention and should not be used to limit the scope of the invention.

It is envisioned by this advertising profiling system that profile input data can contain many different data formats and values and one example is provided in Figure 7. Figure 7 provides one example for profile data that use either discrete (binary) profile input data such as "Yes" or No. Figure 7 also provides example ranges of values for interest level such as "moderately interested" or "moderately dislike", etc. Any form of profile set data values are supported by this invention and the inventive elements should not be limited to only this one example.

Table 5 provides one example of the profiling system. An example data set for Consumer data is shown in the column with heading Profile Set 510. Profile Set 510 can be considered the master template of a portion or of all the data collected about a consumer in the system. While only 9 elements (Sex 511, Zipcode 512, ... Owns Truck 510) are shown in Profile Set 510 it is envisioned that any number of elements can be contained in Profile Set 510. The example Profile Set 510 has the following entries:

While the provided examples show how to build target profiles and profile a subscriber database, this invention can also be used to evaluate a subscriber profile and determine the most relevant ad that a subscriber should watch and will be referred to as selecting the most relevant ad. Selecting the most relevant ad processes two or more targeted ad profiles and determines which of the two are more relevant for a subscriber for an ad slot For example, there are ten targeted ads available for an ad slot, and the subscriber processing computes this subscribers profile score for each of the ten ads and then selects the single ad that has the best profile match for this subscriber. Any form of weighting can be applied to the various categories to compute which one of the available ads is the most relevant ad for this subscriber. Most relevant ad processing can be performed in the network or on the client itself wherein one out of many different ads are selected based on processing the targeting information for the ad and selecting the ad with the highest score after processing.

This invention should not be limited by the actual values provided herein and any number system or scale can be used wherein it the relative strengths of the key parameters that keep a value from creating false positives based on the combined strength of other non-important values. Example includes a target being someone who hunts and fishes and consumers who do not have these attributed check but do score well on other attributes cannot sum up the other non-essential attribute score to exceed a threshold to be considered someone who fishes or hunts.

Example: Hunt/Fish multipliers are 50 and 80 (fishing is being more targeted) so times 100= 5000/8000 respectively and the sum of all the other values of important criterion cannot exceed 2000 total with maximum values and maximum matches on the other nonessential (hunt and fish) criterion.

Input Interest Data

Input interest level data in "yes" or "no" format or with levels of interest such as the following:

No interest

Moderate interest

Strong interest

Fanatic level of interest

Strongly dislike

Mildly dislike

Table 7A - Example of input data for interest level

Table 8 - Example of Target Ad Profile system using Separate Category Processing 1 Table 8 provides an example of Separate Category Processing wherein each defined category (e.g. MUST HAVE COMBINED, MUST HAVE ONE OR MORE, NICE TO HAVE, ALWAYS EXCLUDE, STRONGL Y DISLIKE). In Table 8 an example list of profiled items is provided in cells A4 though Al 3 with examples including profile data for Gender (Cell A4), Income (Cell A5), interest in Fishing (Cell A9), etc.

Column B in Table 8 indicates the MUST HAVE COMBINED data matches in a consumers profile and in this example the only requirement is that the subscriber be a Female, if the subscriber is a male they are excluded from the targeted audience for this ad. While the ALWAYS EXCLUDE category (Cell column F) includes MALEs (Cell F4) and this is redundant in that the MUST HAVE COMBINED column indicated that only Females are targeted, there will be other situations and profile targets wherein the ALWAYS EXLUDE and MUST HAVE are not related and are not mutually exclusive. This invention supports apply any logic combination with a category or between categories or both within and between categories.

For a profile match the MUST HAVE COMBINED establishes a threshold requiring all the targeted consumers MUST HAVE this trait COMBINED (MUST HAVE COMBINED) with one or more MUST HAVEs. If the MUST HAVE COMBINED value or values are not met than there is not profile targeting match.

Column C in Table 8 provides an example of a MUST HA VE criterion with either Hunting (Cell ClO) or Fishing (Cell C9) being required along with the subscriber being Female for a profile match. Advertisers can set the threshold for the MUST HAVE CATEGORY to any number and a Match Threshold of 1 or greater for this column/category results in the consumer meeting or exceeding this category requirements.

In each category weights can be applied to one or more of the category data items such as Gender, Income, Likes Fishing, etc. in any one of the match criterion categories (MUST HAVE, NICE TO HAVE, ALWAYS EXCLUDE, etc.) to bias the data items weight when being scored.

An example is provided in Fig. 8 column E labeled NICE TO HA VE optional weighted score. In column E an advertiser who is seeking consumers with a strong interest in Fishing, Hunting, and is preferring consumers with an interest in soccer. The preference to Hunting and Fishing enthusiast that likes Soccer is reflected in the optional weighting score of 5 times applied to this entry in the weighted column E. and apply a multiplier of 5 to the Fishing score for a consumer of 100, resulting in a Fishing score in cell E9 of 500. In the profile scoring system the score of Fishing (cell E9) at 500 is significantly larger than the other items in the optionally weighted column E (NICE TO HAVE optionally weighted) and therefore consumers who have an interest in Fishing will obtain higher scores than consumers without an interest in Fining. It is important to not that the consumer must have Fishing and Hunting interest (cell C9 and C10)and those who like soccer will be more targeted than those who do not like soccer because they will receive 5 times the normal value for a profile entry score than other categories (rows) of profile entries. Weighting can be applied to any profile entry and can be non- linear scaling or scaling with logic rules applied to the scaling calculation, for example, if a moderate interest in a profile entry multiply by 2 and if a strong interest in a profile entry multiply by 4.

The scores for this profile range from -100 to +100 and the consumers NICE TO HA VE (unweighted in cell D9) is 100 and the optionally weighted score (cell E9) is 500 due to weighting factors applied by the advertiser to the profile scoring system. While the values of -100 to +100 for the range of profile scores is arbitrary they do provide sufficient dynamic range to allow advertisers to effectively target individuals based on their scores for the different consumer profiles. It is envisioned that other ranges of values can also be supported such as +1000 to -1000 or +1.0 to -1.0 and the invention should not be limited to a range of values.

Also shown in Table 8 is an ALWAYS EXCLUDE column (cells F) that indicates that any data entry match for this column if it exceeds a threshold, or exceeds 1 (default threshold when not specified) will be excluded from being targeted.

Table 8 also shows an example where a category called STRONGL Y DIS LIKE (column G) is used to establish criterion to reduce the score or disqualify a consumer based on certain strong dislikes. For example if someone strongly dislikes US C ARs (cell Gl) this can be used to disqualify a consumer or to reduce the profile score of a consumer. If consumer has a strong dislike of US cars than only qualify consumers as ad targets when they drive Trucks (cell D 13). As one can see, there are limitless possibilities on how weights, processing and logic can be applied to this profile targeting system.

In Table 8 a consumer that meets the minimum requirements for targeting (Female who likes Hunting and Fishing) with a NICE TO HAVE score of 175 (cell D 14) will be targeted before a female that meets the minimum targeting requirement (likes Hunting and Fishing) and a NICE TO HA VE profile score of 125. Other categories can also be factored into the final targeting score to rank consumers for targeted ad delivery.

While the above examples describe the combination of many different elements to target a subscriber as little as one profile match can be applied such as Gender equals Male or Female. Any complexity of profile matches and scoring and logic can be applied to the scoring system. It is also envisioned that profile data entry values can not only have unique weights (multiplication values) applied but also unique processing for each profile data entry or each criteria or criterion as well as the way a category score is computed and the processing associated with the targeted requirement or any other data item or processing in the system. This can be likened to additional processing being optionally applied to as little as any one single data item in the profiling system or a collection of data items, or unique processing for any step of the scoring system described herein.

Category Targeting Criteria (Row 16) in Table 8 provides some comments for the profiling target of this example.

In this patent application specific category names and category scores are used for illustrative purposes only and it is envisioned that other category names and criteria can be substituted for the ones provided in this patent application and the invention should not be limited to only those provided.

Subscriber profile questions and processing may contain data that is not discrete, and an example includes a range of zip codes being targeted by an advertiser. Targeted ad processing provides support for processing input ranges and other none linear or none discrete data using data appropriate processing. An example is when an advertiser is targeting zip codes 92xxx through 97333 and 91 lxx. In this example the targeted ad processing will perform a compare to see if subscriber zip code is between 92000 and 97333 or between 91100 through 91199. This processing can be performed in any form of processing module with the output indicating whether subscriber is in targeted zipcode. Similar type processing can be added for any other criteria that may not be a simple yes or no value or simple input value.

Figure 5 shows a summation based profile scoring for a 3 different subscribers processed for an advertiser targeted.

Figure 6 shows dynamic updating of subscriber profile data wherein a subscriber profile is dynamically updated based on events related to the subscriber. While any events can be used to update subscriber profile including updates based on monitored television viewing habits, the amount of time a viewer watches television ads, purchased made at stores or with banks or credit card companies sharing such information, etc. In Figure 5 the profile values for fishing, hunting, bowling, software, and other events are updated based on actions by the subscriber. These actions include buying a new expensive fishing rod, watching certain programs or attending certain events. The original profiles are increased in this example, but decreases can also occur.

Figure 29 provides a high level overview of the targeted ad processing system. In Figure 28 Subscriber Profile Data 2920 represents any form of information or data about a subscriber including subscriber preferences, interests, hobbies, income, television viewing habits, residence information, food likes, personal preferences, etc.

Advertising Targeting Data 2910 represents data used to indicate the desired subscribers being targeted by an advertiser. Advertiser Targeting Data 2910 includes data for one or more advertisers and optionally data for one or more targeted ad delivery profiles providing data for one or more targeted ads being delivered to subscribers.

Targeted Ad Processing Logic 2930 receives as input Subscriber Profile Data 2920 and Advertiser Targeting Data 2910 and processes this data and outputs a result 2940 indicating whether this subscriber's profile data matches one of the advertiser targeting data 2910 sets. Should result 2940 indicate subscriber profile data 2920 matches an advertising target as indicated by advertising targeting data 2910 then the subscriber is one an advertiser desires is seeking to deliver ads to.

Results 2940 output from targeted ad processing logic 2930 may also indicate that the subscriber profile data 2920 matches one, two, or more advertising targets and when this occurs additional logic called multiple match resolution logic is employed (not shown) to resolve which one of the ads should be delivered to the subscriber. Multiple resolution logic uses any form of processing to determine which one ad from the ads that processing for this subscriber indicates that the subscriber meets the criteria as indicated by multiple advertising targeting data 2910 sets. In one example, multiple match resolution processing will select to deliver the ad with the highest ad revenue to a subscriber when a subscriber profile data 2920 matches multiple advertising targeting data 2910 sets. In another example, advertisers who place the most ads will be preferred by multiple match resolution logic. In yet another example, a simple round robin resolution technique will be applied. There are many different ways the multiple match resolution processing logic can determine which ad to deliver to a subscriber when subscriber processing indicates a subscriber matches multiple advertising targeting data 2910 for multiple ads being targeted to subscribers. Multiple match resolution processing logic can occur at any location in a content creation or content distribution system.

Target ad processing logic 2930 shown in Figure 29 can be performed at any location within a content distribution/advertising distribution network including at the time content is created, during content distribution, during content consumption or play out in a client device, during content rendering or transcoding or processing in any device, in a service provider head- end, in a client device, at any network or content distribution point including network edge locations or in any network or switching or broadcast equipment.

Advertising targeting data 2910 has an indicator that indicates the ad campaign number preventing a subscriber from repetitively seeing the same ad over and over again.

Advertising targeting data 2910 and targeted ad processing logic 2930 also supports ad campaigns where an advertiser such as Proctor and Gamble (P&G) delivers a number of ads under a single umbrella ad target dataset and this is called open-ended ad delivery. Open ended means the actual ad to be delivered can be one-of-N from P&G and P&G can dynamically (or prior to ad playout) select which ad to deliver. Within advertiser targeting data 2910 is an indicator for open ended (a single ad is not specified) ad placement and delivery. When results 2940 output from Target Ad Processing Logic 2930 detects an open-ended ad match then Open- Ended Ad Placement Logic (not shown) resolves which ad should be displayed to the user using any resolution processing technique. Open-ended ad delivery allows an advertiser to dynamically adjust which ads to deliver. Open-ended ad delivery allows advertisers to determine just prior to the ad being played which targeted ad to deliver. In essence, it allows at ad insert time processing to resolve in real time which ad should be inserted into an ad slots, with the slot being reserved based on advertising targeting data 2910 matching subscriber profile data 2920.

Target ad processing logic also includes ad swarm prevention. Ad swarm is processing logic and data to prevent one subscriber from seeing the same targeted ad repeatedly. Ad swarm occurs when subscriber profile data 2920 matches advertiser targeting data 2910 and there is no restricting the number of time the same ad is delivered to the same subscriber. Ad swarm prevention logic includes data indicating the number of times a subscriber can be presented the same ad. Ad swarm prevention logic and have any configurable time constraints or repeated play constraints defined such as do not repeat in less than n-hours, or do not repeat in less than a week, or do not repeat in the same title, etc.

Ad dynamic brokering is the process of determining which ad should be inserted. Ad dynamic brokering includes data to support the following use cases: a. Broker ad to highest bidder - processing checks the revenue per ad slot and inserts the ads paying the highest amount of money for the slot. b. Broker ad to best advertiser - using a metric such as total revenue paid per advertiser ad brokering logic determines ad placement based on the amount of revenue paid by the advertisers when a collision between advertisers occurs (a subscriber is being targeted by multiple advertisers). c. Broker ad based on the subscriber profile match score output from target ad processing logic 2930 (Figure 29). When target ad processing logic 2930 indicates the subscriber matches a number of targeted ads (subscriber profile data 2920 indicating a match after targeted ad processing logic 2930 processes with advertiser targeting data 2910) then the match with the highest value is targeted. d. Other brokering/resolution techniques can be applied.

Ad dynamic brokering optionally incorporates ad- swarm protection logic.

Targeted Ad processing logic 2930 optionally can dynamically broker an ad slot using reverse brokering logic when a subscriber does not match advertising targeting data 2910 after target ad processing logic 2930. With reverse brokering logic Subscriber Profile Data 2920 is provided to a reverse brokering processor (not shown) that uses subscriber profile data 2920 to find an advertiser targeting subscribers. Reverse brokering processes subscriber profile data 2920 with multiple advertiser targeted data 2910 and the processing seeks to find an advertiser running a targeted ad campaign seeking subscribers with this subscriber profile data 2920. Reverse brokering process provides subscriber profile data 2920 to a number of advertisers to see if any of the advertisers would like to target this subscriber. Advertisers using reverse brokering process may not have significantly large advertising campaigns and desire to place spot ads. Target Ad Processing logic 2930 can optionally perform reverse brokering logic on every n-th ad, or on predetermined intervals, time, or occurrences of any event or frequency. Reverse brokering is called reverse because the ad placement system is looking for advertisers to target an individual who does not meet the current advertiser targeting data 2910 for any number of reasons (not enough targeted advertiser running targeted ads at this time, or subscriber does not meet the minimum criteria to be targeted, or other reasons).

Figure 10 provides a block diagram for the system flow of video data including ads or ad slots. An ad slot or ad cue tone (slot marker) is an indicator of any form identifying the location of a where an ad can be inserted into a video. Figure 10 uses SCTE35 cue tones to indicate an ad slot indicating the location of where an ad can be spliced into a video stream. Ad slots can also be used to indicate where a video stream should be paused and an ad inserted, or as an indicator to a video player client the location of where ad video can be played in a stream An ad slot marker (SCTE35 cue tone or other type of indicator) can also indicate that an ad slot is upcoming in the video stream prior to the actual location in the video where an ad can be added.

Contained within the slot marker or data associated with the ad insertion point is data that identifies each individual slot. This individual slot identifier is called a slot god GUID used to uniquely identify each ad slot within a piece of video. God GUIDs can identify the owner of the slot or the content producer for the content who added an ad slot into the video. GodGUID is unique for each piece of content and preferably unique for each ad slot within a piece of content. Slot god GUIDs can be added at any point in the creation, production and distribution chain for video (or content of any type).

Slot marker: a. Cue tone that identifies the slot (e.g. SCTE35 cue tone) b. Meta-data containing an ad slot GUID (Globally Unique ID) for each piece of content and each slot. c. Optional data indicating the targeted profiles for the slot. This data identifies the type of slot and the desired targeted profiles that when found on a client device should have targeted ad data replace or inserted at the actual advertising location in the video as indicated by the ad slot marker or cue tone. (One example is provided in Figure 29 Advertiser Targeting Data 2910 and Subscriber Profile Data 2920 processed by Targeted Ad Processing Logic 2930).

In Figure 10 broadcast stream video is used as an example of content with ad slots in the content. Broadcast stream video includes video content and SCTE35 Cue Tones that identify upcoming ad slots followed by video (typically 1 to 4 seconds) followed by the action Slot, followed by more video. Typically the SCTE35 Cue Tone will preceded the actual ad insertion point to allow ad switching processing time to determine the actual ad that should be substituted if any for the default ad in the video stream. Should the ad switching processing determine that no ad should be inserted because there is no profile match or the particular ad slot is not being replaced with targeted ad video then the ad switching logic does not replace the ad video in the ad slot and this is called playing the default ad contained with the video stream.

It is envisioned by this invention that ad slot processing and management provides support for resolving the ad slot GUID for ads managed by content creators and ads managed at any point in the content (e.g. video) distribution chain including global, national, regional, and local levels, and distributed over any type of network (broadband, cable, satellite, WiFi, physical disk (BluRay, DVD, CD, etc.), mobile, WiMax, etc.)

Figure 12 provides an example of associating target profile data with an ad slot. In Figure 12 an ad slot ID is identified and the ad slot GUID or metadata within the ad slot marker identifies the actual slot. Target Profile Data (either in the ad slot or obtained dynamically identified by dynamic resolution process) provides one or more targeted ad profile data sets used to determine if a client device meets one of the targeted profiles for this ad. In Figure 12 an ad slot contains a slot ID that is used to associate the content or ad slots within the content to a slot owner (content creator, broadcasters, advertiser, ad broker, ad agency, etc.). When an ad slot is identified Target Profile Data is used by target ad insertion processing logic to resolve whether a subscriber meets a targeted ad criterion and should receive a targeted ad.

In Figure 12 step 3 show MATCH slot_profile_target with clients and this is one example of target ad logic processing (2930 in Figure 29). In this example target ad processing logic 2930 is performed in the client device.

Figure 13 shows processing steps wherein a subscriber registers in the system via a Graphic User Interface. Subscriber profile data is stored in a database by a process called Diva. Subscriber profile data is linked to client devices, or user accounts, or user accounts on client devices when shared amongst subscribers or user. Diva processing manages the association between subscriber profiles and the numerous client devices a subscriber may own or have registered.

Figure 14 show processing steps wherein a piece of content has targeted ad slots created in the content by targeted ad processing system (hereafter called Diva). In Figure 14 input content is processed in step 2 and the content is ingested into Diva with Diva adding ad slots to the content and adding Ad Slot GUIDs for the ad slot inserted into the content. After processing in Figure 14 content has managed ad slots. Content with managed ad slot includes identifies wherein ad slots are identified by the ad slot id with granularity as large as one id for all the ad slots in a piece of content or with each ad slot containing its own ad slot ID. Ingest process stores content ID and ad slot ID in Diva database. Content ID is a identifier for a piece of content and in one example is a globally unique identifier with a content owner identifier and a unique content id for a particular piece of content. Ad slot creation in Figure 14 optionally adds advertising processing cue tones (e.g. SCTE 35 cue tones) used to indicate ad slots within content. If content being ingested contained ad cue tones without ad slot management data then content ingest processing shown in Figure 14 will add additional data to the content such as Ad Slot GUID data and optionally advertiser targeting data.

In one example, when content is broadcast television video ad slot GUID data can be associated with a television program and electronic program guide data such as television listing data published by TV Guide or Tribune Media.

Figure 15 shows a few of the processing steps for one form of ad processing. In this example advertiser targeting data is added in the network edge in the step labeled 3. In step 3-a an ad slot is detected (in this case at the head end) in the content stream. Upon detecting an ad slot processing step 3-b goes to the diva database and checks to see who owns or purchased the ad slot using the content ID or the content ad slot GUID or the individual ad slot GUID unique for each ad slot in a piece of content.

After the check is made a list of targeted advertisers for the slot is obtained from either within the content stream itself or sent separately from the content stream (out of band to the content stream).

In Figure 15 ProfĎŠle Target Meta Data is sent that includes advertiser targeting data for one or more ad slots for the content along with information about the targeted ads which in this case shows Internet Protocol Addresses for ad targetl, ad_target2, ... Ad targetl, Ad_target2, etc. in this example indicate the network data for accessing the actual ad content (ad video for example) along with other data including advertising targeting data (referred to as perfect aim tuple data).

If subscriber matches one of the targeted ads for the content or a particular ad slot then ad switching logic in the client device or the network presents the targeted ad to the subscriber by using the IP address and port number in this example. Ad switching logic can be located anywhere in the content production and distribution chain for content and ad insertion/switching can be performed for streaming content or file based content or a combination of both.

Figure 16 presents a client view of targeted ad switching when client performs targeted add processing logic and switching. In Figure 16 client detects ad cue tone (Q tone) and Diva added metadata (slot GUID, optionally advertiser targeting data) contained within video stream. Client performs target ad processing logic and determines results. If results indicate a match between subscriber profile data and advertiser targeting data then client switched to IP:Port for the video stream for this targeted ad.

Figure 17 expands upon Figure 16 including multiple match resolution wherein a subscriber matches two or more advertiser target data sets.

This invention also includes an Ad Delivery Counter used to limit the number of matches in a targeted ad campaign. If an advertiser desires to reach all females over a given distribution network (mobile for example) and only wants to deliver 1000 targeted ads and there is a population of 2 million viewers there is a strong likelihood that more than 1000 ads can be placed. In fact, as many as 1 million or more ads can be placed with as simple a criteria as gender equals female.

AD Counters

Ad Counters are an element of this invention to count the number of targeted ads being delivered in a targeted ad campaign. This invention includes three different ad counters with two being one- line real time ad counting and the third being a 'best effort' attempt ad counting off- line method.

On-line real time ad counter interacts with the client at the time an ad slot is detected and indicates to a client or a group of clients which ad they should switch in. Ad switch processing upon detecting one or more targeted ad matches for a subscriber contacts a server in real time and indicates the matches for the client and processing logic provides the switching logic information about the ad to switch in if switching is to be performed for this subscriber.

On-line message based ad counter sends a message to the switching logic indicating that an ad should be switched into an ad slot. Ad switching in this mode is pre- managed where an ad count process determines the number of clients available for the ad at a particular time and instructs the clients that should make the switch. Clients who have a profile match (target ad processing logic indicates subscriber profile meets advertiser targeting data) but do not receive a on- line message that they should switch at the appropriate time do not switch and play the default ad in the content. The likely reason they did not get a switch message was because there were more available clients to view the ad then the advertiser paid for.

The third method of ad counting is based on a best efforts attempt to deliver the appropriate number of ads and is called off- line ad counting where the switching device does not receive data indicating that the subscriber should receive an ad. Off- line ad counting uses logging information in the switching device to reconcile the actual ads delivered. Advertiser bills can be adjusted for the actual number of ads delivered after ad delivery reconciliation. Off- line ad counting and delivery is less accurate than real time ad counting but does not require real time processing to place ads. Off-line ad counting estimates the number of users on the system at any one time for any program and then adds additional advertiser targeting data that will limit the number of subscriber profile matches to a range that is approximate to a best guest estimate of the number of subscribers that will see the ad. Off- line ad counting adds subscriber profile data and an estimate of the number of users or viewers for a particular piece of content and adjusts the advertising targeted data in such a way that the number of ads delivered is about the number paid for by the advertiser. Ad delivery system includes the following processing steps when off-line ad counting is supported: a. Estimate the number of viewer/users for television channel or users of the content at a particular time or for a particular piece of content on a particular network segment. b. Using subscriber profile database estimate the number of ads that will be delivered using advertiser targeting data as supplied by the advertiser with the number of viewer estimated in step A above. c. Compare the number of estimated viewers that will receive the ad to the number of ads the advertiser is purchasing. If the estimated number of ads being purchased by the advertiser is not within the range of the estimated number of ads that will be delivered in step B above (+ or - some percentage, example 10%), then adjust the advertiser targeting data by changing advertiser targeting data criteria until number of ads purchased is in the range of the estimated number of ads that will be delivered from step B above. d. Use advertising targeting data from step C above for the advertiser targeting data delivered to subscribers. e. Receive ad switching logs counting the number of actual ads of each type switched.

Step 'b' and 'c' above uses subscriber profile data applied to the number of viewers estimated in step 'a'. On-line real time ad delivery counter is more accurate than off-line ad counting, however off-line add counting is appropriate when on-line connection to subscribers receiving content with ads is not available.

For example, assume step 'a' above indicates that there will be about 100,000 subscribers viewing a program of interest to women. Step 'b' applies advertising target data to a 100,000 subscriber sample of the database predominantly women (say 70%). If an advertiser purchases 10,000 ads targeting women then up to 70,000 women would receive the ad if 'gender is female' is the only advertiser targeting data for off-line delivery. Additional advertiser targeting data is added to reduce the total estimated target group for this ad from 70,000 to 10,000 or even 8,000 to allow for an error of 2,000 in case more viewers watch the program than expected.

Advertiser indicates the number of ads they would like to purchase and this is referred to as ADs TO DELIVER. When ad switching is performed

Additional advertising targeting data is used to adjust the total estimated ads that can be delivered such that off- line ad delivery is not likely to exceed the purchased ADs TO DELIVER for an ad. Diva processing estimates the number of ads that will be delivered as described above and adjusting advertising targeting data criteria used by target ad processing logic. When the estimated ads that may be delivered is too little when compared to the total purchased Ads TO DELIVER than advertising targeting data is adjusted to deliver more ads.

Figure 18 shows a content id GUID (a unique identifier for a piece of content) added by content owner or at first content ingestion point. When content is created or at first network ingest point a globally unique identifier (GUID) is added to content (a content guid) being created or ingested into the system. Content guid is used to identify content in a system or content owner or preferably both. Content guid acts like a UPC (Universal Pricing Council) code for each piece of content. Content id guid can also indicate not only the content and content owner but also additional information about the content and where it was distributed, along with other content related data such as actors, directors, movie ratings, movie sound track information, year the movie was created, etc.

Typically content distributors or content service providers obtain content from content producer containing content guid. In the event content guid is not present in content then content ingest process adds content guid with appropriate information for the content such as content owner if known, along with optional additional data related to the content.

Figure 19 continues the ingest process wherein a movie (content) id is created if necessary and the content (e.g. movie) is moved to appropriate location for the movie (VOD server or broadcast server, etc.). An optional HTML menu page is created for the ingested content in step 4. Step 5 optionally scans the content looking for ad cue tones and ad slots contained within the content and creates an inventory of ad slots for the content.

Figure 20 shows additional content id data including optional distributor(s) information added to the content as content moves throughout a distribution system. Adding additional distributor information is optional and helps track the distribution history of content.

Figure 21 shows additional data for content with any of the content related data (movie ID guid, content owner, ad slot information, content data, etc.) or all of the content related data included in the content itself, or any of the data sent separate from the content (out of band delivery of data). Shown in Figure 21 is optional ad data including slot id information, data indicating whether the ad is brokered, and ad video if the ad is inserted before playout in the client.

Figure 22 shows additional information ad criterion, targeted ad name or ID or guid, ad sales person, ad slot details (slot offset in the video, slot id, additional slot data, etc.), content related data such as the movie title for movies.

Figure 23 presents another inventive element of this invention called dynamic brokering, a process where ad slot management is performed dynamically. Dynamic brokering uses globally unique id (content or slot or both) in a process that brokers the slot using any brokering logic such as broker ad in a particular geographic location, or only to certain manufacturers, or to the highest bidder, or using any other criteria.

Figure 24 presents a view of one subscriber profile matched against 3 different advertiser targeting data sets. Summation based scoring is used in Figure 24 but is not filled in and based on the information Dave would not have a good score for advertiser 1 looking for females but does have good matches for advertiser 2 and 3 advertiser target datasets.

Figure 25 presents a category based profile including categories such as MUST HA VE, NICE TO HAVE, MUST EXCLUDE, etc.

Figure 26 shows a number of cue tones with unique IDs in a video stream.

Figure 27 presents slot ID and data associated with a slot such as the god ID for the slot (original owner of the slot), location where slot was created, additional content data (metadata).

Figure 30 provides an example of category based scoring for advertiser targeting data contains six different categories. Shown in column A is an example of subscriber profile questions. Column B shows the matches a subscriber MUST HA VEs that are ANDED together to be targeted and all indicated requirements in this column must be present in a subscriber profile to be targeted. Column C provides MUST HAVEs that are logically 'OR-ed' together wherein a subscriber only needs one of the selected criteria. Column D Nice To Have indicates criteria advertisers may apply to differentiate subscribers. Column E is weighting for column D wherein a subscribers profile answer is weighted by the value in column E before computing their column score. Weighting can be added to any of the columns or categories. Column F indicates items that will exclude subscribers. Column G provides scoring for profile items a subscriber strongly dislikes. Figure 30 provides only one example of category based scoring and this invention envisions other category and naming conventions applied or substituted for names used in the examples provided herein.

Rows 4 through 13 show an example subscribers input for the profile entries shown in column A. With category scoring a catgory (e.g. column b, or c, or d, or e, etc.) is individually processed to determine if the subscriber meets advertiser requirements. In the example provided in Figure 30 a subscriber who is Female and likes Hunting or Fishing meets the desired subscriber profile an advertiser is targeting.

Figure 31 and Figure 32 show variations on category scoring.