Language selection

Search

Patent 2550853 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: (11) CA 2550853
(54) English Title: METHOD AND SYSTEM FOR PLACING ADVERTISEMENTS BASED ON SELECTION OF LINKS THAT ARE NOT PROMINENTLY DISPLAYED
(54) French Title: PROCEDE ET SYSTEME DE PLACEMENT DE PUBLICITES SUR LA BASE DE LA SELECTION DE LIENS N'ETANT PAS AFFICHES DE FACON CLAIRE
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06Q 30/02 (2012.01)
  • G06F 17/30 (2006.01)
(72) Inventors :
  • SCHOLL, NATHANIEL BLAKE (United States of America)
  • POWER, JOANNA (United States of America)
  • DENEUI, ALEXANDER W. (United States of America)
(73) Owners :
  • AMAZON TECHNOLOGIES, INC. (United States of America)
(71) Applicants :
  • AMAZON TECHNOLOGIES, INC. (United States of America)
(74) Agent: OYEN WIGGS GREEN & MUTALA LLP
(74) Associate agent:
(45) Issued: 2020-03-31
(86) PCT Filing Date: 2004-12-29
(87) Open to Public Inspection: 2005-07-21
Examination requested: 2008-01-28
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2004/044021
(87) International Publication Number: WO2005/065400
(85) National Entry: 2006-06-21

(30) Application Priority Data:
Application No. Country/Territory Date
10/748,759 United States of America 2003-12-30
10/748,694 United States of America 2003-12-30

Abstracts

English Abstract




A method and system for identifying advertisement and search term combinations
for placing advertisements along with search results. The advertisement system
includes multiple advertisement generators that automatically create
advertisement sets that each contain one or more advertisements, one or more
search terms, and a link to an advertised item. The advertisement system also
includes an advertisement manager that receives the advertisement sets from
the advertisement generators, identifies a fee to be associated with each
advertisement set, and selects which advertisement sets are to be submitted to
various search engine services. The advertisement system may also include a
fee calculator that generates a fee amount or bid for each advertisement set.


French Abstract

L'invention concerne un procédé et un système d'identification de publicités et de combinaisons de termes de recherche pour le placement de publicités en fonction de résultats de recherche. Le système de publicité comporte plusieurs générateurs de publicités créant automatiquement des ensembles de publicités contenant chacun une ou plusieurs publicités, un ou plusieurs termes de recherche et un lien vers un objet ciblé par la publicité. Ledit système de publicité comporte également un gestionnaire de publicités recevant les ensembles de publicités des générateurs de publicités, identifiant une taxe associée à chaque ensemble de publicités, et sélectionnant les ensembles de publicités à soumettre à divers services de moteurs de recherche. Le système de publicité peut également comporter un calculateur de taxes produisant une taxe pour chaque ensemble de publicités.

Claims

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


CLAIMS:
1. A method performed by a computer system for determining when to
place an advertisement for an item, the method comprising:
at an advertisement generator of the computer system, receiving from a
search engine service, search result data for searches that include a
hyperlink for the
item in a search result, the search result data for a search comprising a
search term,
placement of the hyperlink within the search result, and whether a user
selected the
hyperlink for the item, the search result being a collection of information
sources
identified, sorted and ranked automatically using each of a plurality of
different
algorithms generated by the search engine service in response to a search
request
indicating the search term;
at the advertisement generator, determining automatically using each of a
plurality of different algorithms, based on the search result data whether
users who
entered the search term subsequently selected the hyperlink to the item even
though
the hyperlink was not prominently placed in the search result; and
when it is determined that the users who entered the search term
subsequently selected the hyperlink to the item even though the hyperlink was
not
prominently placed in the search result, at the advertisement generator,
indicating to the
search engine service, to place an advertisement for the item along with the
search
result for the search term wherein the advertisement is prominently placed
along with
the search result.
2. The method of claim 1 wherein the hyperlink is not prominently
placed in the search result when it is not placed on a first page of the
search result.
3. The method of claim 2 wherein the advertisement is prominently
placed along with the search result when it is placed on the first page of the
search
result.
4. The method of claim 1 wherein the search result data is
generated by the search engine service.

18

5. A method performed by a computer system for determining when
to place an advertisement for an item, the method comprising:
at an advertisement generator of the computer system, receiving from a
search engine service, search result data for searches that include a
hyperlink for
the item in a search result, the search result data for a search indicating a
search
term, placement of the hyperlink within the search result, and whether a user
selected the hyperlink for the item, the search result being a collection of
information sources identified, sorted and ranked automatically using each of
a
plurality of different algorithms generated by the search engine service in
response to a search request indicating the search term;
at the advertisement generator, determining automatically using each of a
plurality of different algorithms, based on the search result data whether
users
who entered the search term subsequently selected the hyperlink to the item
even though the hyperlink was not prominently placed in the search result; and
at the advertisement generator, calculating automatically using a metric to
determine whether the advertisement for the item should be placed along with
the search results for the search term at the search engine service, the
metric
being based on a number of times the users selected the hyperlink for the item

that was not prominently placed in the search result.
6. The method of claim 5 wherein the calculating factors in relative
prominence of the placement of the hyperlink in the search result.
7. The method of claim 1 wherein the hyperlink is not prominently
placed in the search result when it is not initially visible to the user.
8. The method of claim 1 wherein the search result data is derived
from the information sources.
9. The method of claim 8 wherein the information sources include web
pages.

19

10. The method of claim 8 wherein the information sources include
content accessed other than through the Internet.
11. The method of claim 10 wherein the content is text of a book.


Description

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


CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
METHOD AND SYSTEM FOR PLACING ADVERTISEMENTS
BASED ON SELECTION OF LINKS THAT ARE NOT
PROMINENTLY DISPLAYED
TECHNICAL FIELD
[0001] The described technology relates generally to generating and placing

advertisements that are keyword targeted.
BACKGROUND
[0002] Many search engine services, such as Google and Overture, provide
for
searching for information that is accessible via the Internet. These search
engine
services allow users to search for web pages and other Internet-accessible
resources that may be of interest to users. After a user submits a search
request
that includes search terms, the search engine service identifies web pages
that may
be related to those search terms. To quickly identify related web pages, the
search
engine services may maintain a mapping of keywords to web pages. This mapping
may be generated by "crawling" the web (i.e., the World Wide Web) to identify
the
keywords of each web page. To crawl the web, a search engine service may use a

list of root web pages to identify all web pages that are accessible through
those
root web pages. The keywords of any particular web page can be identified
using
various well-known information retrieval techniques, such as identifying the
words of
a headline, the words supplied in the metadata of the web page, the words that
are
highlighted, and so on. Some search engine services can even search
information
sources that are not accessible via the Internet. For example, a book
publisher may
make the content of their books available to a search engine service. The
search
engine may generate a mapping between the keywords and books. When a search
engine service receives a search request that includes one or more search
terms, it
uses its mapping to identify those information sources (e.g., web pages or
books)
whose keywords most closely match the search terms. The collection of
information
sources that most closely matches the search terms is referred to as the
"search
result." The search engine service then ranks the information sources of the
search

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
result based on the closeness of each match, web page popularity (e.g.,
Google's
page ranking), and so on. The search engine service then displays to the user
links
to those information sources in an order that is based on their rankings.
Oftentimes,
so many information sources are identified as part of a search result that the
search
engine service groups the links into pages and displays one page at a time to
the
user. To view portions of a search result that are not on the first page, a
user would
need to select a next page button. Because users need to take this additional
action to view links that are not displayed on the first page, only a small
percentage
of users actually select links that are not presented on the first page of a
search
result.
[0003]
Some search engine services do not charge a fee to the providers of
web pages for including links to their web pages in search results. Rather,
the
search engine services obtain revenue by placing advertisements along with
search
results. These paid-for advertisements are commonly referred to as "sponsored
links," "sponsored matches," or "paid-for search results." A vendor who wants
to
place an advertisement along with certain search results provides a search
engine
service with an advertisement and search terms. When a search request is
received, the search engine service identifies the advertisements whose search

terms most closely match those of the search request. The search engine
service
then displays those advertisements along with the search results. If
more
advertisements are identified than will fit on the first page of the search
results, the
search engine service selects to display on the first page those
advertisements
belonging to the vendors that have offered to pay the highest price (e.g.,
placed the
highest bid) for their advertisement. The search engine services can either
charge
for placement of each advertisement along with search results (i.e., cost per
impression) or charge only when a user actually selects a link associated with
an
advertisement (i.e., cost per click).
[0004]
Advertisers would like to maximize the effectiveness of advertising
dollars used to pay for advertisements placed along with search results. Thus,

advertisers try to identify search term and advertisement combinations that
result in
the highest benefits (e.g., most profit) to the advertiser. It would be
desirable to
have techniques that would allow advertisers to maximize the effectiveness of
their
-2-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
advertising dollars by identifying effective advertisement and search term
combinations. Moreover, it would be desirable to have an automated way to
identify
such effective combinations, determine an amount to pay for placement of the
advertisements, and provide the combinations to search engine services for
placement of the advertisements along with search results that match the
search
terms.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Figure 1 is a block diagram illustrating components of the
advertisement
system in one embodiment.
[0006] Figure 2 is a flow diagram illustrating the processing of the begin
registration component in one embodiment.
[0007] Figure 3 is a flow diagram illustrating the processing of the
register
advertisement set component in one embodiment.
[0008] Figure 4 is a flow diagram illustrating the processing of the end
registration component in one embodiment.
[0009] Figure 5 is a flow diagram illustrating the processing of the
calculate bid
component in one embodiment.
[0010] Figure 6 is a flow diagram illustrating the processing of an
advertisement
submitter component in one embodiment.
[0011] Figure 7 is a flow diagram illustrating the processing of a refresh
advertisement set component of the advertisement manager in one embodiment.
[0012] Figure 8 is a flow diagram illustrating the processing of the expire

advertisement set component of the advertisement manager in one embodiment.
[0013] Figure 9 is a flow diagram illustrating the processing of an
advertisement
generator in one embodiment.
[0014] Figure 10 is a flow diagram illustrating the processing of a find
search
term component of an advertisement generator in one embodiment.
-3-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
[0015] Figure 11 is a flow diagram illustrating the processing of the
generate
scores component in one embodiment.
DETAILED DESCRIPTION
[0016] A method and system for identifying advertisement and search term
combinations for placing advertisements along with search results is provided.
In
one embodiment, the advertisement system includes multiple advertisement
generators that automatically create advertisement sets that each contain one
or
more advertisements, one or more search terms, and a link to each advertised
item.
The different advertisement generators may use different algorithms to
automatically
generate (or "create") advertisements (also referred to as the "creative"),
identify
search terms, and create links to form advertisement sets. For example, an
advertisement generator may scan through a catalog of books that are being
offered
for sale by an advertiser and generate an advertisement set for a particular
book
that includes an advertisement based on the title of the book, search terms
based
on the words in the title, and a link to a detailed web page associated with
the book.
The advertisement system also includes an advertisement manager that receives
advertisement sets from the advertisement generators, identifies a fee to be
associated with each advertisement set, and selects which advertisement sets
are to
be submitted to various search engine services. Typically, each search engine
service will only allow an advertiser to submit one advertisement set for each
search
term or each combination of search terms. (If a search engine service supports

advertisement sets having more than one advertisement, it may randomly select
one
of the advertisements to display. If not, then the advertisement manager may
select
the advertisement that would provide the most benefit to the advertiser as the
only
advertisement of the advertisement set.) Thus, when different advertisement
sets
specify the same search terms, the advertisement manager selects which of the
different advertisement sets to submit. For example, advertisement sets may be

selected based on past success in achieving an advertiser's objective (e.g.,
maximizing profits or maximizing impressions). The advertisement system may
also
include a fee calculator that generates a fee amount or bid for each
advertisement
set. The fee calculator may analyze advertising metrics collected by the
advertiser
-4-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
(e.g., average revenue per click) for advertisements generated by the same
advertisement generator or metrics provided by the search engine services to
identify an appropriate fee amount. In this way, advertisement sets may be
automatically generated and automatically submitted to search engine services
to
help achieve an advertiser's objectives.
[0017]
The advertisement system may be used to generate and place
advertisements along with any type of content that has associated keywords.
Such
advertising is referred to as "keyword-targeted advertising." A
search term
associated with a search result is an example of such a keyword, and the
search
result is an example of the content. Another example of a keyword and content
would be a web page with text (e.g., a news story) as its content and a
keyword
derived from the text (e.g., a headline) or the metadata associated with the
text.
Keywords may be derived using various Information Retrieval techniques based
on
word frequencies, clustering algorithms that identify related keywords, and so
on.
One skilled in the art will appreciate that the advertisement system can be
used to
generate and place advertisements with an advertisement placement service
(e.g., a
search engine service) for use in other contexts, such as while content is
being
streamed to a client, on a web page through which a product can be purchased,
and
so on.
[0018] In
one embodiment, an advertisement generator determines where to
place an advertisement for an item based on previous selections of links
associated
with that item that were included in search results. For example, if a link is

presented on the third page of a search result and a user selects that link,
then it
may be assumed that the user thought that link was especially relevant to the
search request because the user had to view several pages of the search result
to
find that link. In general, the advertisement generator identifies those links
that
were not prominently displayed in a search result but were nevertheless
selected by
users. The advertisement generator then generates an advertisement set that
includes an advertisement for the item associated with the links, the search
terms
associated with the search request, and a link to a web page with information
about
the item. That advertisement is then submitted to a search engine service so
the
advertisement can be displayed prominently along with the search results of
search
-5-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
requests that use those search terms. In this way, the advertisement generator

identifies search term and item combinations that may be used to produce very
effective advertisement sets.
[0019]
Figure 1 is a block diagram illustrating components of the advertisement
system in one embodiment. The advertisement system 100 includes advertisement
generators 101, an advertisement manager 102, a work manager 103, and
advertisement submitters 104.
Each advertisement generator generates
advertisement sets based on a computer algorithm and then provides the
advertisement sets to the advertisement manager. Each advertisement set
includes
an advertisement, one or more search terms, and a link (e.g., a uniform
resource
locator).
[0020]
The advertisement manager, upon receiving an advertisement set,
invokes a common search term filter 105 to determine whether the search terms
of
the advertisement set are too common for use as search terms in advertisement
sets
(e.g., noise words). The advertisement system may not want to place an
advertisement associated with overly common search terms because the fee
amount
would likely need to be too high to compete with other advertisers. If one or
more
search terms are filtered, the advertisement manager may remove each filtered
search term from the advertisement set or may not submit that advertisement
set to
a search engine service. The words included in a common search term filter may
be
automatically identified by, for example, analyzing word frequencies in a
corpus of
documents. In one embodiment, the advertisement manager also includes another
filter for search terms that are for some reason undesirable (e.g.,
politically sensitive
or a trademark) for use as search terms in advertisement sets. These
undesirable
search terms may be manually designated for each country or region. For those
advertisement sets that pass the common search term filter and the undesirable

search term filter, the advertisement manager invokes a bid calculator 106 to
calculate a bid amount for each advertisement set. The bid calculator may
access
various metrics of a data store 107 to determine the appropriate bid amount
for each
advertisement set. The metrics may include detailed information relating to
previous
placements of advertisements with search terms and may be collected from the
search engine services, from session data of users who selected
advertisements,
-6-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
and so on. Such detailed information may include the cost of an advertisement,

whether a user selected an advertisement, resulting profit from the selection
of an
advertisement, and so on. The bid calculator may also generate different bid
amounts for each search engine service. The bid calculator may also use
different
algorithms for different categories of advertisements. For example, an
advertiser
may use an algorithm that will maximize the profit for established product
lines, and
a different algorithm that will maximize sales for new product lines.
The
advertisement manager may determine whether an advertisement set has already
been submitted for the search terms of the advertisement set. If
so, the
advertisement manager may decide whether to withdraw the submission of the
previous advertisement set and submit this new advertisement set or disregard
this
new advertisement set.
[0021]
The advertisement manager submits work items to the work manager. A
work item instructs the work manager to submit an advertisement set, withdraw
a
previously submitted advertisement set, or update the bid amount of a
previously
submitted advertisement set. The work manager may queue work items in the data

store until an advertisement submitter requests them. The work manager may
track
which work items have already been provided to which advertisement submitter¨
effectively maintaining a queue for each advertisement submitter. The work
manager may also modify work items relating to the same advertisement set. For

example, if a queue contains two work items to change a bid for the same
advertisement set, then the work manager may change the bid amount on the
first
work item and delete the second work item to increase the efficiency of
changing the
bid to the new bid amount.
[0022]
Each advertisement submitter may be associated with a specific search
engine service and be tailored to submit advertisement sets in accordance with
an
interface defined by the search engine service. For example, one advertisement

submitter may be associated with Google, and another may be associated with
Overture. The advertisement submitters periodically retrieve work items from
the
work manager and convert those work items into service requests for the search

engine services. The service requests include requests to submit an
advertisement
-7-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
set, withdraw a previously submitted advertisement set, and change the bid of
a
previously submitted advertisement set.
[0023] The advertisement system may be implemented on computer systems
and servers that include a central processing unit, a memory, input devices
(e.g.,
keyboard and pointing devices), output devices (e.g., display devices), and
storage
devices (e.g., disk drives). The memory and storage devices are computer-
readable
media that may contain instructions that implement the advertisement system.
In
addition, the data structures and message structures may be stored or
transmitted
via a data transmission medium, such as a signal on a communications link.
Various communications links may be used, such as the Internet, a local area
network, a wide area network, or a point-to-point dial-up connection.
[0024] Figures 2-4 are flow diagrams illustrating the processing of
advertisement sets by the advertisement manager in one embodiment. Components
of the advertisement manager are invoked by an advertisement generator to
register
advertisement sets. An advertisement generator invokes a begin registration
component, a register advertisement set component, and then an end
registration
component. The begin registration component records a begin registration time
stamp associated with the registration. The register advertisement set
component
then adds new advertisement sets and updates existing advertisement sets,
setting
a time stamp for each new and updated advertisement set. The end registration
component withdraws advertisement sets whose time stamp is before the begin
registration time stamp. The begin and end registration components allow the
advertisement manager to identify and withdraw any advertisement sets that
were
previously registered by the advertisement generator but were not
reregistered.
Thus, the registration of advertisement sets by an advertisement generator
effectively replaces the advertisement sets that were previously registered by
that
advertisement generator with a new set of advertisement sets. Therefore, the
task
of an advertisement generator is simplified because it only needs to register
current
advertisement sets and does not have to affirmatively withdraw out-dated
advertisement sets.
[0025] Figure 2 is a flow diagram illustrating the processing of the begin
registration component in one embodiment. In block 201, the begin registration
-8-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
component stores an indication of the name of the invoking advertisement
generator
and the current time in the data store. The end registration component uses
this
information to identify the advertisement sets of the advertisement generator
that
were not reregistered. The component then returns.
[0026] Figure 3 is a flow diagram illustrating the processing of the
register
advertisement set component in one embodiment. This component is invoked by an

