CA2323166A1 - Method and system for targeted advertising - Google Patents
Method and system for targeted advertising Download PDFInfo
- Publication number
- CA2323166A1 CA2323166A1 CA 2323166 CA2323166A CA2323166A1 CA 2323166 A1 CA2323166 A1 CA 2323166A1 CA 2323166 CA2323166 CA 2323166 CA 2323166 A CA2323166 A CA 2323166A CA 2323166 A1 CA2323166 A1 CA 2323166A1
- Authority
- CA
- Canada
- Prior art keywords
- message
- audience member
- audience
- characteristic information
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 230000008685 targeting Effects 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 230000002085 persistent effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 2
- 238000005259 measurement Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 4
- 238000012384 transportation and delivery Methods 0.000 abstract description 27
- 239000003795 chemical substances by application Substances 0.000 description 45
- 230000008569 process Effects 0.000 description 12
- 238000012550 audit Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000399 orthopedic effect Effects 0.000 description 2
- 238000005316 response function Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- -1 DCII Chemical compound 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2543—Billing, e.g. for subscription services
- H04N21/2547—Third Party Billing, e.g. billing of advertiser
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25883—Management of end-user data being end-user demographical data, e.g. age, family status or address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/165—Centralised control of user terminal ; Registering at central
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The present invention relates to a method and system for targeted delivery of messages to audience members of programming content. In one aspect of the invention a method for targeting a message at a broadcasting audience member is presented. The method comprises the steps of; receiving characteristic information about said audience member, receiving a schedule of one or more broadcast programs that are selectable by said audience member, said one or more programs having one or more timeslots for the broadcasting of a message, receiving one or more messages to be broadcast during the timeslots comprised by said programs, receiving demographic information of a target audience member for said messages, determining a match between one of the messages with said audience member based on an operation that considers at least one of said characteristic information, said selectable program and said target audience information, wherein said operation uses an approximate reasoning method, and presenting matched messages to said audience members during any timeslots associated with any of said programs.
Description
METHOD AND SYSTEM FOR TARGETED ADVERTISING
Field of the Invention The present invention relates generally to methods and systems for delivering messages and more particularly relates to the targeting of these messages to audience members .
Background of the Invention to Radio and television advertising is well known and has existed since the early days of broadcasting. It is also well known to craft advertisements and attempt to target them at audience members to whom a particular product or service will appeal.
The crafting of advertisements is generally performed by advertising production agencies. The delivery of the advertisement is typically performed by the broadcaster, perhaps via a cable company or other service provider, including, telecommunications providers, who sell advertising timeslots to advertisers. Broadcasters attempt to maximize their advertising fees by creating programs that will appeal to a particular and/or wide audience. The fees charged by the broadcasters will be influenced by 2o their success in attracting the target audience. Surveys and other techniques are used in an attempt to gather listener or viewer 'ratings' that can be used to assess the value of an advertising timeslot.
Overall, modern advertisers and broadcasters have become more sophisticated in terms of targeting advertisements at particular audiences through advertising content and ratings analysis. However, a great deal of guesswork and inefficiency still exists. For example, the value of ratings derived from surveys depends on the accuracy and honesty of audience members when they report their results. Such ratings can be additionally skewed by statistical averaging used to predict how many other audience members have similar habits. Even if these survey results reflect the 3o number of audience members who watched or listened to a particular program, the results may not verify whether the audience members actually tuned into the advertisements that were shown during the advertising timeslots.
i Further, traditional radio and television advertising is only semi-automated.
There are numerous steps in the chain between the sale of advertising slots to the broadcasting of the content in these slots that are still performed manually.
This essentially precludes the use of any targeted advertising methods that present a selected advertisement to a selected viewer as the current methods of the industry cannot accommodate the complexities associated with this type of targeting.
Such targeted advertising in the broadcast industry will generally only become feasible with digital formats.
In the world-wide-web ("web") environment, more sophisticated advertising 1o techniques can be used in part because of the digital format and the chance for interactive communications. Due to the interactive nature of the web, it is known that specific banner advertisements can be presented to a given audience member, in this case a web-surfer, based on the information content of a recently visited web-site or other tracking information. See, for example, US Patent 5,794,210 "Attention brokerage" to Nathaniel et al., US Patent 5,855,008 "Attention brokerage" also to Nathaniel et al and US Patent 5,948,061 "Method of deliver, targeting and measuring advertising over networks" to Merriman et al. However, notwithstanding the use of banners, such targeted advertising techniques on the web are generally unsuitable for the radio and television broadcasts where the advertisement is traditionally a series of audio and/or video frames. Currently, in the web environment, a user is required to click on the banner in order to be exposed to more information. Further, the operations used by the prior art to match advertisements with web-surfers can be somewhat unsophisticated, because, for example, they typically track simple web-site usage without considering further information about the user.
It is also believed that banner advertisements in the web environment are not as effective as traditional television and radio advertisements, as the banners can be ignored in favour of the other information presented on the web page. Unless the web-surfer actually clicks on the banner advertisement, there is no way to be sure that the web-surfer actually viewed the advertisement.
3o The emergence of digital radio and television environment which include high definition television (HDTV) and interactive television (ITV), reflects the convergence of conventional television and radio broadcasting with digital formats which allow a broader range of information exchange. While the foregoing prior art techniques can be used to deliver advertising in digital radio and television, it is desirable to provide targeted advertising that fully accesses the capabilities of the digital format. Further, it is desirable to target this advertising according to viewer information including interests and demographics, thus allowing a total "push"
model of advertising. In such a model the advertising content would be selected for an individual or group of individuals. The current art is not capable of achieving these goals.
Summary of the Invention In one aspect of the invention a method for targeting a message at a broadcasting audience member is presented. The method comprises the steps of;
receiving characteristic information about said audience member, receiving a schedule of one or more broadcast programs that are selectable by said audience member, said ~ 5 one or more programs having one or more timeslots for the broadcasting of a message, receiving one or more messages to be broadcast during the timeslots comprised by said programs, receiving demographic information of a target audience member for said messages, determining a match between one of the messages with said audience member based on an operation that considers at least one of said 2o characteristic information, said selectable program and said target audience information, wherein said operation uses an approximate reasoning method, and presenting matched messages to said audience members during any timeslots associated with any of said programs.
In accordance with another aspect of the invention a method of presenting a 25 message, in a targeted manner, to an audience member of a plurality of audience members of a program, the message being presented during a timeslot that is one of a plurality of timeslots that are comprised by a program of a plurality of programs for broadcast that is selectable by the audience member of said plurality of audience members is presented. The method comprising the steps of, a) collecting a first set of 3o data representing characteristic information of each audience member of said plurality of audience members, b) receiving a second set of data representing demographic information of a target audience member for said message, c) determining a qualifying level for each of said characteristic information for a first audience member, d) weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information, e) calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member said qualifying level for each s of said characteristic information and demographic information of said target audience member, f) presenting said message to said first audience member during said timeslot if said calculated value meets a predefined criteria, g) repeating steps b) - fj for each additional audience member within said plurality of audience members of said programs, and h) repeating steps b)-g) for each additional timeslot within said 1o plurality of timeslots comprised by said programs.
In accordance with another aspect of the invention a method of matching a message with an audience member of a plurality of audience members, each of said audience members being capable of selecting to receive a broadcast program containing a plurality of timeslots is presented. The method comprising the steps of;
15 collecting a first set of data representing characteristic information of each audience member of said plurality of audience members, receiving a second set of data representing demographic information of a target audience member for said message, determining a qualifying level for each of said characteristic information for a first audience member, weighting said qualifying levels according to the desirability of 2o matching said message to said first audience member having certain characteristic information, calculating a value, to be compared to a predefined threshold value, using at least one of said characteristic information of said first audience member said qualifying levels for each of said characteristic information and demographic information of said target audience member, and comparing said value to a predefined 25 threshold value.
In accordance with another aspect of the invention a method of matching a message with an audience member of a plurality of audience members being capable of selecting to receive a program comprising a plurality of timeslots is presented. The method comprising the steps of; defining a vector space having an origin and a 3o plurality of dimensions that each represent a category of characteristic information of an audience member, receiving a first set of data representing a measurement for each said category for audience members, receiving a second set of data representing a likelihood that a given audience member will select said timeslot, determining a qualifying level for each said category for said audience member based on an operation that maps said first set of data onto said second set of data, plotting said qualifying levels in each respective dimension of said vector space, varying said plotted qualifying levels by applying a weight to each of said qualifying levels, said weight varying with the desirability of matching said message with said audience member, determining whether said varied plotted qualifying levels fit a predefined threshold criteria for matching said message to said audience member, and including said audience member in said target audience if said threshold is met.
In accordance with another aspect of the invention a system for presenting a message, in a targeted manner, to an audience member of a plurality of audience members, said message being presented during a timeslot that is comprised by a program for broadcast that is selectable by the audience member of a plurality of audience members is presented. The system comprising; means for collecting a first set of data representing characteristic information of each audience member of said plurality of audience members, means for receiving a second set of data representing demographic information of a target audience member for said message, means for determining a qualifying level for each of said characteristic information for a first audience member, means for weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information, means for calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member, said qualifying levels for each of said characteristic information and demographic information of said target audience member, and means for presenting said message to said audience member during said timeslot if said calculated value meets a predefined criteria.
In accordance with another aspect of the invention a system for presenting a message to an audience member of a broadcasted program in a targeted manner is presented. The system comprising; a first interface for receiving data representative of timeslots during which said message can be presented, said timeslots being comprised by programs that are selectable for receiving by an audience member of a plurality of audience members, a second interface for receiving information related to the purchasing of said timeslots comprised by said programs by message providers, a first database for storing data characteristic information about each said audience member, a second database for storing data representing matches between messages and audience members to be used for scheduling of matched messages, a first server that executes a matching operation using an approximate reasoning method, between a message and said audience member, a second server that schedules said message for presentation during a timeslot to an audience member as determined by said matching operation performed by said first server, and a communications link to which the first and second interface, first and second database and said first and second servers are connected.
In accordance with another aspect of the invention a set-top device for a to receiver is presented. The set-top device comprising; an input device operable for receiving a digital television signal composed of a plurality of television programs having at least one timeslot, a plurality of messages and a schedule for presentation of predetermined messages during said at least one timeslot, a persistent storage device connected to said input device for storing said schedule, a processing unit connected to said input device and operable to decode said signal, said processing unit being further operable to decode an appropriate message during an appropriate timeslot according to said schedule, and an output device for presenting a selected one of said decoded television signal and said appropriate message to an audience member.
Brief Description of the Drawings The present invention will now be explained, by way of example only, with reference to certain embodiments and the attached Figures, in which:
Figure 1 is a block diagram of a system for targeted advertising in accordance with an embodiment of the invention;
Figure 2 is a block diagram of a system for targeted advertising in accordance with a second embodiment of the invention;
Figure 3 is a schematic representation of a software architecture executing on the system of Figure 2 in accordance with another embodiment of the invention;
Field of the Invention The present invention relates generally to methods and systems for delivering messages and more particularly relates to the targeting of these messages to audience members .
Background of the Invention to Radio and television advertising is well known and has existed since the early days of broadcasting. It is also well known to craft advertisements and attempt to target them at audience members to whom a particular product or service will appeal.
The crafting of advertisements is generally performed by advertising production agencies. The delivery of the advertisement is typically performed by the broadcaster, perhaps via a cable company or other service provider, including, telecommunications providers, who sell advertising timeslots to advertisers. Broadcasters attempt to maximize their advertising fees by creating programs that will appeal to a particular and/or wide audience. The fees charged by the broadcasters will be influenced by 2o their success in attracting the target audience. Surveys and other techniques are used in an attempt to gather listener or viewer 'ratings' that can be used to assess the value of an advertising timeslot.
Overall, modern advertisers and broadcasters have become more sophisticated in terms of targeting advertisements at particular audiences through advertising content and ratings analysis. However, a great deal of guesswork and inefficiency still exists. For example, the value of ratings derived from surveys depends on the accuracy and honesty of audience members when they report their results. Such ratings can be additionally skewed by statistical averaging used to predict how many other audience members have similar habits. Even if these survey results reflect the 3o number of audience members who watched or listened to a particular program, the results may not verify whether the audience members actually tuned into the advertisements that were shown during the advertising timeslots.
i Further, traditional radio and television advertising is only semi-automated.
There are numerous steps in the chain between the sale of advertising slots to the broadcasting of the content in these slots that are still performed manually.
This essentially precludes the use of any targeted advertising methods that present a selected advertisement to a selected viewer as the current methods of the industry cannot accommodate the complexities associated with this type of targeting.
Such targeted advertising in the broadcast industry will generally only become feasible with digital formats.
In the world-wide-web ("web") environment, more sophisticated advertising 1o techniques can be used in part because of the digital format and the chance for interactive communications. Due to the interactive nature of the web, it is known that specific banner advertisements can be presented to a given audience member, in this case a web-surfer, based on the information content of a recently visited web-site or other tracking information. See, for example, US Patent 5,794,210 "Attention brokerage" to Nathaniel et al., US Patent 5,855,008 "Attention brokerage" also to Nathaniel et al and US Patent 5,948,061 "Method of deliver, targeting and measuring advertising over networks" to Merriman et al. However, notwithstanding the use of banners, such targeted advertising techniques on the web are generally unsuitable for the radio and television broadcasts where the advertisement is traditionally a series of audio and/or video frames. Currently, in the web environment, a user is required to click on the banner in order to be exposed to more information. Further, the operations used by the prior art to match advertisements with web-surfers can be somewhat unsophisticated, because, for example, they typically track simple web-site usage without considering further information about the user.
It is also believed that banner advertisements in the web environment are not as effective as traditional television and radio advertisements, as the banners can be ignored in favour of the other information presented on the web page. Unless the web-surfer actually clicks on the banner advertisement, there is no way to be sure that the web-surfer actually viewed the advertisement.
3o The emergence of digital radio and television environment which include high definition television (HDTV) and interactive television (ITV), reflects the convergence of conventional television and radio broadcasting with digital formats which allow a broader range of information exchange. While the foregoing prior art techniques can be used to deliver advertising in digital radio and television, it is desirable to provide targeted advertising that fully accesses the capabilities of the digital format. Further, it is desirable to target this advertising according to viewer information including interests and demographics, thus allowing a total "push"
model of advertising. In such a model the advertising content would be selected for an individual or group of individuals. The current art is not capable of achieving these goals.
Summary of the Invention In one aspect of the invention a method for targeting a message at a broadcasting audience member is presented. The method comprises the steps of;
receiving characteristic information about said audience member, receiving a schedule of one or more broadcast programs that are selectable by said audience member, said ~ 5 one or more programs having one or more timeslots for the broadcasting of a message, receiving one or more messages to be broadcast during the timeslots comprised by said programs, receiving demographic information of a target audience member for said messages, determining a match between one of the messages with said audience member based on an operation that considers at least one of said 2o characteristic information, said selectable program and said target audience information, wherein said operation uses an approximate reasoning method, and presenting matched messages to said audience members during any timeslots associated with any of said programs.
In accordance with another aspect of the invention a method of presenting a 25 message, in a targeted manner, to an audience member of a plurality of audience members of a program, the message being presented during a timeslot that is one of a plurality of timeslots that are comprised by a program of a plurality of programs for broadcast that is selectable by the audience member of said plurality of audience members is presented. The method comprising the steps of, a) collecting a first set of 3o data representing characteristic information of each audience member of said plurality of audience members, b) receiving a second set of data representing demographic information of a target audience member for said message, c) determining a qualifying level for each of said characteristic information for a first audience member, d) weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information, e) calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member said qualifying level for each s of said characteristic information and demographic information of said target audience member, f) presenting said message to said first audience member during said timeslot if said calculated value meets a predefined criteria, g) repeating steps b) - fj for each additional audience member within said plurality of audience members of said programs, and h) repeating steps b)-g) for each additional timeslot within said 1o plurality of timeslots comprised by said programs.
In accordance with another aspect of the invention a method of matching a message with an audience member of a plurality of audience members, each of said audience members being capable of selecting to receive a broadcast program containing a plurality of timeslots is presented. The method comprising the steps of;
15 collecting a first set of data representing characteristic information of each audience member of said plurality of audience members, receiving a second set of data representing demographic information of a target audience member for said message, determining a qualifying level for each of said characteristic information for a first audience member, weighting said qualifying levels according to the desirability of 2o matching said message to said first audience member having certain characteristic information, calculating a value, to be compared to a predefined threshold value, using at least one of said characteristic information of said first audience member said qualifying levels for each of said characteristic information and demographic information of said target audience member, and comparing said value to a predefined 25 threshold value.
In accordance with another aspect of the invention a method of matching a message with an audience member of a plurality of audience members being capable of selecting to receive a program comprising a plurality of timeslots is presented. The method comprising the steps of; defining a vector space having an origin and a 3o plurality of dimensions that each represent a category of characteristic information of an audience member, receiving a first set of data representing a measurement for each said category for audience members, receiving a second set of data representing a likelihood that a given audience member will select said timeslot, determining a qualifying level for each said category for said audience member based on an operation that maps said first set of data onto said second set of data, plotting said qualifying levels in each respective dimension of said vector space, varying said plotted qualifying levels by applying a weight to each of said qualifying levels, said weight varying with the desirability of matching said message with said audience member, determining whether said varied plotted qualifying levels fit a predefined threshold criteria for matching said message to said audience member, and including said audience member in said target audience if said threshold is met.
In accordance with another aspect of the invention a system for presenting a message, in a targeted manner, to an audience member of a plurality of audience members, said message being presented during a timeslot that is comprised by a program for broadcast that is selectable by the audience member of a plurality of audience members is presented. The system comprising; means for collecting a first set of data representing characteristic information of each audience member of said plurality of audience members, means for receiving a second set of data representing demographic information of a target audience member for said message, means for determining a qualifying level for each of said characteristic information for a first audience member, means for weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information, means for calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member, said qualifying levels for each of said characteristic information and demographic information of said target audience member, and means for presenting said message to said audience member during said timeslot if said calculated value meets a predefined criteria.
In accordance with another aspect of the invention a system for presenting a message to an audience member of a broadcasted program in a targeted manner is presented. The system comprising; a first interface for receiving data representative of timeslots during which said message can be presented, said timeslots being comprised by programs that are selectable for receiving by an audience member of a plurality of audience members, a second interface for receiving information related to the purchasing of said timeslots comprised by said programs by message providers, a first database for storing data characteristic information about each said audience member, a second database for storing data representing matches between messages and audience members to be used for scheduling of matched messages, a first server that executes a matching operation using an approximate reasoning method, between a message and said audience member, a second server that schedules said message for presentation during a timeslot to an audience member as determined by said matching operation performed by said first server, and a communications link to which the first and second interface, first and second database and said first and second servers are connected.
In accordance with another aspect of the invention a set-top device for a to receiver is presented. The set-top device comprising; an input device operable for receiving a digital television signal composed of a plurality of television programs having at least one timeslot, a plurality of messages and a schedule for presentation of predetermined messages during said at least one timeslot, a persistent storage device connected to said input device for storing said schedule, a processing unit connected to said input device and operable to decode said signal, said processing unit being further operable to decode an appropriate message during an appropriate timeslot according to said schedule, and an output device for presenting a selected one of said decoded television signal and said appropriate message to an audience member.
Brief Description of the Drawings The present invention will now be explained, by way of example only, with reference to certain embodiments and the attached Figures, in which:
Figure 1 is a block diagram of a system for targeted advertising in accordance with an embodiment of the invention;
Figure 2 is a block diagram of a system for targeted advertising in accordance with a second embodiment of the invention;
Figure 3 is a schematic representation of a software architecture executing on the system of Figure 2 in accordance with another embodiment of the invention;
Figure 4 is a schematic representation of a portion of software architecture of Figure 3 as it is interconnected with a service provider and a receiver;
Figure 5 is a schematic representation of a software architecture in accordance with another embodiment of the invention;
Figure 6 is a flow-chart of a method of targeted advertising in accordance with another embodiment of the invention;
1o Figure 7 is a Table (Table V) of the viewer attributes that will be consider in the calculation of a Matching Record;
Figure 8a is a graph of Qualifying Level versus Age for the Middle Age fuzzy-set;
Figure 8b is a graph of Qualifying Level versus Years of Post Secondary Education for the Post Secondary Education fuzzy-set;
Figure 8c is a graph of Qualifying Level versus Income for the Upper Income fuzzy-set;
Figure 8d is a graph of Qualifying Level versus Time of Day for the Evening fuzzy-set; and Figure 9 is a flow chart illustrating the procedure for scheduling an advertisement.
Detailed Description of Embodiments of the Invention As used herein, "broadcaster" refers to any entity that broadcasts or redistributes programming content and sells advertising timeslots, such as major television networks, individual television stations, cable specialty channels, radio networks and radio stations and Internet television, or a rebroadcaster of content such as cable television, direct to home satellite or Internet redistribution points. Other types of broadcasters will occur to those of skill in the art.
"Programs" and "Programming" refer to any type of radio or television programming produced by broadcasters. Examples of programming include news broadcasts, movies, talk-shows, situation comedies and dramas and streaming audio and video on the Internet, news and information tickers, and interactive applications, whether operating independently or in conjunction with data, audio and/or video broadcasts. Other types of programming will occur to those of skill in the art.
"Advertisers" can be any entity that purchases advertising timeslots and that typically provides an advertisement in the appropriate auditory or visual medium which is presented during the purchased advertising timeslot. Examples of advertisers can include advertising agencies, manufacturers, corporations and governments.
With 2o respect to governments the current invention could be used to select recipients to which specific government messages are to be broadcast.
The terms "advertisement" and "advertising" include conventional television and/or radio advertisements, which typically comprise a series or sequence of video and/or audio frames that includes a message, the message typically being the promotion or sale of wares or services. These terms also include "squeezes"
where the advertisement, which is generally some sort of banner, is placed alongside the program after the program has been reduced in scale such that it no longer fills the entire viewing screen. It further includes "overlays" where the advertisement appears over the regular program content. These messages do not necessarily have to be 3o related to the program content.
A "timeslot" is used to generally refer to an opportunity between segments of a regularly broadcast program, typically between thirty-seconds and two-minutes but can be of arbitrary length, but only as short as is perceptible to the viewer, that is s dedicated to the displaying, playing or other type of presentation of an advertisement or other content. Other types of advertising timeslots will occur to those of skill in the art and are within the scope of the invention. For example, a timeslot could be offered during the presentation of the regularly broadcast television programming, where the spot advertisement was displayed in a split-screen, as a scrolling text message, or an overlaid audio-track, as an interactive application or as part of an interactive application.
"Interactive applications" consist of pre-compiled or interpreted sequences of instructions to be executed on the viewing device. The applications can operate with or without direct input or interaction from the viewer, and may access other data, applications or application facilities available locally on the set-top or remotely through network connections, using methods known to those of skill in the art.
Examples of interpreted sequences include Java, BASIC and p-code instructions.
In the process descriptions that follow, "Audience member" refers to a single viewer or a group of viewers aggregated around one or more statistically common characteristics.
Referring now to Figure l, a system for targeting advertisements is indicated at 20. System 20 includes a vending interface 22, a matching engine 24, a purchasing interface 26 and a delivery engine 28. A service provider 30, such as a cable 2o company, interconnects delivery engine 28 and a plurality of receivers (R1...Rp), such as set-top boxes, digital televisions, digital radios or computers. Service provider 30 delivers programming produced by broadcasters (BI...Bm) to receivers (RI...Rp) which are operable to present the programming to respective audience members (AM1...AMP). Vending interface 22 is accessible by one or more broadcasters (B1...Bm) who can offer the available advertising timeslots in their programming.
Matching engine 24 receives available advertising timeslot information from vending interface 22. Matching engine 24 is further operable to determine which audience members (AM, ...AMP) are, or likely to be, tuned into their receiver (R, ...Rp) when each available advertising timeslot is being presented. Purchasing interface 26 is accessible to one or more advertisers (A1...A") who can view the available advertising timeslots and the characteristic information of audience members (AMI...AMp) who are, or likely to be, tuned-in during the available advertising timeslot. Purchasing interface 26 is operable to receive bids on the available advertising timeslots from advertisers (A1...A"). Matching engine 24 is further operable to determine a winning bid and match it with the appropriate advertising timeslot.
Delivery engine 28 is operable to schedule and/or deliver the winning bid to the service provider, who in turn delivers the advertisement to the targeted audience member (AM1...AMP) for presentation during the available timeslot.
System 20 further includes a characteristic information database 27 that is accessible to matching engine 24 and delivery engine 28. Characteristic information database 27 includes information about each audience member (AM1...AMP) that can 1o be used to assist in targeting an appropriate advertisement at a particular audience member (AM1...AMP). For example, characteristic information database 27 can include demographic, psychographic, behavioural and/or geographic information about each audience member (AM, ...AMP). Matching engine 24 can use characteristic information database 27 to match advertising timeslots with audience members (AM1...AMP) based on a wide range of criteria, the details of which will be discussed in greater detail below. Characteristic information database 27 can be gathered and/or maintained using well-known techniques and data-sources, such as individual surveys completed by audience member (AM,...AMP), credit card records, commercial data bases, mailing lists and the like. Characteristic information database 27 also receives data from each receiver (R1...RP) and builds a database of viewing habits for each audience member (AM1...AMP). Similarly, characteristic information database 27 can offer real-time or deferred data as to the ratings of a particular program, and such ratings can be made available to advertisers (A1...A") and broadcasters (BI...Bm) or other interested parties.
System 20 also includes a matching records database 29, which holds the various matches determined by matching engine 24 and makes those matches available to delivery engine 28 so that the actual advertisement can be scheduled andlor delivered to service provider 30 and the targeted receivers (R1...RP).
Referring now to Figure 2, a presently preferred configuration of system 20 is 3o shown as system 20a. A plurality of servers 32, house at least one vending interface (221, 222 ... 22W), at least one matching engine (241, 242 ... 24X), at least one purchasing interface (261, 262 ... 26y), and at least one delivery engine (281, 282 ...
28Z). Each server 32 is connected to the Internet 34 or other suitable network, such as io telephone, cable or satellite. Each server 32 can be located anywhere that an Internet connection is available, and similarly broadcasters (B~...B",) and advertisers (A~...A") can be connected to Internet 34 anywhere that an Internet connection is available.
Accordingly, servers 32, broadcasters (B~...B",) and advertisers (A~...An) can be located over a wide geographical area. While not necessary, it is presently preferred that each delivery engine 28 is local to a respective service provider (301, 302 ... 30Z), in order to facilitate delivery of advertisements to a respective service provider (30,, 302 ... 30Z). Each server 32 includes a central processing unit, random access memory, a persistent storage device, and a network interface device for connection to to Internet 34 or suitable network. Delivery engines (281, 282 ... 28Z) further include a second interface device for connection to their respective service provider (301, 302 3 OZ).
The distributed configuration shown in Figure 2 allows a number of broadcasters (B~...B",) advertisers (A1...A"), service providers (30~, 302 ...
30Z) and audience members (AM1...AMp ) to participate in system 20a, and these participants can be from a broad range of geographic locations. In addition, it is believed that the distributed configuration of system 20 shown in Figure 2 can make system 20a more fault-tolerant and facilitate the management of large volumes of traffic over a wide geographical area.
2o As shown in Figure 2, characteristic information database 27 resides on a single file server and allows a central repository for all characteristic information about audience members (AM,...AMp). In other embodiments, it will be understood that database 27 can reside on a plurality of file servers connected to Internet 34.
Similarly, matching records database 29 resides on a single file server and provides a central repository for all matches of advertisements with advertising timeslots, and is accessible to each delivery engine 28 to be used during the actual scheduling and/or delivery of the advertisement during the appropriate timeslot to the appropriate service provider (30~, 302 ... 30Z) and/or audience member (AM1...AMp).
In alternative embodiments, it will be understood that database 29 can reside on a 3o plurality of file servers connected to Internet 34. Each vending interface (22~, 222 22W) and each purchasing interface (26~, 262 ... 26Y), hosts secure web-sites which provide user interfaces for their respective functions. Broadcasters (BI...Bm) and advertisers (Ai...A") are also connected to the Internet and are able to access vending m interfaces (221, 222 ... 22W) and purchasing interfaces (261, 262 ... 26y).
A broadcaster (B~...B",) accessing vending interface 22 can provide input to matching server 32 and view output from matching server. The following table is exemplary of the inputs and outputs available to broadcaster (B,...Bm):
TABLEI
Vending Interface Inputs Outputs Program AdvertisingAsking ReceivedBid Accepted?DescriptionDescription of Timeslots Bid Bids Expected of actual Audience audience Under the "Program" column, broadcaster (B1...Bm) can input the name of a to particular program where advertising timeslots are available. Under the "Advertising Timeslot" column, broadcaster (B1...Bm) can input a list of advertising timeslots available for each program, and can indicate an asking price to be paid for the available advertising timeslot under the "Asking Bid" column.
Having input the above information, broadcaster (B1...Bm) can view the bids t5 received for each advertising timeslot under "Receive Bids", and an indication as to whether matching engine 24 has accepted the bid. (The details of matching will be discussed in greater detail below.) Similarly, broadcaster (B1...Bm) can view audit information about the audience, such as the expected audience for the advertising timeslot as determined by matching engine 24, and once the matched advertisement 2o has been played, can view which audience members (AM1...AMp), or groupings of audience members, actually received the advertisement under the "Description of Actual Audience" column.
Similarly, an advertiser (Ai...A") accessing purchasing interface 26 can provide input to matching server 32 and view output from the matching server.
Table 25 II is exemplary of the input and output available to advertiser (A1...A"):
TABLE II
Purchasing Interface Outputs Input ProgramAdvertisingAskingReceivedBid DescriptionDescriptionSubmit TimeslotsBid Bids Accepted?of Expectedof actual Bid Audience audience Where purchasing interface 26 is configured using the format of Table II, each advertiser (A1...A") can review available advertising timeslots and asked bids for those timeslots. In return, one or more advertisers (A~...A~) can submit a bid for those timeslots, leaving matching server 24 to determine the appropriate matches.
This is a simple example of the bidding process. It will be obvious to one skilled in the art that there are many more complex bidding processes are also possible and are within the 1 o scope of the current invention.
An alternative format for purchasing interface 26 is shown in Table IIA.
TABLE IIA
Purchasing Interface Input Outputs Bid AmountDesired targetProgram AdvertisingDescriptionDescription of audience Timeslots of Expectedactual audience Audience When using the format of Table IIA, an advertiser (A~...An) simply enters a bid amount and a desired target audience. Upon submitting the bid, matching engine 24 can match the bid from the advertiser (A1...A") with a suitable advertising timeslot posted by broadcaster (B1...Bm), and post those results as outputs as shown in Table IIA.
It will be understood that Table I, Table II and Table IIA are merely quite simple exemplary input and output formats used to illustrate the process, and other formats can be used. For example, the decision to accept a bid can be made by the broadcaster who posted the bid, rather than leaving the determination to matching server 32. In general, vending interface 22 and purchasing interface 26 provide the following functionality:
1. Providing a forum for the buying and selling of advertising timeslots;
2. Defining purchasing and sale alternatives for advertising timeslots based on characteristic information of audience members (AM~...AMp);
3. Managing of audit reports and/or ratings resulting from the delivery of advertisements during advertising timeslots; and, 4. Billing and accounting information for each advertiser (A~...A") and broadcaster (B,...Bm).
Figure 3 is a block diagram that shows a presently preferred distributed software architecture implemented on system 20a. As will be understood by those of skill in the art, multiple, identical applications executing on each server 32 can operate as if a single application is executing on a single server, while providing reliability and fault tolerance and allowing several different participants, over a broad geographical area, to simultaneously interact with system 20a. One suitable distributed software architecture is provided by publish-subscribe software such as TIB/Rendezvous software available from TIBCO Software Inc. and MQSeries software from IBM Inc.
2o It is also presently preferred that system 20a operates in real-time. A
presently preferred way to implement system 20a over real-time is to use Internet multi-cast technology that incorporates RTP, real-time extensions into transmission control protocol/Internet protocol (TCP/IP). As will be understood by those of skill in the art, the use of real-time extensions can assist in the execution of applications in a distributed manner across system 20a, as servers and/or routers can choose to pick-up certain events with certain extensions, while choosing to ignore others based on the real-time extensions. The use of real-time extensions further allows the processes of system 20a to operate in real time while the servers and the applications that run on them are possibly located in different time zones. Thus real-time extensions allow the 3o systems and processes of system 20a to operate in a co-ordinated manner.
Further, real-time extensions allow the system and processes of the current embodiment to overcome delays introduced by the implemented technology. In non-real-time transport environments where unpredictable delays can be expected in transmission -for example, TCP/IP routed networks - timestamps on events are used to coordinate actions and events with temporal dependencies.
In the present embodiment, the software architecture includes an information bus or event bus 36, which is essentially a software bus that uses Internet 34 or other suitable networks) as a physical conduit. Event bus 36 provides a software interconnection, typically in the form of events or topics, between software applications and/or objects executing on vending interfaces (221, 222 ...
22W), purchasing interfaces (261, 262 ... 26y), matching engines (241, 242 ... 24X), and delivery engines (281, 282 ... 28Z).
to Software executing on matching engines (241, 242 ... 24X) includes a request agent 40, a matching agent 44 and a database agent 48. Each request agent 40 is operable to listen on event bus 36 for a request event generated by vending interfaces (221, 222 ... 22W) and purchasing interfaces (261, 262 ... 26y). A request event is an event representative of a request made by a broadcaster or an advertiser relating to the sale or purchase of advertising timeslots. For example, when a broadcaster (B1...Bm) accesses a vending interface (221, 222 ... 22",) to offer an advertising timeslot available for sale, then an available request agent 40 listens for this request event and adds it to a queue of request events.
Request agent 40 is further operable to generate a match-request event on bus 2o 36 for each request event. A match-request event is an event representative of a request to actually match an advertising timeslot with an advertisement. In turn, each available matching agent 44 is operable to listen for match-request events.
Each matching agent 44 is further operable to notify the request agent 40 of its availability, and to pick-up the match-request for processing.
Matching agents 44 are further operable to obtain or write database information by generating a data-transfer event on bus 36. Each database agent 48 is operable to listen for data-transfer events and retrieve and/or store appropriate data on matching records database 29 and/or characteristic information database 27, as appropriate, based on the contents of the data-transfer event.
3o Matching agents 44 are further operable to perform a matching operation that considers a match-request and data retrieved through database agent 48. In a present embodiment, the results of the matching operation will typically be:
1. The details of a particular match-request, where insufficient data or conditions are available to actually make a match. For example, where a broadcaster (B 1...Bm) offers an advertising timeslot for sale, but no corresponding purchase request from an advertiser (A1...A") exists, then the available advertising timeslot is placed on the matching records database 29 for later processing; or 2. The results of an actual match of an available advertising timeslot with an advertisement. For example, where the match-request is a bid to purchase a type of advertising timeslot, and the matching operation finds an available advertising timeslot appropriate to the bid, then a match therebetween is made 1o and stored on matching records database 29.
Any matching operation that makes a reasonable match between available advertising timeslots and bids is within the scope of the invention. A
presently preferred matching operation will be discussed in greater detail below.
Matching agents 44 are further operable to process billing and ratings information associated with each match so that a fee can be charged for each match and/or scheduling and/or delivery of an advertisement.
Turning now to delivery engines (281, 282 ... 28Z), software executing thereon includes formatting agent 50, routing agent 54 and database agent 58.
Formatting agent 50 listens for channel-events that are typically published via the service 2o provider (301, 302 ... 30Z) respective to the delivery engine (281, 282 ...
28Z) where the formatting agent 50 resides. Channel-events are reports, typically generated in real-time, of the channel selected by audience member (AM1...AMp) on his or her receiver (R1...Rp). However, it is also possible for channel-event reports to be generated in a non-real time environment. In this case the channel-event reports are collected and sent to the delivery engines (281, 282 ... 28Z) at a later time. Channel-events can be generated by software executing on receiver (R1...Rp) and/or at the service provider (301, 302 ... 30Z) respective to receiver (R1...Rp). Formatting agent 50 is also operable to incorporate channel-events into matching data stored on characteristic information database 27 and/or matching records database 29. In turn, the channel-event data can 3o be used to either update characteristic information about a given audience member (AM1...AMP) and/or provide more criteria to matching records 29, either or both of which can be used by matching agent 44 in matching available advertising timeslots and bids.
Routing agent 54 is operable to retrieve matching data stored on matching records database at the appropriate time, and relay this information to the service provider (301, 302 ... 30Z) respective to the delivery engine (281, 282 ...
28Z). Similar to database agent 48, database agent 58 is operable to listen for data-transfer events from formatting agent 50 and routing agent 54, and accordingly retrieve and/or store appropriate data on matching records database 29 and/or characteristic information database 27, as appropriate, based on the data-transfer event.
Referring now to Figure 4, the software architecture on delivery engine 281, its respective service provider 301, and receiver RI are shown. It will be understood that to Figure 4 exemplifies a software architecture for delivery engines (281, 282 ... 28Z), service providers (301, 302 ... 30Z), and receivers (R1,...Rp) attached thereto. Service provider 301 has access to programming sources 60 and advertising sources 64.
Programming originating from broadcasters (B1...Bm) is delivered to programming sources 60 using any known means in the art, including non-real-time delivery for deferred viewing and Internet facilities and methods. For example, where service provider 301 is a television cable-company and broadcasters (B1...Bm) are television networks, then programming, in the form of television programs, can be delivered by satellite to service provider 301 in the usual fashion. Continuing with the present example, programming sources 60 are then one or more satellite dishes and receivers located at the cable company service provider 301. Programming sources 60 can also include direct cable feeds, pre-recorded video cassettes, MPEG files on a hard-disc or other persistent storage device, video on demand servers (including multi-tier servers) and any other media storage or delivery means, as will occur to those of skill in the art.
Similarly, advertising originating from advertisers (A1...A") is delivered to advertising sources 64 using any known means in the art. Again, using the example of service provider 30~ as a television cable-company, advertising can be stored as video-tapes of pre-recorded advertisements or MPEG files on a persistent storage device. Other media storage and/or delivery means for advertising sources 64 will occur to those of skill in the art.
Receiver Rl has a scheduling agent 70, a decoder 74 and a schedule database 78. Scheduling agent 70 is operable to obtain a particular schedule of programming and advertisements for receiver Rl from routing agent 54 via service provider 301.
m Scheduling agent 70 is further operable to store the schedule and/or update the schedule on database 78. Scheduling agent 70 is further operable to instruct decoder 74 which programming and advertisements are to be presented to audience member (AM1) based on the schedule stored on database 78.
s The integration of advertisements with programming can be conducted in one of three methods by receiver Rl. All three methods are encompassed by the current embodiment. In the first method the advertisements and programming are transmitted to the receiver R1 in real time. The advertisements would then be spliced into the programming in real time.
In the second method advertisements could be transmitted to the receiver R~ in mufti-cast or point-to-point form at times when programming is not being viewed or while the programming is being viewed if the receiver is equipped to handle more than one incoming stream. In this case the advertisements would be stored locally or at a network point with equivalent-to-local storage and playback performance before 15 being spliced into the programming. This embodiment of the current invention would allow more efficient use of the bandwidth of the delivery means used by the service provider.
In the third method, advertisements could be retrieved by the local receiver through Internet or other data connections from servers, either in real-time or for local 20 or near-local storage and deferred viewing.
Referring now to Figure 5, system 20b is a specific implementation of system 20a, and components in system 20b that have like components in system 20a are indicated with like references. System 20b includes three advertisers: a car-dealership A,, an airline A2, and a furniture store A3, and three specialty cable company 25 broadcasters: a golf channel B,, a cartoon channel B2 and a wildlife channel B3. The medium in the present embodiment is digital television signal, broadcast as an MPEG, DSS or other transport stream using DSS, DCII,DVB, ATSC or other formats by cable companies 30~, 302, and 303. Accordingly, programming source 60 is a digital video server or digital video multiplexer operable to receive the transport 3o streams of programming received from each broadcaster B1, B2, and B3.
Similarly, advertising sources 64 is an advertisement server or a video on demand server operable to receive transport streams of advertising received from each advertiser A~, A2, and A3. It will be understood that the advertising can be received via an la advertising agency that is used by the particular advertiser A,, AZ, and A3.
Receivers R1, R2, and R3 are digital television set-top boxes having wherein decoder 74 is a decoder that decodes transport streams received from service provider cable-company according to scheduling instructions received from scheduling agent 70 and scheduling database 78. The decoded transport stream is presented on a television to respective audience members AM1, AM2, and AM3. While not shown in Figure 5, it is to be understood that a plurality of additional receivers owned by their respective audience members are also connected to system 20b in the same fashion as receivers Rl, R2, and R3.
1o A method of targeting advertising in accordance with another embodiment of the invention will now be discussed with reference to system 20b. The targeting method of the current embodiment requires information of various types be collected for use by the matching engine 24 to create a matching record. This method is outlined in the flow chart presented in Figure 6. Characteristic information about each audience member is collected at step 600. In the present embodiment, this information is collected using a survey that is completed by each audience member.
The results of the survey are compiled into a database that is stored in characteristic information database 27. In the present example, the results of the survey of audience members AM1, AM2, and AM3 are shown below in Table III.
Table III
Characteristic Information Audience Name Age Occupation and (YearsGender Annual Income Member of Post Secondary Education) AM1 John Smith34 Dentist (6) Male $190,000 AM2 Joan Clark76 Retired school-teacherFemale $34,000 (5) AM3 Christina19 College Student (2) Female $18,000 Franklin In another embodiment characteristic information is obtained from commercial databases such as those of credit card companies. The data from the commercial databases would similarly be transposed in to the characteristic information database 27. It will be understood that other methods of collecting, maintaining and/or updating characteristic information, and any number or type of other characteristic information can be used, as will occur to those of skill in the art.
At step 602, a program schedule that is available in whole or in part for viewing by each audience member is received from broadcasters B1, B2, and B3 each of whom access one of the vending interfaces 221, 222 or 223 to enter their programming schedule. An example of part of a programming schedule for each broadcaster B1, B2, and B3 is shown below in Table IV. The programming schedule is typically presented as an Electronic Programming Guide (EPG) in the digital 1o television environment. An EPG contains information program maps which contain scheduling and program categorization information. The EPG containing current and future program information is transmitted as part of or concurrent with the video stream and is constantly updated and retransmitted. If a receiver is equipped with sufficient local or near-local storage, the EPG may be transmitted in advance to that storage. However acquired, the EPG is accessible at the viewer's receiver R;.
Table IV
Programming Schedule BroadcasterName Program Program ProgramAdvertising Name Category Time Timeslot B1 Golf channel"PGA WeeklySports 7:30PM-7:40:00 Update" 8:OOPM 7:40:30 B2 Cartoon "Action Cartoon/Children7:30PM-7:40:00 Man"
channel 8:OOPM 7:40:30 B3 Wildlife "Accolades Documentary 7:30PM-7:40:00 of channel the Amazon" 8:OOPM 7:40:30 2o At step 604 advertising information is received from advertisers (A1, A2 and AN) ,each of whom access one of the purchasing interfaces 261, 262 or 26N and enter their advertising information. The advertising information related to an advertisement from each advertiser (A1, A2 and AN) of the current embodiment is presented in Table V (Figure 7). This information outlines demographic details or characteristic information of the desired viewer or target audience member for a given advertisement. It also comprises a 'weighting' that will be applied to the characteristic information of audience members during the matching operation.
Further, the advertiser also provides a threshold value that has to be surpassed by the value calculated during the matching operation for an advertisement to be presented to a given viewer.
The decision of whether or not to present a given advertisement to a given audience member or group of audience members is made at step 606 where the matching operation is performed and a Matching Record is calculated. The Matching to Record is calculated using characteristic information of a given audience member (AM1...AMP), fuzzy-sets of the characteristic information of an audience member and weightings based on the characteristics of the desired viewer as outlined by an advertiser (A1...An). The use of approximate reasoning techniques (fuzzy-sets) in the matching operation allows flexibility in the comparison process such the "strength" of the match can be determined at the same time as the existence of a match. This also allows flexibility in the subsequent pricing, which can be based on the "strength" of a match between a particular advertisement in a given timeslot.
The current embodiment uses fuzzy logic as the specific approximate reasoning technique. The matching operation further uses fuzzy-sets and qualifiers to 2o process target information and descriptive data for the advertisement to generate a Matching Record. Fuzzy-sets are configurable-arbitrary response functions that allow a "qualifying level" to be assigned to demographic data of audience members that is collected at step 600 of Figure 6. Other implementations of approximate reasoning theory may use other arbitrary response functions in the matching process, as will occur to those of skill in the art.
Table V (Figure 7) presents the age, years of post secondary education, income and gender (demographic details) of the desired viewer for advertisements for a Full-size SUV, Orthopedic Mattress and Brazil Airline Ticket from advertisers AI, A2 and A3, respectively. Table V also presents the proposed viewing time for 3o advertisements from Advertisers A~, AZ and A3. Further, Table V presents a "Weight (WX)" for each of the demographic details for the desired viewer. This "weight" is used to assign a relevance to the characteristic information in the calculation of a Matching Record. One skilled in the art will realize that the demographic details presented in Table V are not the only ones that may be used in the matching operation. It is also within the scope of the invention to use information such as place of residence (address) of an audience member in the matching operation.
The characteristic information of Audience Members AM,, AM2, and AM3 was collected at step 600 and are summarized in Table III. This information is assigned a 'qualifying level' using fuzzy-sets that were developed by advertisers AI, A2 and A3. The qualifying levels of the fuzzy-sets are developed to reflect the probable impact of the advertisement from advertisers A,, A2 and A3 on a given audience member. Fuzzy-sets for age, years of post secondary education, income and to time of day, that have been developed for viewers of the program "PGA
Weekly Update" (Table IV) are shown in Figures 8a, 8b, 8c and 8d, respectively.
Figure 8a presents qualifying levels for the middle age fuzzy-set. Curve 800 is a plot of qualifying level 812 versus age 810. Curve 800 ascends quite quickly to apex which yields a qualifying level of 1.0 at an age of 45. This indicates that a viewer with an age of 45 should produce the strongest correlation to the selected advertisement.
Figure 8b presents qualifying levels for the years of post secondary education fuzzy-set. Curve 820 plots qualifying level 826 versus years of post secondary education 822. The curve plateaus 828 at a qualifying level of 1.0 after five years of 2o post-secondary education.
Figure 8c presents data for the income fuzzy-set. Curve 840 plots qualifying level 844 versus years of post secondary education 842. The curve plateaus 846 at a qualifying level of 1.0 at an income level of $100,000.
Figure 8d presents data for the time of day when a program is to be presented.
Curve 830 plots qualifying level 834 versus time of day 832. The curve is constant at a qualifying level of 0.0 during the day when the targeted recipient will be at work. It then plateaus at a qualifying level of 1.0 at approximately 8:00 PM (20:00).
At step 606 (Figure 6), a matching operation is performed by the Matching Agent within the Matching Engine for each advertisement in Table V (Figure 7) for 3o the advertising timeslots of Figure IV. A presently preferred method of performing the matching operation used for each advertisement is described as a series of sub-steps of step 606 that are shown in Figure 9. At step 900, an audience member index is set to point to the first audience member AM1, "John Smith" listed in Table III. It should be noted that the current example presents a matching operation for an individual viewer i.e. John Smith. An analogous matching operation could be conducted for an audience member that contains a plurality of viewers aggregated around one or more statistically common attributes. Also at step 900, an advertising timeslot index is set to the first advertising timeslot for the program "PGA
Weekly Update", shown in the programming schedule of Table IV and the advertiser is set to A1 i.e. a car dealership that is advertising a "Full-size SUV".
At step 902, a calculation is developed for the matching operation that is to be performed for Audience Member AMI ("John Smith") and the advertisement for a to "Full-size SUV" to be shown during "PGA Weekly Update". The calculation will consider the weight parameters of a desired target-viewer as specified by the advertiser A~ for its advertisement, "Full-size SUV", of Table V (Figure 7) and the characteristic information of Audience Member AM1 ("John Smith"). As seen on Table V (Figure 7), advertiser A, seeks to target the advertisement to audience members who are middle-aged professional males in the upper-income bracket.
Advertiser AI has specified that a weighting of 0.9 be applied to whether the audience member is middle age, a weighting of 0.7 to the years of post secondary education, a weighting 0.9 as to whether the audience member is male, a weighting of 0.8 as to whether the audience member belongs to an upper-income bracket and a weighting of 1.0 as to when the advertisement will be broadcast. Finally, advertiser A~ has indicated that an audience member will only be matched if a threshold value of fifty ("50") is exceeded.
In the most general terms, the matching operation is a weighted comparison of an audience member's characteristic information and the demographic details of the desired viewer as outlined by the advertiser. The matching operation can further be considered in terms of an n-dimensional Vector Space F, where n represents the number of demographic attributes or "Sets (S)". X~, X2, X3 ... X" are vectors, for each dimension n, within F, that each represent one demographic attribute that will be used in determining a match between a viewer and an advertisement. Each 3o demographic attribute is treated as a linearly independent vector and together, all the characteristic information attributes under consideration represent the basis of the space F. This n-dimensional vector space represents the possible demographic attributes possessed by the desired viewer as outlined by a given vendor.
Further, the set of all linear combinations can be represented as:
kiXl+ k2X2+ k3X3+...+k" X~ (k; in F) V~(F) is the summation of all n-vectors within F i.e. the n-dimensional vector space over which demographic attributes of the desired viewer span. The purchaser is represented in the vector space F by the zero n-vector subspace V"(F). During the matching operation the characteristic information of a given viewer are "surrounded", in n-dimensional space, by the demographic attributes of the desired viewer as outlined by a given advertiser. Each dimension in the vector space F
represents a quality measure of the match between the characteristic information of a given viewer and the demographic, attributes of the desired viewer as determined by the approximate reasoning technique applied to that matching operation (e.g. fuzzy logic using fuzzy-sets in the preferred embodiment).
A bias can further be applied to each of the n-dimensions. This bias can include actually discarding a particular vector that does not meet a minimum desired threshold in a given dimension. The bias can thus be set to determine, in effect, a mass for each point in the n-dimensional space associated with each vector.
The magnitude of the vector in a given dimension is associated with the bias for that 2o dimension to determine a component of the mass that is associated with a given point.
By summing the component of mass generated in each dimension, a mass for each point can be determined. This mass represents the applied bias, as desired, in order to vary the overall quality of the match generated in the n-dimensional space.
Again, each dimension in the space represents the quality of the match between the characteristic information of a viewer and the demographic attributes of the desired viewer for a given advertisement.
It will be understood that any number of analyses can be applied to determine the best match or to determine how to best distribute the viewer's spending to optimize results. For example, the n-dimensional space can be collapsed into two dimensions by considering the mass of the points versus the square of the norms (i.e.
magnitude) of the vectors. In the final result, the magnitude of the vector from the origin (the viewer) to a point in the cluster of sellers (vendor) represents a measure of the attraction of the viewer to a given vendor. Continuing with the example, the relationship follows an inverse square law. Also, the viewer can be moved from the origin to a point of equilibrium amongst the cluster of vendors (each vendor point has its determined mass and the purchaser has a mass of unity.) This point represents an optimal distribution of how to appropriately purchase advertising amongst a plurality of vendors. It is believed that spending with each vendor would thus be proportional to the norm of the vector from the purchaser to that vendor.
It will be understood the following assumptions are made with regard to the foregoing. First, the fuzzy-set approximate reasoning used to determine the quality of the match of a given demographic attribute between the purchaser and the vendor is to not fixed. In other words, there are an infinite number of possibilities (fuzzy-sets) with respect to the quality of the match. Second, collapsing of the n-dimensional space into a plot of distance from the vendor to the purchaser is only an example, and other methods of determining spending decisions are also within the scope of the invention.
Returning to the matching operation that is performed at step 904 for audience member AM1 (John Smith) watching the program "PGA Weekly Update" that is to be presented by Broadcaster B, at 19:30 and an advertisement from advertiser A~ i.e.
an advertisement for a Full-size SUV.
There are five (5) demographic attributes or Sets (S) that are considered in the 2o determination of whether an advertisement for a Full-size SUV is to be shown to audience member AM1. Vector Length (VLs) is the length, from the origin, of the vector representing audience member AM1 who possesses S-demographic attributes.
As shown in Equation 1 VLs for audience member AMl is equal to the square root of the sum of the square of the qualifying levels (L) for sets (S).
=s vL = ~Ls~z (1) ,.-The qualifying levels, Ls, are determined using the fuzzy-sets presented in Figures 8a, 8b, 8c and 8d for the characteristic information presented in Figure 7 (Table V).
The next value to be calculated is the Weighted Vector Length. The Weighted Vector Length (WVL) is the mass of the point at the end of the vector with length VL.
WVL is calculated according to Equation 2.
.,=s WVL = ~W.S.L.,. (2) s'=1 WVL is equal to the sum of the product of the Weights (Ws) (Table V, Figure 7) associated with the viewers characteristic information and the qualifying levels (Ls) that are determined from the fuzzy-sets presented in Figures 8a, 8b, 8c and 8d.
The Strength of the match is calculated as the Point on the Plot (P) using Equation 3. This calculation causes strong matches to be closer to the origin and weaker ones to be further from the origin.
p = ~-VL
Finally, a Threshold (Th) that will be compared to the threshold for broadcasting a commercial set by the advertiser is calculated using Equation 4.
Threshold, Th, is equal to WVL divided by P2. The division by a squared term brings 2o strong matches closer to the origin while weaker ones are pushed further away and increases this movement.
Th = pyL (4) Using the values presented in Tables III, IV and V for Audience Member AMA
(John Smith) watching advertisement for a "Full-size SUV" presented by broadcaster B1 and the qualifying levels presented in Figures 8a, 8b, 8c and 8d a threshold value of 520 is calculated. This is greater than the threshold value of fifty ("50") set by the advertiser and the commercial is shown to Audience Member AMA (John Smith).
The large amount by which the calculated threshold value exceeds the 3o threshold set by the advertiser indicates that the quality of match between Audience Member AMA (John Smith) and the advertisement for a "Full-size SUV" is high i.e. it is a strong match. In this case advertiser Ai could be charged a price that reflects this strong match.
The process then cycles again through steps 910, 912, 904 and 906 for audience member AM2, (Joan Clark), audience member AM3, Cristina Franklin, and through the remaining audience members, and again through steps 914, 916 and back down through step 914 until all remaining advertising timeslots have been checked against each audience member. For purposes of explaining the present embodiment, it will be assumed that audience member AM2, (Joan Clark), and audience member 1 o AM3, (Cristina Franklin) did not exceed the threshold value for "PGA
Weekly Update".
Once it is determined at step 914 that there are no further advertising timeslots to consider, the method advances to step 918 where it is determined which advertising timeslot had the greatest number of recorded matches at step 908. For purposes of explaining the present embodiment, it will be assumed that the advertising timeslot during "PGA Weekly Update" had the greatest number of audience member matches with the advertisement "Full-size SUV"
The method then moves to step 920 where the "Full-size SUV" advertisement from advertiser A~ is scheduled for broadcast during "PGA Weekly Update" on each 2o receiver of an audience member that matched with this advertisement, including receiver R~, belonging to audience member AMI, John Smith.
In a present embodiment, the timeslots associated with these matched audience members are then removed from future consideration. The pricing information associated with this time slot will be retained and may be reused in the future. In other embodiments it may be desired to reschedule certain timeslots, as will occur to those of skill in the art.
The method of Figure 9 is thus repeated for each advertisement shown on Table V (Figure 7). For purposes of explaining the present embodiment, it is assumed that the advertisement "Orthopedic Mattress" is scheduled to play in the advertising 3o timeslot during "Accolades of the Amazon" on receiver R2 belonging to audience member AM2 , Joan Clark, and that the advertisement "Brazil Airline Ticket" is scheduled to play in the advertising timeslot during "Action Man" on receiver belonging to audience member AM3, Cristina Franklin.
One way that the scheduling of step 920 can occur is in the following manner.
Referring now to Figure 5, matching agent 44 sends a matching event over event bus 36 to database agent 48. The matching event contains the matching data from step 908. In turn, database agent 58 records the matching data from step 908 on matching records database 29. Next, routing agent 54 issues an event to database agent requesting the retrieval of matching data stored on matching records database 29. In turn, routing agent 54 interacts with scheduling agent 70 to store the scheduled information on schedule database 78. The scheduling can continue right until the time just before the actual advertising timeslot is to be played. However, where no to particular advertisement is matched with a specific timeslot on a receiver of a particular audience member, then a default advertisement can be scheduled to play during any such unmatched timeslots.
It will be understood that by setting certain desired weightings, each advertising timeslot for each audience member can be scheduled with a particular advertisement, notwithstanding the likelihood of a particular audience member to actually be viewing the advertising timeslot when the advertisement is being run.
Thus, for example, while it was determined that audience member AM3, Cristina Franklin, is unlikely to be watching "PGA Weekly Update", the advertisement "Full-size SUV" can be scheduled to run during that advertising timeslot on receiver R3.
2o Alternatively, since audience member AM3 was considered a member of a desired target audience for the advertisement "Brazil airline ticket", then this particular advertisement can be scheduled for presentation to audience member AM3 during the advertising timeslot of each program in the program schedule of Table IV.
Returning now to the method shown on Figure 6, having performed the matching operation at step 606, the method advances to step 608 where the matched advertisement is presented. For purposes of explaining this step, it will be assumed that it is 7:30PM and that audience member AMA is watching "PGA Weekly Update".
Referring now to Figure 5, receiver Rl is receiving a digital video stream, such as an MPEG transport-stream, from programming sources 60, that contains all of the 3o programs in Table IV. Since audience member AMA has selected "PGA Weekly Update", decoder 74 is extracting this program from the MPEG transport-stream and presenting it to audience member AM, .
Just prior to 7:40:OOPM, scheduling agent 70 determines that an advertising timeslot is about to occur, and accesses the advertising schedule stored on database 78. Scheduling agent 70 determines that the advertisement "Full-size SUV" is to be presented to audience member AM,. Meanwhile, a second transport-stream containing each of the advertisements in Table V (Figure 7) is being received by receiver R~ from advertising sources 64. Since audience member AM1 is scheduled to view the advertisement "Full-size SUV" decoder 74 extracting this advertisement from the transport-stream and presents it to audience member AM1.
It will now be understood that a similar sequence of events is occurring for receivers R2, R3 and every other receiver within system 20b.
1 o It will also be understood that step 608 can occur in a variety of different ways. For example, each advertisement in Table V (Figure 7) can have been pre-downloaded onto database 78 prior to presentation of the advertisement, rather than decoding it from another transport-stream.
In another embodiment of the invention, it is contemplated that real-time or deferred audit information can be obtained from each receiver and presented back to each advertiser and each broadcaster. It is contemplated that scheduling agent 70 is operable to send an event back to monitoring agent 50 that continually or in a deferred manner reports the viewing habits of each audience member. In turn, this data can then be readily compiled and presented back to each advertiser and each broadcaster 2o in real-time or in a deferred manner. Thus, if, for example, one or more audience members change channels during the viewing of "Full-size SUV", then an advertiser can infer that this advertisement is not appealing to a range of audience members.
Other audit information that is of value to advertiser is frequency of use information for the various advertisements. Further, this information could be correlated to feedback from the consumer, such as clicks on the advertisers website. All of this information could then aid the advertiser refine their advertisements.
Similarly, such audit information can be used to continually update characteristic information database 27, to more accurately predict which programs may be viewed by each audience member, thus simplifying the range of advertising 3o timeslots considered in the method discussed in Figure 9.
Furthermore, such audit information can be used to determine the fees charged to advertisers by broadcasters for presenting their advertisement. For example, a fee can be charged at a simple rate per viewer that actually watched the advertisement.
Other fee structures will occur to those of skill in the art. For example, each advertiser may bid on a particular advertising timeslot, the highest bidder winning the timeslot.
In another embodiment of the invention the viewer can augment their personal information. This information can then be used by the Set-top Agent to bias the commercials and information received by the viewer towards a particular area or areas of interest. It is to be understood that present invention can be conducted over any physical communication hardware structure, such as cable, satellite, twisted pair, fibre, wireless, PCS and over any communication protocol such as TCP/IP
(Internet), 1o DVB and over any stack of protocol layers thereof.
The present invention can have application beyond the advertising environment. For example, the messages directed at particular audience members need not be advertisements, but can have any type of content that is of interest to the audience member. For instance, the message could be a tracking-message from a courier company, indicating the location-in-transit of a package being delivered to the particular audience member. The message could also be an "Interactive application"
consisting of pre-compiled or interpreted sequences of instructions to be executed on the viewing device. The applications can operate with or without direct input or interaction from the viewer, and may access other data, applications or application 2o facilities available locally on the set-top or remotely through network connections, using methods known to those of skill in the art. Examples of interpreted sequences include Java, BASIC and p-code instructions. The message will generally comprise any of audio, video, data, programs, and interactive and multimedia content.
It will be thus understood that an advertiser can be any party wishing to deliver a message to one or more audience members. It will be further understood that the techniques outlined in this patent can also be applied to programming content.
This naturally leads to the creation of 'virtual channels' that are fully customized with respect to both programming and advertising content.
The present invention provides a novel method and system for targeted 3o message delivery, typically in a digital medium, such as digital television or radio. A
matching operation can be used to specifically target a message at broad demographic groups or to or one individual. The matched message can be seamlessly incorporated into a regular advertising timeslot during a particular program. Thus, viewers watching the same program can be presented with a message that is specifically tailored to their individual needs and/or interests.
The system can also be used 'to obtain real-time auditing information, as an audience member's receiver reports the selections made by the audience member back to the system. The generated auditing information can be used to gauge the success and/or popularity of both programming and advertisements. Such auditing information can also be used to set fees charged to advertisers by broadcasters.
While the invention has been described according to what is presently considered to be the most practical and preferred embodiments, it must be understood 1o that the invention is not limited to the disclosed embodiments. Those ordinarily skilled in the art will understand that various modifications and equivalent structures and functions may be made without departing from the spirit and scope of the invention as defined in the claims. Therefore, the invention as defined in the claims must be accorded the broadest possible interpretation so as to encompass all such modifications and equivalent structures and functions.
Figure 5 is a schematic representation of a software architecture in accordance with another embodiment of the invention;
Figure 6 is a flow-chart of a method of targeted advertising in accordance with another embodiment of the invention;
1o Figure 7 is a Table (Table V) of the viewer attributes that will be consider in the calculation of a Matching Record;
Figure 8a is a graph of Qualifying Level versus Age for the Middle Age fuzzy-set;
Figure 8b is a graph of Qualifying Level versus Years of Post Secondary Education for the Post Secondary Education fuzzy-set;
Figure 8c is a graph of Qualifying Level versus Income for the Upper Income fuzzy-set;
Figure 8d is a graph of Qualifying Level versus Time of Day for the Evening fuzzy-set; and Figure 9 is a flow chart illustrating the procedure for scheduling an advertisement.
Detailed Description of Embodiments of the Invention As used herein, "broadcaster" refers to any entity that broadcasts or redistributes programming content and sells advertising timeslots, such as major television networks, individual television stations, cable specialty channels, radio networks and radio stations and Internet television, or a rebroadcaster of content such as cable television, direct to home satellite or Internet redistribution points. Other types of broadcasters will occur to those of skill in the art.
"Programs" and "Programming" refer to any type of radio or television programming produced by broadcasters. Examples of programming include news broadcasts, movies, talk-shows, situation comedies and dramas and streaming audio and video on the Internet, news and information tickers, and interactive applications, whether operating independently or in conjunction with data, audio and/or video broadcasts. Other types of programming will occur to those of skill in the art.
"Advertisers" can be any entity that purchases advertising timeslots and that typically provides an advertisement in the appropriate auditory or visual medium which is presented during the purchased advertising timeslot. Examples of advertisers can include advertising agencies, manufacturers, corporations and governments.
With 2o respect to governments the current invention could be used to select recipients to which specific government messages are to be broadcast.
The terms "advertisement" and "advertising" include conventional television and/or radio advertisements, which typically comprise a series or sequence of video and/or audio frames that includes a message, the message typically being the promotion or sale of wares or services. These terms also include "squeezes"
where the advertisement, which is generally some sort of banner, is placed alongside the program after the program has been reduced in scale such that it no longer fills the entire viewing screen. It further includes "overlays" where the advertisement appears over the regular program content. These messages do not necessarily have to be 3o related to the program content.
A "timeslot" is used to generally refer to an opportunity between segments of a regularly broadcast program, typically between thirty-seconds and two-minutes but can be of arbitrary length, but only as short as is perceptible to the viewer, that is s dedicated to the displaying, playing or other type of presentation of an advertisement or other content. Other types of advertising timeslots will occur to those of skill in the art and are within the scope of the invention. For example, a timeslot could be offered during the presentation of the regularly broadcast television programming, where the spot advertisement was displayed in a split-screen, as a scrolling text message, or an overlaid audio-track, as an interactive application or as part of an interactive application.
"Interactive applications" consist of pre-compiled or interpreted sequences of instructions to be executed on the viewing device. The applications can operate with or without direct input or interaction from the viewer, and may access other data, applications or application facilities available locally on the set-top or remotely through network connections, using methods known to those of skill in the art.
Examples of interpreted sequences include Java, BASIC and p-code instructions.
In the process descriptions that follow, "Audience member" refers to a single viewer or a group of viewers aggregated around one or more statistically common characteristics.
Referring now to Figure l, a system for targeting advertisements is indicated at 20. System 20 includes a vending interface 22, a matching engine 24, a purchasing interface 26 and a delivery engine 28. A service provider 30, such as a cable 2o company, interconnects delivery engine 28 and a plurality of receivers (R1...Rp), such as set-top boxes, digital televisions, digital radios or computers. Service provider 30 delivers programming produced by broadcasters (BI...Bm) to receivers (RI...Rp) which are operable to present the programming to respective audience members (AM1...AMP). Vending interface 22 is accessible by one or more broadcasters (B1...Bm) who can offer the available advertising timeslots in their programming.
Matching engine 24 receives available advertising timeslot information from vending interface 22. Matching engine 24 is further operable to determine which audience members (AM, ...AMP) are, or likely to be, tuned into their receiver (R, ...Rp) when each available advertising timeslot is being presented. Purchasing interface 26 is accessible to one or more advertisers (A1...A") who can view the available advertising timeslots and the characteristic information of audience members (AMI...AMp) who are, or likely to be, tuned-in during the available advertising timeslot. Purchasing interface 26 is operable to receive bids on the available advertising timeslots from advertisers (A1...A"). Matching engine 24 is further operable to determine a winning bid and match it with the appropriate advertising timeslot.
Delivery engine 28 is operable to schedule and/or deliver the winning bid to the service provider, who in turn delivers the advertisement to the targeted audience member (AM1...AMP) for presentation during the available timeslot.
System 20 further includes a characteristic information database 27 that is accessible to matching engine 24 and delivery engine 28. Characteristic information database 27 includes information about each audience member (AM1...AMP) that can 1o be used to assist in targeting an appropriate advertisement at a particular audience member (AM1...AMP). For example, characteristic information database 27 can include demographic, psychographic, behavioural and/or geographic information about each audience member (AM, ...AMP). Matching engine 24 can use characteristic information database 27 to match advertising timeslots with audience members (AM1...AMP) based on a wide range of criteria, the details of which will be discussed in greater detail below. Characteristic information database 27 can be gathered and/or maintained using well-known techniques and data-sources, such as individual surveys completed by audience member (AM,...AMP), credit card records, commercial data bases, mailing lists and the like. Characteristic information database 27 also receives data from each receiver (R1...RP) and builds a database of viewing habits for each audience member (AM1...AMP). Similarly, characteristic information database 27 can offer real-time or deferred data as to the ratings of a particular program, and such ratings can be made available to advertisers (A1...A") and broadcasters (BI...Bm) or other interested parties.
System 20 also includes a matching records database 29, which holds the various matches determined by matching engine 24 and makes those matches available to delivery engine 28 so that the actual advertisement can be scheduled andlor delivered to service provider 30 and the targeted receivers (R1...RP).
Referring now to Figure 2, a presently preferred configuration of system 20 is 3o shown as system 20a. A plurality of servers 32, house at least one vending interface (221, 222 ... 22W), at least one matching engine (241, 242 ... 24X), at least one purchasing interface (261, 262 ... 26y), and at least one delivery engine (281, 282 ...
28Z). Each server 32 is connected to the Internet 34 or other suitable network, such as io telephone, cable or satellite. Each server 32 can be located anywhere that an Internet connection is available, and similarly broadcasters (B~...B",) and advertisers (A~...A") can be connected to Internet 34 anywhere that an Internet connection is available.
Accordingly, servers 32, broadcasters (B~...B",) and advertisers (A~...An) can be located over a wide geographical area. While not necessary, it is presently preferred that each delivery engine 28 is local to a respective service provider (301, 302 ... 30Z), in order to facilitate delivery of advertisements to a respective service provider (30,, 302 ... 30Z). Each server 32 includes a central processing unit, random access memory, a persistent storage device, and a network interface device for connection to to Internet 34 or suitable network. Delivery engines (281, 282 ... 28Z) further include a second interface device for connection to their respective service provider (301, 302 3 OZ).
The distributed configuration shown in Figure 2 allows a number of broadcasters (B~...B",) advertisers (A1...A"), service providers (30~, 302 ...
30Z) and audience members (AM1...AMp ) to participate in system 20a, and these participants can be from a broad range of geographic locations. In addition, it is believed that the distributed configuration of system 20 shown in Figure 2 can make system 20a more fault-tolerant and facilitate the management of large volumes of traffic over a wide geographical area.
2o As shown in Figure 2, characteristic information database 27 resides on a single file server and allows a central repository for all characteristic information about audience members (AM,...AMp). In other embodiments, it will be understood that database 27 can reside on a plurality of file servers connected to Internet 34.
Similarly, matching records database 29 resides on a single file server and provides a central repository for all matches of advertisements with advertising timeslots, and is accessible to each delivery engine 28 to be used during the actual scheduling and/or delivery of the advertisement during the appropriate timeslot to the appropriate service provider (30~, 302 ... 30Z) and/or audience member (AM1...AMp).
In alternative embodiments, it will be understood that database 29 can reside on a 3o plurality of file servers connected to Internet 34. Each vending interface (22~, 222 22W) and each purchasing interface (26~, 262 ... 26Y), hosts secure web-sites which provide user interfaces for their respective functions. Broadcasters (BI...Bm) and advertisers (Ai...A") are also connected to the Internet and are able to access vending m interfaces (221, 222 ... 22W) and purchasing interfaces (261, 262 ... 26y).
A broadcaster (B~...B",) accessing vending interface 22 can provide input to matching server 32 and view output from matching server. The following table is exemplary of the inputs and outputs available to broadcaster (B,...Bm):
TABLEI
Vending Interface Inputs Outputs Program AdvertisingAsking ReceivedBid Accepted?DescriptionDescription of Timeslots Bid Bids Expected of actual Audience audience Under the "Program" column, broadcaster (B1...Bm) can input the name of a to particular program where advertising timeslots are available. Under the "Advertising Timeslot" column, broadcaster (B1...Bm) can input a list of advertising timeslots available for each program, and can indicate an asking price to be paid for the available advertising timeslot under the "Asking Bid" column.
Having input the above information, broadcaster (B1...Bm) can view the bids t5 received for each advertising timeslot under "Receive Bids", and an indication as to whether matching engine 24 has accepted the bid. (The details of matching will be discussed in greater detail below.) Similarly, broadcaster (B1...Bm) can view audit information about the audience, such as the expected audience for the advertising timeslot as determined by matching engine 24, and once the matched advertisement 2o has been played, can view which audience members (AM1...AMp), or groupings of audience members, actually received the advertisement under the "Description of Actual Audience" column.
Similarly, an advertiser (Ai...A") accessing purchasing interface 26 can provide input to matching server 32 and view output from the matching server.
Table 25 II is exemplary of the input and output available to advertiser (A1...A"):
TABLE II
Purchasing Interface Outputs Input ProgramAdvertisingAskingReceivedBid DescriptionDescriptionSubmit TimeslotsBid Bids Accepted?of Expectedof actual Bid Audience audience Where purchasing interface 26 is configured using the format of Table II, each advertiser (A1...A") can review available advertising timeslots and asked bids for those timeslots. In return, one or more advertisers (A~...A~) can submit a bid for those timeslots, leaving matching server 24 to determine the appropriate matches.
This is a simple example of the bidding process. It will be obvious to one skilled in the art that there are many more complex bidding processes are also possible and are within the 1 o scope of the current invention.
An alternative format for purchasing interface 26 is shown in Table IIA.
TABLE IIA
Purchasing Interface Input Outputs Bid AmountDesired targetProgram AdvertisingDescriptionDescription of audience Timeslots of Expectedactual audience Audience When using the format of Table IIA, an advertiser (A~...An) simply enters a bid amount and a desired target audience. Upon submitting the bid, matching engine 24 can match the bid from the advertiser (A1...A") with a suitable advertising timeslot posted by broadcaster (B1...Bm), and post those results as outputs as shown in Table IIA.
It will be understood that Table I, Table II and Table IIA are merely quite simple exemplary input and output formats used to illustrate the process, and other formats can be used. For example, the decision to accept a bid can be made by the broadcaster who posted the bid, rather than leaving the determination to matching server 32. In general, vending interface 22 and purchasing interface 26 provide the following functionality:
1. Providing a forum for the buying and selling of advertising timeslots;
2. Defining purchasing and sale alternatives for advertising timeslots based on characteristic information of audience members (AM~...AMp);
3. Managing of audit reports and/or ratings resulting from the delivery of advertisements during advertising timeslots; and, 4. Billing and accounting information for each advertiser (A~...A") and broadcaster (B,...Bm).
Figure 3 is a block diagram that shows a presently preferred distributed software architecture implemented on system 20a. As will be understood by those of skill in the art, multiple, identical applications executing on each server 32 can operate as if a single application is executing on a single server, while providing reliability and fault tolerance and allowing several different participants, over a broad geographical area, to simultaneously interact with system 20a. One suitable distributed software architecture is provided by publish-subscribe software such as TIB/Rendezvous software available from TIBCO Software Inc. and MQSeries software from IBM Inc.
2o It is also presently preferred that system 20a operates in real-time. A
presently preferred way to implement system 20a over real-time is to use Internet multi-cast technology that incorporates RTP, real-time extensions into transmission control protocol/Internet protocol (TCP/IP). As will be understood by those of skill in the art, the use of real-time extensions can assist in the execution of applications in a distributed manner across system 20a, as servers and/or routers can choose to pick-up certain events with certain extensions, while choosing to ignore others based on the real-time extensions. The use of real-time extensions further allows the processes of system 20a to operate in real time while the servers and the applications that run on them are possibly located in different time zones. Thus real-time extensions allow the 3o systems and processes of system 20a to operate in a co-ordinated manner.
Further, real-time extensions allow the system and processes of the current embodiment to overcome delays introduced by the implemented technology. In non-real-time transport environments where unpredictable delays can be expected in transmission -for example, TCP/IP routed networks - timestamps on events are used to coordinate actions and events with temporal dependencies.
In the present embodiment, the software architecture includes an information bus or event bus 36, which is essentially a software bus that uses Internet 34 or other suitable networks) as a physical conduit. Event bus 36 provides a software interconnection, typically in the form of events or topics, between software applications and/or objects executing on vending interfaces (221, 222 ...
22W), purchasing interfaces (261, 262 ... 26y), matching engines (241, 242 ... 24X), and delivery engines (281, 282 ... 28Z).
to Software executing on matching engines (241, 242 ... 24X) includes a request agent 40, a matching agent 44 and a database agent 48. Each request agent 40 is operable to listen on event bus 36 for a request event generated by vending interfaces (221, 222 ... 22W) and purchasing interfaces (261, 262 ... 26y). A request event is an event representative of a request made by a broadcaster or an advertiser relating to the sale or purchase of advertising timeslots. For example, when a broadcaster (B1...Bm) accesses a vending interface (221, 222 ... 22",) to offer an advertising timeslot available for sale, then an available request agent 40 listens for this request event and adds it to a queue of request events.
Request agent 40 is further operable to generate a match-request event on bus 2o 36 for each request event. A match-request event is an event representative of a request to actually match an advertising timeslot with an advertisement. In turn, each available matching agent 44 is operable to listen for match-request events.
Each matching agent 44 is further operable to notify the request agent 40 of its availability, and to pick-up the match-request for processing.
Matching agents 44 are further operable to obtain or write database information by generating a data-transfer event on bus 36. Each database agent 48 is operable to listen for data-transfer events and retrieve and/or store appropriate data on matching records database 29 and/or characteristic information database 27, as appropriate, based on the contents of the data-transfer event.
3o Matching agents 44 are further operable to perform a matching operation that considers a match-request and data retrieved through database agent 48. In a present embodiment, the results of the matching operation will typically be:
1. The details of a particular match-request, where insufficient data or conditions are available to actually make a match. For example, where a broadcaster (B 1...Bm) offers an advertising timeslot for sale, but no corresponding purchase request from an advertiser (A1...A") exists, then the available advertising timeslot is placed on the matching records database 29 for later processing; or 2. The results of an actual match of an available advertising timeslot with an advertisement. For example, where the match-request is a bid to purchase a type of advertising timeslot, and the matching operation finds an available advertising timeslot appropriate to the bid, then a match therebetween is made 1o and stored on matching records database 29.
Any matching operation that makes a reasonable match between available advertising timeslots and bids is within the scope of the invention. A
presently preferred matching operation will be discussed in greater detail below.
Matching agents 44 are further operable to process billing and ratings information associated with each match so that a fee can be charged for each match and/or scheduling and/or delivery of an advertisement.
Turning now to delivery engines (281, 282 ... 28Z), software executing thereon includes formatting agent 50, routing agent 54 and database agent 58.
Formatting agent 50 listens for channel-events that are typically published via the service 2o provider (301, 302 ... 30Z) respective to the delivery engine (281, 282 ...
28Z) where the formatting agent 50 resides. Channel-events are reports, typically generated in real-time, of the channel selected by audience member (AM1...AMp) on his or her receiver (R1...Rp). However, it is also possible for channel-event reports to be generated in a non-real time environment. In this case the channel-event reports are collected and sent to the delivery engines (281, 282 ... 28Z) at a later time. Channel-events can be generated by software executing on receiver (R1...Rp) and/or at the service provider (301, 302 ... 30Z) respective to receiver (R1...Rp). Formatting agent 50 is also operable to incorporate channel-events into matching data stored on characteristic information database 27 and/or matching records database 29. In turn, the channel-event data can 3o be used to either update characteristic information about a given audience member (AM1...AMP) and/or provide more criteria to matching records 29, either or both of which can be used by matching agent 44 in matching available advertising timeslots and bids.
Routing agent 54 is operable to retrieve matching data stored on matching records database at the appropriate time, and relay this information to the service provider (301, 302 ... 30Z) respective to the delivery engine (281, 282 ...
28Z). Similar to database agent 48, database agent 58 is operable to listen for data-transfer events from formatting agent 50 and routing agent 54, and accordingly retrieve and/or store appropriate data on matching records database 29 and/or characteristic information database 27, as appropriate, based on the data-transfer event.
Referring now to Figure 4, the software architecture on delivery engine 281, its respective service provider 301, and receiver RI are shown. It will be understood that to Figure 4 exemplifies a software architecture for delivery engines (281, 282 ... 28Z), service providers (301, 302 ... 30Z), and receivers (R1,...Rp) attached thereto. Service provider 301 has access to programming sources 60 and advertising sources 64.
Programming originating from broadcasters (B1...Bm) is delivered to programming sources 60 using any known means in the art, including non-real-time delivery for deferred viewing and Internet facilities and methods. For example, where service provider 301 is a television cable-company and broadcasters (B1...Bm) are television networks, then programming, in the form of television programs, can be delivered by satellite to service provider 301 in the usual fashion. Continuing with the present example, programming sources 60 are then one or more satellite dishes and receivers located at the cable company service provider 301. Programming sources 60 can also include direct cable feeds, pre-recorded video cassettes, MPEG files on a hard-disc or other persistent storage device, video on demand servers (including multi-tier servers) and any other media storage or delivery means, as will occur to those of skill in the art.
Similarly, advertising originating from advertisers (A1...A") is delivered to advertising sources 64 using any known means in the art. Again, using the example of service provider 30~ as a television cable-company, advertising can be stored as video-tapes of pre-recorded advertisements or MPEG files on a persistent storage device. Other media storage and/or delivery means for advertising sources 64 will occur to those of skill in the art.
Receiver Rl has a scheduling agent 70, a decoder 74 and a schedule database 78. Scheduling agent 70 is operable to obtain a particular schedule of programming and advertisements for receiver Rl from routing agent 54 via service provider 301.
m Scheduling agent 70 is further operable to store the schedule and/or update the schedule on database 78. Scheduling agent 70 is further operable to instruct decoder 74 which programming and advertisements are to be presented to audience member (AM1) based on the schedule stored on database 78.
s The integration of advertisements with programming can be conducted in one of three methods by receiver Rl. All three methods are encompassed by the current embodiment. In the first method the advertisements and programming are transmitted to the receiver R1 in real time. The advertisements would then be spliced into the programming in real time.
In the second method advertisements could be transmitted to the receiver R~ in mufti-cast or point-to-point form at times when programming is not being viewed or while the programming is being viewed if the receiver is equipped to handle more than one incoming stream. In this case the advertisements would be stored locally or at a network point with equivalent-to-local storage and playback performance before 15 being spliced into the programming. This embodiment of the current invention would allow more efficient use of the bandwidth of the delivery means used by the service provider.
In the third method, advertisements could be retrieved by the local receiver through Internet or other data connections from servers, either in real-time or for local 20 or near-local storage and deferred viewing.
Referring now to Figure 5, system 20b is a specific implementation of system 20a, and components in system 20b that have like components in system 20a are indicated with like references. System 20b includes three advertisers: a car-dealership A,, an airline A2, and a furniture store A3, and three specialty cable company 25 broadcasters: a golf channel B,, a cartoon channel B2 and a wildlife channel B3. The medium in the present embodiment is digital television signal, broadcast as an MPEG, DSS or other transport stream using DSS, DCII,DVB, ATSC or other formats by cable companies 30~, 302, and 303. Accordingly, programming source 60 is a digital video server or digital video multiplexer operable to receive the transport 3o streams of programming received from each broadcaster B1, B2, and B3.
Similarly, advertising sources 64 is an advertisement server or a video on demand server operable to receive transport streams of advertising received from each advertiser A~, A2, and A3. It will be understood that the advertising can be received via an la advertising agency that is used by the particular advertiser A,, AZ, and A3.
Receivers R1, R2, and R3 are digital television set-top boxes having wherein decoder 74 is a decoder that decodes transport streams received from service provider cable-company according to scheduling instructions received from scheduling agent 70 and scheduling database 78. The decoded transport stream is presented on a television to respective audience members AM1, AM2, and AM3. While not shown in Figure 5, it is to be understood that a plurality of additional receivers owned by their respective audience members are also connected to system 20b in the same fashion as receivers Rl, R2, and R3.
1o A method of targeting advertising in accordance with another embodiment of the invention will now be discussed with reference to system 20b. The targeting method of the current embodiment requires information of various types be collected for use by the matching engine 24 to create a matching record. This method is outlined in the flow chart presented in Figure 6. Characteristic information about each audience member is collected at step 600. In the present embodiment, this information is collected using a survey that is completed by each audience member.
The results of the survey are compiled into a database that is stored in characteristic information database 27. In the present example, the results of the survey of audience members AM1, AM2, and AM3 are shown below in Table III.
Table III
Characteristic Information Audience Name Age Occupation and (YearsGender Annual Income Member of Post Secondary Education) AM1 John Smith34 Dentist (6) Male $190,000 AM2 Joan Clark76 Retired school-teacherFemale $34,000 (5) AM3 Christina19 College Student (2) Female $18,000 Franklin In another embodiment characteristic information is obtained from commercial databases such as those of credit card companies. The data from the commercial databases would similarly be transposed in to the characteristic information database 27. It will be understood that other methods of collecting, maintaining and/or updating characteristic information, and any number or type of other characteristic information can be used, as will occur to those of skill in the art.
At step 602, a program schedule that is available in whole or in part for viewing by each audience member is received from broadcasters B1, B2, and B3 each of whom access one of the vending interfaces 221, 222 or 223 to enter their programming schedule. An example of part of a programming schedule for each broadcaster B1, B2, and B3 is shown below in Table IV. The programming schedule is typically presented as an Electronic Programming Guide (EPG) in the digital 1o television environment. An EPG contains information program maps which contain scheduling and program categorization information. The EPG containing current and future program information is transmitted as part of or concurrent with the video stream and is constantly updated and retransmitted. If a receiver is equipped with sufficient local or near-local storage, the EPG may be transmitted in advance to that storage. However acquired, the EPG is accessible at the viewer's receiver R;.
Table IV
Programming Schedule BroadcasterName Program Program ProgramAdvertising Name Category Time Timeslot B1 Golf channel"PGA WeeklySports 7:30PM-7:40:00 Update" 8:OOPM 7:40:30 B2 Cartoon "Action Cartoon/Children7:30PM-7:40:00 Man"
channel 8:OOPM 7:40:30 B3 Wildlife "Accolades Documentary 7:30PM-7:40:00 of channel the Amazon" 8:OOPM 7:40:30 2o At step 604 advertising information is received from advertisers (A1, A2 and AN) ,each of whom access one of the purchasing interfaces 261, 262 or 26N and enter their advertising information. The advertising information related to an advertisement from each advertiser (A1, A2 and AN) of the current embodiment is presented in Table V (Figure 7). This information outlines demographic details or characteristic information of the desired viewer or target audience member for a given advertisement. It also comprises a 'weighting' that will be applied to the characteristic information of audience members during the matching operation.
Further, the advertiser also provides a threshold value that has to be surpassed by the value calculated during the matching operation for an advertisement to be presented to a given viewer.
The decision of whether or not to present a given advertisement to a given audience member or group of audience members is made at step 606 where the matching operation is performed and a Matching Record is calculated. The Matching to Record is calculated using characteristic information of a given audience member (AM1...AMP), fuzzy-sets of the characteristic information of an audience member and weightings based on the characteristics of the desired viewer as outlined by an advertiser (A1...An). The use of approximate reasoning techniques (fuzzy-sets) in the matching operation allows flexibility in the comparison process such the "strength" of the match can be determined at the same time as the existence of a match. This also allows flexibility in the subsequent pricing, which can be based on the "strength" of a match between a particular advertisement in a given timeslot.
The current embodiment uses fuzzy logic as the specific approximate reasoning technique. The matching operation further uses fuzzy-sets and qualifiers to 2o process target information and descriptive data for the advertisement to generate a Matching Record. Fuzzy-sets are configurable-arbitrary response functions that allow a "qualifying level" to be assigned to demographic data of audience members that is collected at step 600 of Figure 6. Other implementations of approximate reasoning theory may use other arbitrary response functions in the matching process, as will occur to those of skill in the art.
Table V (Figure 7) presents the age, years of post secondary education, income and gender (demographic details) of the desired viewer for advertisements for a Full-size SUV, Orthopedic Mattress and Brazil Airline Ticket from advertisers AI, A2 and A3, respectively. Table V also presents the proposed viewing time for 3o advertisements from Advertisers A~, AZ and A3. Further, Table V presents a "Weight (WX)" for each of the demographic details for the desired viewer. This "weight" is used to assign a relevance to the characteristic information in the calculation of a Matching Record. One skilled in the art will realize that the demographic details presented in Table V are not the only ones that may be used in the matching operation. It is also within the scope of the invention to use information such as place of residence (address) of an audience member in the matching operation.
The characteristic information of Audience Members AM,, AM2, and AM3 was collected at step 600 and are summarized in Table III. This information is assigned a 'qualifying level' using fuzzy-sets that were developed by advertisers AI, A2 and A3. The qualifying levels of the fuzzy-sets are developed to reflect the probable impact of the advertisement from advertisers A,, A2 and A3 on a given audience member. Fuzzy-sets for age, years of post secondary education, income and to time of day, that have been developed for viewers of the program "PGA
Weekly Update" (Table IV) are shown in Figures 8a, 8b, 8c and 8d, respectively.
Figure 8a presents qualifying levels for the middle age fuzzy-set. Curve 800 is a plot of qualifying level 812 versus age 810. Curve 800 ascends quite quickly to apex which yields a qualifying level of 1.0 at an age of 45. This indicates that a viewer with an age of 45 should produce the strongest correlation to the selected advertisement.
Figure 8b presents qualifying levels for the years of post secondary education fuzzy-set. Curve 820 plots qualifying level 826 versus years of post secondary education 822. The curve plateaus 828 at a qualifying level of 1.0 after five years of 2o post-secondary education.
Figure 8c presents data for the income fuzzy-set. Curve 840 plots qualifying level 844 versus years of post secondary education 842. The curve plateaus 846 at a qualifying level of 1.0 at an income level of $100,000.
Figure 8d presents data for the time of day when a program is to be presented.
Curve 830 plots qualifying level 834 versus time of day 832. The curve is constant at a qualifying level of 0.0 during the day when the targeted recipient will be at work. It then plateaus at a qualifying level of 1.0 at approximately 8:00 PM (20:00).
At step 606 (Figure 6), a matching operation is performed by the Matching Agent within the Matching Engine for each advertisement in Table V (Figure 7) for 3o the advertising timeslots of Figure IV. A presently preferred method of performing the matching operation used for each advertisement is described as a series of sub-steps of step 606 that are shown in Figure 9. At step 900, an audience member index is set to point to the first audience member AM1, "John Smith" listed in Table III. It should be noted that the current example presents a matching operation for an individual viewer i.e. John Smith. An analogous matching operation could be conducted for an audience member that contains a plurality of viewers aggregated around one or more statistically common attributes. Also at step 900, an advertising timeslot index is set to the first advertising timeslot for the program "PGA
Weekly Update", shown in the programming schedule of Table IV and the advertiser is set to A1 i.e. a car dealership that is advertising a "Full-size SUV".
At step 902, a calculation is developed for the matching operation that is to be performed for Audience Member AMI ("John Smith") and the advertisement for a to "Full-size SUV" to be shown during "PGA Weekly Update". The calculation will consider the weight parameters of a desired target-viewer as specified by the advertiser A~ for its advertisement, "Full-size SUV", of Table V (Figure 7) and the characteristic information of Audience Member AM1 ("John Smith"). As seen on Table V (Figure 7), advertiser A, seeks to target the advertisement to audience members who are middle-aged professional males in the upper-income bracket.
Advertiser AI has specified that a weighting of 0.9 be applied to whether the audience member is middle age, a weighting of 0.7 to the years of post secondary education, a weighting 0.9 as to whether the audience member is male, a weighting of 0.8 as to whether the audience member belongs to an upper-income bracket and a weighting of 1.0 as to when the advertisement will be broadcast. Finally, advertiser A~ has indicated that an audience member will only be matched if a threshold value of fifty ("50") is exceeded.
In the most general terms, the matching operation is a weighted comparison of an audience member's characteristic information and the demographic details of the desired viewer as outlined by the advertiser. The matching operation can further be considered in terms of an n-dimensional Vector Space F, where n represents the number of demographic attributes or "Sets (S)". X~, X2, X3 ... X" are vectors, for each dimension n, within F, that each represent one demographic attribute that will be used in determining a match between a viewer and an advertisement. Each 3o demographic attribute is treated as a linearly independent vector and together, all the characteristic information attributes under consideration represent the basis of the space F. This n-dimensional vector space represents the possible demographic attributes possessed by the desired viewer as outlined by a given vendor.
Further, the set of all linear combinations can be represented as:
kiXl+ k2X2+ k3X3+...+k" X~ (k; in F) V~(F) is the summation of all n-vectors within F i.e. the n-dimensional vector space over which demographic attributes of the desired viewer span. The purchaser is represented in the vector space F by the zero n-vector subspace V"(F). During the matching operation the characteristic information of a given viewer are "surrounded", in n-dimensional space, by the demographic attributes of the desired viewer as outlined by a given advertiser. Each dimension in the vector space F
represents a quality measure of the match between the characteristic information of a given viewer and the demographic, attributes of the desired viewer as determined by the approximate reasoning technique applied to that matching operation (e.g. fuzzy logic using fuzzy-sets in the preferred embodiment).
A bias can further be applied to each of the n-dimensions. This bias can include actually discarding a particular vector that does not meet a minimum desired threshold in a given dimension. The bias can thus be set to determine, in effect, a mass for each point in the n-dimensional space associated with each vector.
The magnitude of the vector in a given dimension is associated with the bias for that 2o dimension to determine a component of the mass that is associated with a given point.
By summing the component of mass generated in each dimension, a mass for each point can be determined. This mass represents the applied bias, as desired, in order to vary the overall quality of the match generated in the n-dimensional space.
Again, each dimension in the space represents the quality of the match between the characteristic information of a viewer and the demographic attributes of the desired viewer for a given advertisement.
It will be understood that any number of analyses can be applied to determine the best match or to determine how to best distribute the viewer's spending to optimize results. For example, the n-dimensional space can be collapsed into two dimensions by considering the mass of the points versus the square of the norms (i.e.
magnitude) of the vectors. In the final result, the magnitude of the vector from the origin (the viewer) to a point in the cluster of sellers (vendor) represents a measure of the attraction of the viewer to a given vendor. Continuing with the example, the relationship follows an inverse square law. Also, the viewer can be moved from the origin to a point of equilibrium amongst the cluster of vendors (each vendor point has its determined mass and the purchaser has a mass of unity.) This point represents an optimal distribution of how to appropriately purchase advertising amongst a plurality of vendors. It is believed that spending with each vendor would thus be proportional to the norm of the vector from the purchaser to that vendor.
It will be understood the following assumptions are made with regard to the foregoing. First, the fuzzy-set approximate reasoning used to determine the quality of the match of a given demographic attribute between the purchaser and the vendor is to not fixed. In other words, there are an infinite number of possibilities (fuzzy-sets) with respect to the quality of the match. Second, collapsing of the n-dimensional space into a plot of distance from the vendor to the purchaser is only an example, and other methods of determining spending decisions are also within the scope of the invention.
Returning to the matching operation that is performed at step 904 for audience member AM1 (John Smith) watching the program "PGA Weekly Update" that is to be presented by Broadcaster B, at 19:30 and an advertisement from advertiser A~ i.e.
an advertisement for a Full-size SUV.
There are five (5) demographic attributes or Sets (S) that are considered in the 2o determination of whether an advertisement for a Full-size SUV is to be shown to audience member AM1. Vector Length (VLs) is the length, from the origin, of the vector representing audience member AM1 who possesses S-demographic attributes.
As shown in Equation 1 VLs for audience member AMl is equal to the square root of the sum of the square of the qualifying levels (L) for sets (S).
=s vL = ~Ls~z (1) ,.-The qualifying levels, Ls, are determined using the fuzzy-sets presented in Figures 8a, 8b, 8c and 8d for the characteristic information presented in Figure 7 (Table V).
The next value to be calculated is the Weighted Vector Length. The Weighted Vector Length (WVL) is the mass of the point at the end of the vector with length VL.
WVL is calculated according to Equation 2.
.,=s WVL = ~W.S.L.,. (2) s'=1 WVL is equal to the sum of the product of the Weights (Ws) (Table V, Figure 7) associated with the viewers characteristic information and the qualifying levels (Ls) that are determined from the fuzzy-sets presented in Figures 8a, 8b, 8c and 8d.
The Strength of the match is calculated as the Point on the Plot (P) using Equation 3. This calculation causes strong matches to be closer to the origin and weaker ones to be further from the origin.
p = ~-VL
Finally, a Threshold (Th) that will be compared to the threshold for broadcasting a commercial set by the advertiser is calculated using Equation 4.
Threshold, Th, is equal to WVL divided by P2. The division by a squared term brings 2o strong matches closer to the origin while weaker ones are pushed further away and increases this movement.
Th = pyL (4) Using the values presented in Tables III, IV and V for Audience Member AMA
(John Smith) watching advertisement for a "Full-size SUV" presented by broadcaster B1 and the qualifying levels presented in Figures 8a, 8b, 8c and 8d a threshold value of 520 is calculated. This is greater than the threshold value of fifty ("50") set by the advertiser and the commercial is shown to Audience Member AMA (John Smith).
The large amount by which the calculated threshold value exceeds the 3o threshold set by the advertiser indicates that the quality of match between Audience Member AMA (John Smith) and the advertisement for a "Full-size SUV" is high i.e. it is a strong match. In this case advertiser Ai could be charged a price that reflects this strong match.
The process then cycles again through steps 910, 912, 904 and 906 for audience member AM2, (Joan Clark), audience member AM3, Cristina Franklin, and through the remaining audience members, and again through steps 914, 916 and back down through step 914 until all remaining advertising timeslots have been checked against each audience member. For purposes of explaining the present embodiment, it will be assumed that audience member AM2, (Joan Clark), and audience member 1 o AM3, (Cristina Franklin) did not exceed the threshold value for "PGA
Weekly Update".
Once it is determined at step 914 that there are no further advertising timeslots to consider, the method advances to step 918 where it is determined which advertising timeslot had the greatest number of recorded matches at step 908. For purposes of explaining the present embodiment, it will be assumed that the advertising timeslot during "PGA Weekly Update" had the greatest number of audience member matches with the advertisement "Full-size SUV"
The method then moves to step 920 where the "Full-size SUV" advertisement from advertiser A~ is scheduled for broadcast during "PGA Weekly Update" on each 2o receiver of an audience member that matched with this advertisement, including receiver R~, belonging to audience member AMI, John Smith.
In a present embodiment, the timeslots associated with these matched audience members are then removed from future consideration. The pricing information associated with this time slot will be retained and may be reused in the future. In other embodiments it may be desired to reschedule certain timeslots, as will occur to those of skill in the art.
The method of Figure 9 is thus repeated for each advertisement shown on Table V (Figure 7). For purposes of explaining the present embodiment, it is assumed that the advertisement "Orthopedic Mattress" is scheduled to play in the advertising 3o timeslot during "Accolades of the Amazon" on receiver R2 belonging to audience member AM2 , Joan Clark, and that the advertisement "Brazil Airline Ticket" is scheduled to play in the advertising timeslot during "Action Man" on receiver belonging to audience member AM3, Cristina Franklin.
One way that the scheduling of step 920 can occur is in the following manner.
Referring now to Figure 5, matching agent 44 sends a matching event over event bus 36 to database agent 48. The matching event contains the matching data from step 908. In turn, database agent 58 records the matching data from step 908 on matching records database 29. Next, routing agent 54 issues an event to database agent requesting the retrieval of matching data stored on matching records database 29. In turn, routing agent 54 interacts with scheduling agent 70 to store the scheduled information on schedule database 78. The scheduling can continue right until the time just before the actual advertising timeslot is to be played. However, where no to particular advertisement is matched with a specific timeslot on a receiver of a particular audience member, then a default advertisement can be scheduled to play during any such unmatched timeslots.
It will be understood that by setting certain desired weightings, each advertising timeslot for each audience member can be scheduled with a particular advertisement, notwithstanding the likelihood of a particular audience member to actually be viewing the advertising timeslot when the advertisement is being run.
Thus, for example, while it was determined that audience member AM3, Cristina Franklin, is unlikely to be watching "PGA Weekly Update", the advertisement "Full-size SUV" can be scheduled to run during that advertising timeslot on receiver R3.
2o Alternatively, since audience member AM3 was considered a member of a desired target audience for the advertisement "Brazil airline ticket", then this particular advertisement can be scheduled for presentation to audience member AM3 during the advertising timeslot of each program in the program schedule of Table IV.
Returning now to the method shown on Figure 6, having performed the matching operation at step 606, the method advances to step 608 where the matched advertisement is presented. For purposes of explaining this step, it will be assumed that it is 7:30PM and that audience member AMA is watching "PGA Weekly Update".
Referring now to Figure 5, receiver Rl is receiving a digital video stream, such as an MPEG transport-stream, from programming sources 60, that contains all of the 3o programs in Table IV. Since audience member AMA has selected "PGA Weekly Update", decoder 74 is extracting this program from the MPEG transport-stream and presenting it to audience member AM, .
Just prior to 7:40:OOPM, scheduling agent 70 determines that an advertising timeslot is about to occur, and accesses the advertising schedule stored on database 78. Scheduling agent 70 determines that the advertisement "Full-size SUV" is to be presented to audience member AM,. Meanwhile, a second transport-stream containing each of the advertisements in Table V (Figure 7) is being received by receiver R~ from advertising sources 64. Since audience member AM1 is scheduled to view the advertisement "Full-size SUV" decoder 74 extracting this advertisement from the transport-stream and presents it to audience member AM1.
It will now be understood that a similar sequence of events is occurring for receivers R2, R3 and every other receiver within system 20b.
1 o It will also be understood that step 608 can occur in a variety of different ways. For example, each advertisement in Table V (Figure 7) can have been pre-downloaded onto database 78 prior to presentation of the advertisement, rather than decoding it from another transport-stream.
In another embodiment of the invention, it is contemplated that real-time or deferred audit information can be obtained from each receiver and presented back to each advertiser and each broadcaster. It is contemplated that scheduling agent 70 is operable to send an event back to monitoring agent 50 that continually or in a deferred manner reports the viewing habits of each audience member. In turn, this data can then be readily compiled and presented back to each advertiser and each broadcaster 2o in real-time or in a deferred manner. Thus, if, for example, one or more audience members change channels during the viewing of "Full-size SUV", then an advertiser can infer that this advertisement is not appealing to a range of audience members.
Other audit information that is of value to advertiser is frequency of use information for the various advertisements. Further, this information could be correlated to feedback from the consumer, such as clicks on the advertisers website. All of this information could then aid the advertiser refine their advertisements.
Similarly, such audit information can be used to continually update characteristic information database 27, to more accurately predict which programs may be viewed by each audience member, thus simplifying the range of advertising 3o timeslots considered in the method discussed in Figure 9.
Furthermore, such audit information can be used to determine the fees charged to advertisers by broadcasters for presenting their advertisement. For example, a fee can be charged at a simple rate per viewer that actually watched the advertisement.
Other fee structures will occur to those of skill in the art. For example, each advertiser may bid on a particular advertising timeslot, the highest bidder winning the timeslot.
In another embodiment of the invention the viewer can augment their personal information. This information can then be used by the Set-top Agent to bias the commercials and information received by the viewer towards a particular area or areas of interest. It is to be understood that present invention can be conducted over any physical communication hardware structure, such as cable, satellite, twisted pair, fibre, wireless, PCS and over any communication protocol such as TCP/IP
(Internet), 1o DVB and over any stack of protocol layers thereof.
The present invention can have application beyond the advertising environment. For example, the messages directed at particular audience members need not be advertisements, but can have any type of content that is of interest to the audience member. For instance, the message could be a tracking-message from a courier company, indicating the location-in-transit of a package being delivered to the particular audience member. The message could also be an "Interactive application"
consisting of pre-compiled or interpreted sequences of instructions to be executed on the viewing device. The applications can operate with or without direct input or interaction from the viewer, and may access other data, applications or application 2o facilities available locally on the set-top or remotely through network connections, using methods known to those of skill in the art. Examples of interpreted sequences include Java, BASIC and p-code instructions. The message will generally comprise any of audio, video, data, programs, and interactive and multimedia content.
It will be thus understood that an advertiser can be any party wishing to deliver a message to one or more audience members. It will be further understood that the techniques outlined in this patent can also be applied to programming content.
This naturally leads to the creation of 'virtual channels' that are fully customized with respect to both programming and advertising content.
The present invention provides a novel method and system for targeted 3o message delivery, typically in a digital medium, such as digital television or radio. A
matching operation can be used to specifically target a message at broad demographic groups or to or one individual. The matched message can be seamlessly incorporated into a regular advertising timeslot during a particular program. Thus, viewers watching the same program can be presented with a message that is specifically tailored to their individual needs and/or interests.
The system can also be used 'to obtain real-time auditing information, as an audience member's receiver reports the selections made by the audience member back to the system. The generated auditing information can be used to gauge the success and/or popularity of both programming and advertisements. Such auditing information can also be used to set fees charged to advertisers by broadcasters.
While the invention has been described according to what is presently considered to be the most practical and preferred embodiments, it must be understood 1o that the invention is not limited to the disclosed embodiments. Those ordinarily skilled in the art will understand that various modifications and equivalent structures and functions may be made without departing from the spirit and scope of the invention as defined in the claims. Therefore, the invention as defined in the claims must be accorded the broadest possible interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims (52)
1. A method for targeting a message at a broadcasting audience member, the method comprises the steps of:
receiving characteristic information about said audience member;
receiving a schedule of one or more broadcast programs that are selectable by said audience member, said one or more programs having one or more timeslots for the broadcasting of a message;
receiving one or more messages to be broadcast during the timeslots comprised by said programs;
receiving demographic information of a target audience member for said messages;
determining a match between one of the messages with said audience member based on an operation that considers at least one of said characteristic information, said selectable program and said target audience information, wherein said operation uses an approximate reasoning method; and presenting matched messages to said audience members during any timeslots associated with any of said programs.
receiving characteristic information about said audience member;
receiving a schedule of one or more broadcast programs that are selectable by said audience member, said one or more programs having one or more timeslots for the broadcasting of a message;
receiving one or more messages to be broadcast during the timeslots comprised by said programs;
receiving demographic information of a target audience member for said messages;
determining a match between one of the messages with said audience member based on an operation that considers at least one of said characteristic information, said selectable program and said target audience information, wherein said operation uses an approximate reasoning method; and presenting matched messages to said audience members during any timeslots associated with any of said programs.
2. A method according to claim 1 further comprising the step of charging a fee for said step of presenting said matched message.
3. A method according to claim 2 whereby the fee charged for said step of presenting said matched message is a function of the quality of the match between the message and the audience member.
4. A method according to claim 1 wherein said message contains digital content and said program is presented on an appliance for the presentation of digital content.
5. A method according to claim 1 wherein said message is an advertisement and said program is a digital television program presented on a digital television.
6. A method according to claim 1 wherein said message is an interactive application.
7. A method according to claim 1 wherein said message is a computer program.
8. A method according to claim 1 wherein the message is a computer program presented on a set-top device or apparatus operating as a set-top device within a digital television.
9. A method according to claim 1 wherein said message contains multimedia content.
10. A method according to claim 1 wherein said message is a promotion and said program is a digital television program presented on a digital television.
11. A method according to claim 1 wherein said message is presented on a television as a scrolling text message.
12. A method according to claim 1 wherein said message is presented on a television such that said message is integrated into said program.
13. A method according to claim 1 wherein said message is presented on a digital television wherein said message comprises multimedia content and said message is integrated into said program.
14. A method according to claim 1 wherein said operation uses an n-dimensional array of correlations, said correlations between:
said audience member information wherein said audience member information comprises desired characteristic information; and for said selectable program, said demographic details of a desired viewer are a least partially based on the likelihood that a given audience member will select said selectable program.
said audience member information wherein said audience member information comprises desired characteristic information; and for said selectable program, said demographic details of a desired viewer are a least partially based on the likelihood that a given audience member will select said selectable program.
15. A method of presenting a message, in a targeted manner, to an audience member of a plurality of audience members of a program, the message being presented during a timeslot that is one of a plurality of timeslots that are comprised by a program of a plurality of programs for broadcast that is selectable by the audience member of said plurality of audience members, the method comprising the steps of:
a) collecting a first set of data representing characteristic information of each audience member of said plurality of audience members;
b) receiving a second set of data representing demographic information of a target audience member for said message;
c) determining a qualifying level for each of said characteristic information for a first audience member;
d) weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information;
e) calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member said qualifying level for each of said characteristic information and demographic information of said target audience member;
f) presenting said message to said first audience member during said timeslot if said calculated value meets a predefined criteria;
g) repeating steps b) - f) for each additional audience member within said plurality of audience members of said programs; and h) repeating steps b)-g) for each additional timeslot within said plurality of timeslots comprised by said programs.
a) collecting a first set of data representing characteristic information of each audience member of said plurality of audience members;
b) receiving a second set of data representing demographic information of a target audience member for said message;
c) determining a qualifying level for each of said characteristic information for a first audience member;
d) weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information;
e) calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member said qualifying level for each of said characteristic information and demographic information of said target audience member;
f) presenting said message to said first audience member during said timeslot if said calculated value meets a predefined criteria;
g) repeating steps b) - f) for each additional audience member within said plurality of audience members of said programs; and h) repeating steps b)-g) for each additional timeslot within said plurality of timeslots comprised by said programs.
16. A method according to claim 15 wherein said qualifying level for each of said characteristic information is determined using an approximate reasoning method.
17. A method according to claim 15 wherein said message comprises digital content and said program is a digital television program.
18. A method according to claim 15 wherein said message is an advertisement and said program is a digital television program.
19. A method according to claim 15 wherein said plurality of audience members are an audience of digital television viewers.
20. A method according to claim 15 wherein said message is a computer program.
21. A method of matching a message with an audience member of a plurality of audience members, each of said audience members being capable of selecting to receive a broadcast program containing a plurality of timeslots, the method comprising the steps of:
collecting a first set of data representing characteristic information of each audience member of said plurality of audience members;
receiving a second set of data representing demographic information of a target audience member for said message;
determining a qualifying level for each of said characteristic information for a first audience member;
weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information;
calculating a value, to be compared to a predefined threshold value, using at least one of said characteristic information of said first audience member said qualifying levels for each of said characteristic information and demographic information of said target audience member; and comparing said value to a predefined threshold value.
collecting a first set of data representing characteristic information of each audience member of said plurality of audience members;
receiving a second set of data representing demographic information of a target audience member for said message;
determining a qualifying level for each of said characteristic information for a first audience member;
weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information;
calculating a value, to be compared to a predefined threshold value, using at least one of said characteristic information of said first audience member said qualifying levels for each of said characteristic information and demographic information of said target audience member; and comparing said value to a predefined threshold value.
22. A method according to claim 21 wherein said qualifying level for each of said category of characteristic information is determined using an approximate reasoning method.
23. A method according to claim 22 wherein the approximate reasoning methods use fuzzy-sets.
24. A method according to claim 21 wherein said first set of data includes information relating to at least one of age, gender, income and level of education.
25. A method according to claim 21 wherein said first set of data comprises information relating to the place of residence of an audience member.
26. A method according to claim 21 wherein said characteristic information includes at least one of psychographic information and demographic information.
27. A method according to claim 21 wherein each element of said first set of data is representable as a dimension in a vector space.
28. A method according to claim 27 wherein said audience member is representable as a mass at an origin of said vector space and said qualifying levels are representable as a mass positioned in its respective dimension in relation to said origin.
29. A method according to claim 28 wherein said weighted qualifying values are representable as a mass shifted along its respective dimension in accordance to said weighting.
30. A method of matching a message with an audience member of a plurality of audience members being capable of selecting to receive a program comprising a plurality of timeslots, the method comprising the steps of:
defining a vector space having an origin and a plurality of dimensions that each represent a category of characteristic information of an audience member;
receiving a first set of data representing a measurement for each said category for audience members;
receiving a second set of data representing a likelihood that a given audience member will select said timeslot;
determining a qualifying level for each said category for said audience member based on an operation that maps said first set of data onto said second set of data;
plotting said qualifying levels in each respective dimension of said vector space;
varying said plotted qualifying levels by applying a weight to each of said qualifying levels, said weight varying with the desirability of matching said message with said audience member;
determining whether said varied plotted qualifying levels fit a predefined threshold criteria for matching said message to said audience member; and including said audience member in said target audience if said threshold is met.
defining a vector space having an origin and a plurality of dimensions that each represent a category of characteristic information of an audience member;
receiving a first set of data representing a measurement for each said category for audience members;
receiving a second set of data representing a likelihood that a given audience member will select said timeslot;
determining a qualifying level for each said category for said audience member based on an operation that maps said first set of data onto said second set of data;
plotting said qualifying levels in each respective dimension of said vector space;
varying said plotted qualifying levels by applying a weight to each of said qualifying levels, said weight varying with the desirability of matching said message with said audience member;
determining whether said varied plotted qualifying levels fit a predefined threshold criteria for matching said message to said audience member; and including said audience member in said target audience if said threshold is met.
31. A system for presenting a message, in a targeted manner, to an audience member of a plurality of audience members, said message being presented during a timeslot that is comprised by a program for broadcast that is selectable by the audience member of a plurality of audience members, the system comprising:
means for collecting a first set of data representing characteristic information of each audience member of said plurality of audience members;
means for receiving a second set of data representing demographic information of a target audience member for said message;
means for determining a qualifying level for each of said characteristic information for a first audience member;
means for weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information;
means for calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member, said qualifying levels for each of said characteristic information and demographic information of said target audience member; and means for presenting said message to said audience member during said timeslot if said calculated value meets a predefined criteria.
means for collecting a first set of data representing characteristic information of each audience member of said plurality of audience members;
means for receiving a second set of data representing demographic information of a target audience member for said message;
means for determining a qualifying level for each of said characteristic information for a first audience member;
means for weighting said qualifying levels according to the desirability of matching said message to said first audience member having certain characteristic information;
means for calculating a value, to be compared to a threshold value, using at least one of said characteristic information of said first audience member, said qualifying levels for each of said characteristic information and demographic information of said target audience member; and means for presenting said message to said audience member during said timeslot if said calculated value meets a predefined criteria.
32. A system for presenting a message to an audience member of a broadcasted program in a targeted manner, the system comprising:
a first interface for receiving data representative of timeslots during which said message can be presented, said timeslots being comprised by programs that are selectable for receiving by an audience member of a plurality of audience members;
a second interface for receiving information related to the purchasing of said timeslots comprised by said programs by message providers;
a first database for storing data characteristic information about each said audience member;
a second database for storing data representing matches between messages and audience members to be used for scheduling of matched messages;
a first server that executes a matching operation using an approximate reasoning method, between a message and said audience member;
a second server that schedules said message for presentation during a timeslot to an audience member as determined by said matching operation performed by said first server; and a communications link to which the first and second interface, first and second database and said first and second servers are connected.
a first interface for receiving data representative of timeslots during which said message can be presented, said timeslots being comprised by programs that are selectable for receiving by an audience member of a plurality of audience members;
a second interface for receiving information related to the purchasing of said timeslots comprised by said programs by message providers;
a first database for storing data characteristic information about each said audience member;
a second database for storing data representing matches between messages and audience members to be used for scheduling of matched messages;
a first server that executes a matching operation using an approximate reasoning method, between a message and said audience member;
a second server that schedules said message for presentation during a timeslot to an audience member as determined by said matching operation performed by said first server; and a communications link to which the first and second interface, first and second database and said first and second servers are connected.
33. A system according to claim 32 wherein the first and second interface, first and second database and plurality of first and second servers are located remotely from one another.
34. A system according to claim 32 wherein said messages are computer programs.
35. A system according to claim 32 wherein said messages are advertisements.
36. A system according to claim 32 wherein said communications link is the Internet.
37. A system according to claim 32 wherein the program is a television program.
38. A system according to claim 32 wherein the audience member is a viewer of a television program.
39. A system according to claim 32 wherein the first server comprises:
a first software routine to at least monitor said communications link for events generated by said first interface and generate events to be placed on said communications link;
a second software routine to at least monitor said communications link for events related to the matching of a message with an audience member; and a third software routine to at least monitor said communications link for events related to the transferring of data.
a first software routine to at least monitor said communications link for events generated by said first interface and generate events to be placed on said communications link;
a second software routine to at least monitor said communications link for events related to the matching of a message with an audience member; and a third software routine to at least monitor said communications link for events related to the transferring of data.
40. A system according to claim 32 wherein the second server comprises:
a first software routine to at least monitor said communications link for events generated by the service provider and related to the program being viewed b said audience member;
a second software routine to at least retrieve data related to matches between messages and audience members wherein said data is to be delivered to said service provider; and a third software routine to at least monitor said communications link for events related to the transferring of data.
a first software routine to at least monitor said communications link for events generated by the service provider and related to the program being viewed b said audience member;
a second software routine to at least retrieve data related to matches between messages and audience members wherein said data is to be delivered to said service provider; and a third software routine to at least monitor said communications link for events related to the transferring of data.
41. A system according to claim 32 wherein at least one of said first and second interfaces, said first and second databases and said first and second servers reside on a plurality of servers that are operable to distribute processing tasks therebetween.
42. A system according to claim 41 wherein said distributed processing tasks are implemented using a distributed software architecture.
43. A system according to claim 42 wherein said distributed software architecture is publish-subscribe software.
44. A system according to claim 41 wherein said system is operates in real time using Internet multi-cast technology incorporating RTP real-time extension into TCP/IP.
45. A system according to claim 32 wherein said message forms virtual channel content.
46. A system according to claim 32 wherein said scheduling occurs via a cable television, satellite direct-to-home, microwave, VDSL or other multi-channel distribution entity.
47. A set-top device for a receiver comprising:
an input device operable for receiving a digital television signal composed of a plurality of television programs having at least one timeslot, a plurality of messages and a schedule for presentation of predetermined messages during said at least one timeslot;
a persistent storage device connected to said input device for storing said schedule;
a processing unit connected to said input device and operable to decode said signal, said processing unit being further operable to decode an appropriate message during an appropriate timeslot according to said schedule; and an output device for presenting a selected one of said decoded television signal and said appropriate message to an audience member.
an input device operable for receiving a digital television signal composed of a plurality of television programs having at least one timeslot, a plurality of messages and a schedule for presentation of predetermined messages during said at least one timeslot;
a persistent storage device connected to said input device for storing said schedule;
a processing unit connected to said input device and operable to decode said signal, said processing unit being further operable to decode an appropriate message during an appropriate timeslot according to said schedule; and an output device for presenting a selected one of said decoded television signal and said appropriate message to an audience member.
48. A set-top device according to claim 47 wherein said receiver is a digital television receiver.
49. A set-top device according to claim 47 wherein said message is an advertisement.
50. A set-top device according to claim 47 wherein said message is a tracking-notice of a parcel being delivered by a courier company.
51. A set-top device according to claim 47 wherein said message is an email.
52. A set-top device according to claim 47 wherein said processing unit is further operable to record said selected one of said television signals and further comprising a second output device for reporting said record to a user.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2323166 CA2323166A1 (en) | 1999-10-13 | 2000-10-13 | Method and system for targeted advertising |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002286243A CA2286243A1 (en) | 1999-10-13 | 1999-10-13 | Method and system for targeted advertising |
CA2,286,243 | 1999-10-13 | ||
CA 2323166 CA2323166A1 (en) | 1999-10-13 | 2000-10-13 | Method and system for targeted advertising |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2323166A1 true CA2323166A1 (en) | 2001-04-13 |
Family
ID=25681255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2323166 Abandoned CA2323166A1 (en) | 1999-10-13 | 2000-10-13 | Method and system for targeted advertising |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2323166A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457010B1 (en) | 1998-12-03 | 2002-09-24 | Expanse Networks, Inc. | Client-server based subscriber characterization system |
EP1708505A1 (en) * | 2005-03-30 | 2006-10-04 | Cyriac R. Roeding | Electronic device and methods for reproducing mass media content and related content |
US7690013B1 (en) | 1998-12-03 | 2010-03-30 | Prime Research Alliance E., Inc. | Advertisement monitoring system |
US8306975B1 (en) | 2005-03-08 | 2012-11-06 | Worldwide Creative Techniques, Inc. | Expanded interest recommendation engine and variable personalization |
WO2015188253A1 (en) * | 2014-06-09 | 2015-12-17 | Atomic Reach Inc. | System and method for content intake, scoring and distribution |
-
2000
- 2000-10-13 CA CA 2323166 patent/CA2323166A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457010B1 (en) | 1998-12-03 | 2002-09-24 | Expanse Networks, Inc. | Client-server based subscriber characterization system |
US7690013B1 (en) | 1998-12-03 | 2010-03-30 | Prime Research Alliance E., Inc. | Advertisement monitoring system |
US7962934B1 (en) | 1998-12-03 | 2011-06-14 | Prime Research Alliance E., Inc. | Advertisement monitoring system |
US8484677B1 (en) | 1998-12-03 | 2013-07-09 | Prime Research Alliance E., Inc. | Advertisement monitoring system |
US8306975B1 (en) | 2005-03-08 | 2012-11-06 | Worldwide Creative Techniques, Inc. | Expanded interest recommendation engine and variable personalization |
EP1708505A1 (en) * | 2005-03-30 | 2006-10-04 | Cyriac R. Roeding | Electronic device and methods for reproducing mass media content and related content |
EP1796391A1 (en) * | 2005-03-30 | 2007-06-13 | Cyriac R. Roeding | Electronic device and methods for reproducing mass media content and related content |
WO2015188253A1 (en) * | 2014-06-09 | 2015-12-17 | Atomic Reach Inc. | System and method for content intake, scoring and distribution |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8566861B2 (en) | Advertisement transcoding and approval | |
JP5781029B2 (en) | Targeted impression model for broadcasting network asset delivery | |
US7661118B2 (en) | Methods, systems, and products for classifying subscribers | |
US7313802B1 (en) | Method and system to provide deals and promotions via an interactive video casting system | |
EP2219378B1 (en) | Method and system for providing a customized media list | |
US8812363B2 (en) | Methods, systems, and products for managing advertisements | |
US6505169B1 (en) | Method for adaptive ad insertion in streaming multimedia content | |
US7949565B1 (en) | Privacy-protected advertising system | |
CN101529909B (en) | Method for assigning advertisement and / or content to multimedia devices and device thereof | |
US20120030702A1 (en) | Digital television broadcasting apparatus and method for providing information in a digital television and internet convergent environment | |
US20060288367A1 (en) | Systems, methods and products for tailoring and bundling content | |
US20120311083A1 (en) | System and method for delivering content to users on a network | |
US20080147497A1 (en) | Advertising and content management systems and methods | |
US7908171B2 (en) | Information providing system and information providing method for providing advertisement information based on keywords associated with content | |
US20030037144A1 (en) | Collaborative content programming | |
WO2000033163A2 (en) | Advertisement auction system | |
WO2017139771A1 (en) | Predictive programmatic system for audience identification and analysis | |
US20070050298A1 (en) | Pay-per-view payment system and method | |
US8423417B2 (en) | System and method for automatically selecting advertising data for stored content | |
US20160366491A9 (en) | System and method for automatically selecting advertising data for stored content | |
US20110082750A1 (en) | Multi-Channel Digital Targeted Video Advertising System and Method | |
US20040254798A1 (en) | Real-time interactive stock quotes using a broadcast channel | |
CA2323166A1 (en) | Method and system for targeted advertising | |
CA2286243A1 (en) | Method and system for targeted advertising | |
JP2002133277A (en) | Method and system for customer decision, method and apparatus for ascertaining direct mail effect, and method and system of cm provision |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |