Language selection

Search

Patent 2323166 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2323166
(54) English Title: METHOD AND SYSTEM FOR TARGETED ADVERTISING
(54) French Title: METHODE ET SYSTEME DE PUBLICITE CIBLEE
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04H 60/46 (2009.01)
  • H04H 60/63 (2009.01)
  • H04N 21/2668 (2011.01)
  • H04N 21/40 (2011.01)
  • H04N 21/4147 (2011.01)
  • H04N 21/478 (2011.01)
  • H04N 21/4786 (2011.01)
  • G06Q 30/02 (2012.01)
  • H04N 7/025 (2006.01)
(72) Inventors :
  • BACSO, STEPHEN (Canada)
(73) Owners :
  • ADEXACT CORPORATION (Canada)
(71) Applicants :
  • ADEXACT CORPORATION (Canada)
(74) Agent: GOWLING LAFLEUR HENDERSON LLP
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2000-10-13
(41) Open to Public Inspection: 2001-04-13
Examination requested: 2001-02-02
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
2,286,243 Canada 1999-10-13

Abstracts

English 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.


Claims

Note: Claims are shown in the official language in which they were submitted.




What is Claimed is:

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.
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.

32



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.
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

33



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.
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.

34



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.
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.

35



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

36


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.
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

37


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

38



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.
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:

39


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.

40

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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
2


CA 02323166 2000-10-13
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
3


CA 02323166 2000-10-13
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
4


CA 02323166 2000-10-13
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
5


CA 02323166 2000-10-13
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;
6


CA 02323166 2000-10-13
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.


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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
9


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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"):
12


CA 02323166 2000-10-13
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
13


CA 02323166 2000-10-13
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 -
14


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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.
16


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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
19


CA 02323166 2000-10-13
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
20


CA 02323166 2000-10-13
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
21


CA 02323166 2000-10-13
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
814
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
22


CA 02323166 2000-10-13
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.
23


CA 02323166 2000-10-13
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
24


CA 02323166 2000-10-13
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).
25


CA 02323166 2000-10-13
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
26


CA 02323166 2000-10-13
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
R3
belonging to audience member AM3, Cristina Franklin.
27


CA 02323166 2000-10-13
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
58
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
28


CA 02323166 2000-10-13
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.
29


CA 02323166 2000-10-13
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


CA 02323166 2000-10-13
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.
31

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(22) Filed 2000-10-13
Examination Requested 2001-02-02
(41) Open to Public Inspection 2001-04-13
Dead Application 2006-10-13

Abandonment History

Abandonment Date Reason Reinstatement Date
2003-10-14 FAILURE TO PAY APPLICATION MAINTENANCE FEE 2004-10-13
2005-10-13 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $150.00 2000-10-13
Request for Examination $200.00 2001-02-02
Registration of a document - section 124 $100.00 2001-10-03
Maintenance Fee - Application - New Act 2 2002-10-14 $50.00 2002-10-02
Registration of a document - section 124 $100.00 2003-02-21
Reinstatement: Failure to Pay Application Maintenance Fees $200.00 2004-10-13
Maintenance Fee - Application - New Act 3 2003-10-14 $100.00 2004-10-13
Maintenance Fee - Application - New Act 4 2004-10-13 $100.00 2004-10-13
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
ADEXACT CORPORATION
Past Owners on Record
BACSO, STEPHEN
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Cover Page 2001-03-27 1 46
Representative Drawing 2001-03-27 1 12
Description 2000-10-13 31 1,717
Abstract 2000-10-13 1 29
Claims 2000-10-13 9 382
Drawings 2000-10-13 12 228
Correspondence 2000-11-22 1 2
Assignment 2000-10-13 2 83
Prosecution-Amendment 2001-02-02 1 30
Correspondence 2001-09-07 2 44
Assignment 2001-10-03 3 129
Assignment 2001-10-24 1 28
Assignment 2003-02-21 4 168
Correspondence 2003-04-04 1 12
Fees 2002-10-02 1 34
Fees 2004-10-13 1 40