advertisement generator to register its current advertisement sets. The
component
loops, selecting each advertisement set and creating an entry in the data
store if
one does not already exist for that advertisement set, calculating a bid for
that
advertisement set, and creating a work item associated with that advertisement
set
as appropriate. In block 301, the component selects the next advertisement set
to
be registered. In decision block 302, if all the advertisement sets have
already been
selected, then the component returns, else the component continues at block
303.
In decision block 303, if an entry for the selected advertisement set already
exists in
the data store, then the component continues at block 305, else the component
continues at block 304. Each advertisement set may be uniquely identified by
an
advertisement generator and identification number combination. In block 304,
the
component creates an entry in the data store for the selected advertisement
set. In
decision block 305, if the advertisement set can be submitted, but it is not
currently
submitted to a search engine service, then the component continues at block
306,
else the component continues at block 307. An advertisement set can be
submitted
if there is no conflicting advertisement set (e.g., using the same search
term)
currently submitted. In block 306, the component invokes the calculate bid
component to generate a bid for the selected advertisement set. In decision
block
307, if the selected advertisement set has a bid associated with it, then the
component continues at block 308, else the component continues at block 309.
In
block 308, the component creates a work item for the selected advertisement
set
and provides it to the work manager. The work item may indicate to add a new
advertisement set for submission or to update the bid of a currently submitted

advertisement set. In block 309, the component updates the status of the
selected
advertisement set (e.g., submitted bid amount and last update time) in the
data store
and loops to block 301 to select the next advertisement set.
-9-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
[0027] Figure 4 is a flow diagram illustrating the processing of the end
registration component in one embodiment. This component is invoked by an
advertisement generator after registration of its advertisement sets. The
component
identifies those advertisement sets of the advertisement generator that are
currently
submitted but were not reregistered, and it creates a work item to withdraw
that
submission. The component may identify the advertisement sets that were not
reregistered based on the time associated with the begin registration and the
last
update time of the entry for each advertisement set. In block 401, the
component
selects the next advertisement set for the advertisement generator that is
currently
submitted but was not reregistered. In decision block 402, if all such
advertisement
sets have already been selected, then the component returns, else the
component
continues at block 403. In block 403, the component creates a delete work item
to
withdraw the submittal and provides it to the work manager for the selected
advertisement set. In block 404, the component updates the status of the
selected
advertisement set in the data store (e.g., not submitted) and then loops to
block 401
to select the next advertisement set. Alternatively, the work manager may
update
the status when the advertisement submitters process the delete work items.
[0028] Figure 5 is a flow diagram illustrating the processing of the
calculate bid
component in one embodiment. In the illustrated embodiment, the calculate bid
component sets the bid amount to the minimum bid for the search engine
services
unless the advertising metrics indicate that the advertisement set has not
been
profitable. In such a case, the component sets the bid amount to zero so the
advertisement set will not be submitted to search engine services or will be
withdrawn if it is submitted. The component is passed an advertisement set and

returns a bid amount. In block 501, the component sets the bid amount to the
minimum bid for the search engine services. Alternatively, the bid amount may
be
initially set based on anticipated profit per impression or click. In block
502, the
component retrieves advertising metrics for the advertisement set from the
data
store. In decision block 503, if advertisement metrics are available for
the
advertisement set, then the component continues at block 504, else there is no
data
available to assess the profitability of the advertisement set and the
component
returns. In block 504, the component analyzes the retrieved advertisement
metrics
-10-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
to assess the profitability of the advertisement set. If
the metrics for the
advertisement set are not available, the metrics of related advertisement sets
can be
used, such as those from the same advertisement generator or those for the
same
item. In decision block 505, if it is determined that the advertisement set is

profitable, then the component returns with the minimum bid amount, else the
component continues at block 506. In block 506, if the advertisement set is
not
profitable, then the component sets the bid amount to zero so the
advertisement set
either will not be submitted or will have its submission withdrawn, and then
the
component returns.
[0029] One
skilled in the art will appreciate that various algorithms may be used
to determine the bid amount, such as a minimum-bid algorithm, a fixed-bid
algorithm, a profit-based algorithm, and a revenue-based algorithm. The
minimum-
bid algorithm sets a bid to the minimum bid amount that is specified by a
search
engine service assuming the placement of the advertisement is deemed worth the

minimum bid. The fixed-bid algorithm sets a bid to a set amount (e.g., $.25).
The
profit-based algorithm sets a bid to a bid amount calculated to produce a
certain
profit level (e.g., break even). For example, profit may be calculated based
on the
average profit resulting from the selection of an advertisement or related
advertisements. Advertisements may be related in many different ways, such as
being for the same product (e.g., a certain book), for the same category of
product
(e.g., a book), or generated by the same advertisement generator. Profit may
also
be calculated based on the profit of a combination of related advertisements
using a
metric that may factor in relatedness, size of advertising data set (e.g., the

advertisement was selected 5 or 500 times), and so on. The revenue-based
algorithm sets the bid to an amount based on a percentage of the anticipated
revenue (e.g., 10%). Revenue can be calculated in a manner similar to the
calculation of profit.
[0030] Bid
amounts may be adjusted based on the anticipated conversion rate
at an advertiser's web site. The conversion rate may indicate the percent of
visitors
who actually make a purchase at the web site. At certain times of the year
(e.g.,
Christmas season), the conversion rate may be much higher than at other times.
If
an advertisement is to be placed at a time with a conversion rate that is
different
-11-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
from the conversion rate during which the advertising metrics were collected,
then
the bid amount may be increased or decreased accordingly. For example, if the
advertising metrics were collected when the conversion rate was 10%, and the
conversion rate at time of display is expected to be 20%, then the bid amount
may
be doubled (e.g., multiplied by the ratio of the conversion rates) in
expectation that
the advertisement will more likely achieve the advertiser's objective.
[0031] Bid amounts may also be calculated or adjusted based on bids of
competing advertisers. Some search engine services make their bid statistics
available to all their advertisers. For example, the bid statistics may
identify the
search terms, bid amounts, and placement positions of advertisements. For
example, if a profit-based bid amount is set, then the bid amount may be
reduced
when the bid statistics indicate that a lower bid amount would be sufficient
to get the
advertisement placed in the top three advertisement positions of a search
result.
[0032] Figure 6 is a flow diagram illustrating the processing of an
advertisement
submitter component in one embodiment. This component loops, retrieving work
items from the work manager and then sending service requests to the search
engine service associated with this advertisement submitter based on the
retrieved
work items. If no work item is currently available, then the component goes to
sleep
or delays for a certain period. In block 601, the component retrieves the next
work
item from the work manager. In one embodiment, each work item has a priority
associated with it, and the work manager may provide work items in priority
order.
For example, a work item to update a bid or to withdraw an advertisement set
because a search term was filtered out may have a higher priority than a work
item
for submitting a new advertisement set. Also, a work item to decrease a bid
may
have a higher priority than one to increase a bid, or a work item to submit an

advertisement set may have a priority set based on anticipated click rate,
profit per
click, and so on. In decision block 602, if a work item was retrieved, then
the
component continues at block 604, else the component continues at block 603.
In
block 603, the component delays because no work item is currently available.
At
the end of the delay, the component loops to block 601 to select the next work
item.
In decision block 604, if the work item is an add work item, then the
component
continues at block 605 to send a request to the search engine service to
submit the
-12-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
advertisement set, else the component continues at block 606. In decision
block
606, if the work item is a delete work item, then the component continues at
block
607 to send a request to the search engine service to withdraw the previously
submitted advertisement set, else the component continues at block 608. In
decision block 608, if the work item is an update bid work item, then the
component
continues at block 609 to send a request to the search engine service to
update the
bid amount for the advertisement set. The component then loops to block 601 to

retrieve the next work item from the work manager.
[0033]
Figure 7 is a flow diagram illustrating the processing of a refresh
advertisement set component of the advertisement manager in one embodiment.
The refresh advertisement set component is invoked periodically to determine
whether bid amounts should be recalculated or whether an advertisement set
specifies a search term that is now considered common or otherwise
undesirable.
The component loops, selecting advertisement sets that can be submitted. An
advertisement set can be submitted if it is not currently submitted and there
is no
conflicting advertisement set that is currently submitted. In
block 701, the
component selects the next advertisement set that can be submitted. In
decision
block 702, if all such advertisement sets have already been selected, then the

component returns, else the component continues at block 703. In block 703,
the
component invokes the calculate bid component to generate a bid for the
selected
advertisement set. In block 704, the component invokes the common search term
filter component to determine whether the selected advertisement set includes
a
search term that is too common. In
decision block 705, if the selected
advertisement set has a nonzero bid and a search term has been removed, then
the
component continues at block 706, else the component continues at block 708.
In
blocks 706 and 707, the component withdraws a submitted advertisement set
whose
search terms have been filtered and, as appropriate, submits the advertisement
set
with the remaining search terms. In block 706, the component submits a delete
work item for the selected advertisement set. In block 707, the component
provides
to the work manager an add work item for the selected advertisement set
without the
filtered out search terms. The component then loops to block 701 to select the
next
advertisement set. In decision block 708, if the bid amount is different from
the
-13-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
previous bid amount and no search term was filtered out, then the component
continues at block 709, else the component continues at block 710. In block
709,
the component provides an update bid work item to the work manager for the
selected advertisement set and then loops to block 701 to select the next
advertisement set. In decision block 710, if the selected advertisement set
has no
bid associated with it, then the component continues at block 711, else the
component loops to block 701 to select the next advertisement set. In block
711,
the component provides to the work manager a delete work item request for the
selected advertisement set and then loops to block 701 to select the next
advertisement.
[0034] Figure 8 is a flow diagram illustrating the processing of the expire

advertisement set component of the advertisement manager in one embodiment.
This component is invoked periodically to determine which submitted
advertisement
sets are old and withdraws their submission. In block 801, the component
selects
the next submitted advertisement set. In decision block 802, if all the
submitted
advertisement sets have already been retrieved, then the component returns,
else
the component continues at block 803. In decision block 803, if the selected
advertisement set is too old (e.g., it has been some time since its entry was
last
updated), then the component continues at block 804, else the component loops
to
block 801 to select the next submitted advertisement set. In block 804, the
component provides to the work manager a delete work item for the selected
advertisement set and loops to block 801 to select the next submitted
advertisement
set.
[0035] Figure 9 is a flow diagram illustrating the processing of an
advertisement
generator in one embodiment. In this embodiment, the advertisement generator
scans a catalog of items, identifies search terms from a description of those
items,
generates advertisements based on the item descriptions, and identifies a link
to a
detailed web page associated with the item. In block 901, the component
retrieves
the record for the next item from the catalog. In decision block 902, if the
records for
all the items have already been retrieved, then the component completes, else
the
component continues at block 903. In block 903, the component retrieves the
description from the record. In block 904, the component identifies the search
terms
-14-

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
from the description and adds the search terms to the advertisement set. If
the item
is a book, then the search terms may be derived from the title of the book. In
block
905, the component retrieves a name from the record. If the item is a book,
then the
name may be the title of the book. In block 906, the component adds the name
to
the advertisement of the advertisement set. In block 907, the component adds a
link
from the record to the advertisement set. In block 908, the component adds the
item
identifier from the record (e.g., SKU) to the advertisement set. In block 909,
the
component adds a category for the item to the advertisement set. For example,
the
category may be book, DVD, and so on. The category may be used by the
advertisement manager to decide which advertisement sets should be submitted
or
for calculating bid amounts. The component then loops to block 901 to select
the
record for the next item.
[0036] Figure 10 is a flow diagram illustrating the processing of a find
search
term component of an advertisement generator in one embodiment. The find
search
term component is passed a reference to an item and determines whether users
selected links to that item when the links were not prominently displayed in
search
results. If so, the component generates scores for the search terms so the
advertisement generator can select the search terms with the highest scores
for use
in its advertisement sets. In block 1001, the component selects the next
selection
(e.g., click) information for the item. In decision block 1002, if all the
selection
information has already been selected, then the component continues at block
1008,
else the component continues at block 1003. In block 1003, the component
retrieves the advertising metrics associated with the selection of links to an
item. In
block 1004, the component identifies the page of a search result on which a
link was
included. In blocks 1005-1007, the component loops, collecting statistics for
each
search term associated with the search results of the selection information.
In block
1005, the component selects the next search term of the search request. In
decision block 1006, if all the search terms have already been selected, then
the
component loops to block 1001 to select the next selection information, else
the
component continues at block 1007. In block 1007, the component updates a
count
for the combination of item, selected search term, and page associated with
the
search result and then loops to block 1005 to select the next search term. In
block
-15-

CA 02550853 2014-07-30
1008, the component invokes the generate scores component to generate scores
for each
item and search term combination and then returns.
[0037] Figure 11 is a flow diagram illustrating the processing of the
generate scores
component in one embodiment. This component generates a score for item and
search
term combinations that indicates whether users selected links to a given item
from search
results that included a given search term. In block 1101 , the component
selects the next
item. In decision block 1102, if all the items have already been selected,
then the
component returns, else the component continues at block 1103. In block 1103,
the
component selects the next search term associated with the selected item. In
decision
block 1104, if all the search terms have already been selected, then the
component loops
to block 1101 to select the next item, else the component continues at block
1105. In
blocks 1105-1107, the component loops, factoring in the count of the number of
times a
link was selected when included on a certain page of the search results. In
block 1105,
the component selects the next page. In decision block 1106, if all the pages
have already
been selected, then the component continues at block 1108, else the component
continues at block 1107. In block 1107, the component generates a score for
the selected
item and selected term that is a function of the count of the selected page.
For example,
the function may generate a higher score for higher page numbers. The
component then
loops to block 1105 to select the next page. In block 1108, the component
updates the
score for the selected item and selected search term to factor in the
frequency associated
with the selected search term. The frequency may indicate the total number of
times a link
to the selected item was included in search results. The component then loops
to block
1103 to select the next search term for the selected item.
[0038] One skilled in the art will appreciate that although specific
embodiments of
the advertisement system have been described herein for purposes of
illustration, various
modifications may be made. The scope of the claims should not be limited by
the
preferred embodiments set forth above but should be given the broadest
interpretation
consistent with the description as a whole. The term "item" includes any
product, service,
or concept that can be advertised. For example, a political party can place
advertisements
relating to a particular candidate or cause. In addition, an advertisement set
may not have
a link associated with it. An advertiser may want to simply display the
information of an
16

CA 02550853 2006-06-21
WO 2005/065400 PCT/US2004/044021
advertisement to users who submit requests using a certain search term. For
example, a candidate may want an advertisement displayed when a user submits a

search request with the name of their opponent as a search term. In one
embodiment, the advertisement sets may be generated automatically by a
computer
algorithm, manually by advertisers, or by some combination thereof. In one
embodiment, when multiple advertisement sets conflict, the advertisement
manager
may submit the advertisement sets in a round-robin manner so the effectiveness
of
each advertisement set can be assessed and the most effective advertisement
set
can ultimately be submitted. Also, the bid amount may be modified based on the

advertisement generator. For example, a certain advertisement generator may
generate advertisement sets that have been historically much more effective
than
the advertisement set of other advertisement generators. In one embodiment,
the
common search terms can be identified by analyzing information such as product

reviews that have been provided by users. If a word or phrase is used in more
than
a certain percent of the reviews, then it is considered too common. More
generally,
the analysis can be performed on a corpus that includes all or a portion of
the web
pages that are accessible. Accordingly, the invention is not limited except by
the
appended claims.
-17-

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 2020-03-31
(86) PCT Filing Date 2004-12-29
(87) PCT Publication Date 2005-07-21
(85) National Entry 2006-06-21
Examination Requested 2008-01-28
(45) Issued 2020-03-31

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Registration of a document - section 124 $100.00 2006-06-21
Registration of a document - section 124 $100.00 2006-06-21
Application Fee $400.00 2006-06-21
Maintenance Fee - Application - New Act 2 2006-12-29 $100.00 2006-06-21
Maintenance Fee - Application - New Act 3 2007-12-31 $100.00 2007-12-03
Request for Examination $800.00 2008-01-28
Maintenance Fee - Application - New Act 4 2008-12-29 $100.00 2008-09-18
Maintenance Fee - Application - New Act 5 2009-12-29 $200.00 2009-11-20
Maintenance Fee - Application - New Act 6 2010-12-29 $200.00 2010-11-15
Maintenance Fee - Application - New Act 7 2011-12-29 $200.00 2011-11-15
Maintenance Fee - Application - New Act 8 2012-12-31 $200.00 2012-12-03
Maintenance Fee - Application - New Act 9 2013-12-30 $200.00 2013-12-03
Maintenance Fee - Application - New Act 10 2014-12-29 $250.00 2014-12-01
Maintenance Fee - Application - New Act 11 2015-12-29 $250.00 2015-11-30
Maintenance Fee - Application - New Act 12 2016-12-29 $250.00 2016-12-01
Maintenance Fee - Application - New Act 13 2017-12-29 $250.00 2017-11-30
Maintenance Fee - Application - New Act 14 2018-12-31 $250.00 2018-11-30
Maintenance Fee - Application - New Act 15 2019-12-30 $450.00 2019-12-20
Final Fee 2020-05-08 $300.00 2020-02-06
Maintenance Fee - Patent - New Act 16 2020-12-29 $450.00 2020-12-28
Maintenance Fee - Patent - New Act 17 2021-12-29 $459.00 2021-12-27
Maintenance Fee - Patent - New Act 18 2022-12-29 $458.08 2022-12-23
Maintenance Fee - Patent - New Act 19 2023-12-29 $473.65 2023-12-22
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
AMAZON TECHNOLOGIES, INC.
Past Owners on Record
DENEUI, ALEXANDER W.
POWER, JOANNA
SCHOLL, NATHANIEL BLAKE
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) 
Final Fee 2020-02-06 1 41
Representative Drawing 2020-03-09 1 8
Cover Page 2020-03-09 1 43
Description 2006-06-21 17 1,022
Abstract 2006-06-21 1 63
Claims 2006-06-21 4 141
Drawings 2006-06-21 11 163
Cover Page 2006-08-30 1 39
Description 2014-07-30 17 1,035
Claims 2012-06-04 2 57
Claims 2014-07-30 2 56
Claims 2015-09-15 2 58
Claims 2016-04-28 2 71
Correspondence 2006-08-28 1 17
Assignment 2006-06-21 14 506
Amendment 2017-06-20 6 308
Examiner Requisition 2018-02-08 6 372
Prosecution-Amendment 2008-01-28 1 40
Amendment 2018-07-26 10 496
Claims 2018-07-26 2 71
Prosecution-Amendment 2010-03-17 1 33
Prosecution-Amendment 2009-06-17 1 43
Fees 2009-11-20 1 34
Prosecution-Amendment 2010-10-22 1 38
Examiner Requisition 2019-01-30 6 387
Prosecution-Amendment 2011-12-08 2 69
Prosecution-Amendment 2014-07-30 6 226
Amendment 2019-06-14 13 508
Prosecution-Amendment 2012-06-04 3 91
Claims 2019-06-14 3 95
Correspondence 2013-04-09 1 17
Prosecution-Amendment 2014-01-31 2 66
Prosecution-Amendment 2015-03-20 4 215
Amendment 2015-09-15 6 211
Examiner Requisition 2016-03-24 4 230
Correspondence 2016-03-30 17 1,076
Amendment 2016-04-28 5 176
Examiner Requisition 2016-12-30 4 274