`Robinson
`
`I 1111111111111111 11111 111111111111111 IIIII 11111 1111111111111111 Ill lllll llll
`5,918,014
`Jun.29,1999
`
`US005918014A
`[11] Patent Number:
`[45] Date of Patent:
`
`[54] AUTOMATED COLLABORATIVE
`FILTERING IN WORLD WIDE WEB
`ADVERTISING
`
`[75]
`
`Inventor: Gary B. Robinson, Ellsworth, Me.
`
`[73] Assignee: Athenium, L.L.C., Cambridge, Mass.
`
`[21] Appl. No.: 08/774,180
`
`[22] Filed:
`
`Dec. 26, 1996
`
`Related U.S. Application Data
`
`[51]
`
`[60] Provisional application No. 60/009,286, Dec. 27, 1995, and
`provisional application No. 60/012,517, Feb. 29, 1996.
`Int. Cl.6
`......................... G06F 15/163; G06F 17/30;
`G06F 15/00
`[52] U.S. Cl. .......................... 395/200.49; 707/10; 706/12
`[58] Field of Search .................... 707/3, 10; 395/200.47,
`395/200.48, 200.49; 706/12
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,870,579
`4,996,642
`5,572,643
`5,704,017
`5,704,018
`5,724,424
`5,737,619
`5,740,252
`5,754,938
`5,774,170
`5,790,426
`5,790,935
`5,794,210
`5,838,790
`5,842,199
`5,848,396
`5,848,397
`
`9/1989 Hey ......................................... 364/419
`2/1991 Hey ......................................... 364/419
`11/1996 Judson ............................... 395/200.48
`12/1997 Heckerman et al.
`..................... 706/12
`12/1997 Heckerman et al.
`..................... 706/12
`3/1998 Gifford ...................................... 380/24
`4/1998 Judson .................................... 707/500
`4/1998 Minor et al. .............................. 380/49
`5/1998 Herz et al. ................................ 62/425
`6/1998 Hite et al. ................................... 348/9
`8/1998 Robinson ................................ 702/179
`8/1998 Payton ..................................... 455/5.1
`8/1998 Goldhaber et al. ....................... 705/14
`11/1998 McAuliffe et al. ......................... 380/4
`11/1998 Miller et al. ... ... ... ... ... .... ... ... ... ... . 707 /2
`12/1998 Gerace .. ... ... ... .... ... ... ... ... ... .... ... . 705 /10
`12/1998 Marsh et al. ... ... ... ... ... .... ... ... ... .. 705 /14
`
`OIBER PUBLICATIONS
`
`Miller, B., "GroupLens: An Open Architecture for Collabo(cid:173)
`rative Filtering," ftp://ftp.cs.umn.edu/users/bmiller/prop.ps,
`Univ. of Minn., pp. 1-18, Oct. 1995.
`
`Upendra Shardanand, "Social Information Filtering for
`Music Recommendation" Sep. 1994, pp. 1-93, Massachu(cid:173)
`setts Institute of Technology, Thesis.
`
`"WWW.firefly.com", web site pages, 12 pages, printed out
`on Jan. 21, 1998 (origination date unknown).
`
`"WWW.amazon.com", web site pages, 15 pages, printed out
`on Jan. 21, 1998 (origination date unknown).
`
`Primary Examiner-Zarni Maung
`Assistant Examiner-Andrew Caldwell
`Attorney, Agent, or Firm-Nutter, McClennen & Fish, LLP
`
`[57]
`
`ABSTRACT
`
`On the World Wide Web, and other interactive media, it is
`possible to show different ads to different people who are
`simultaneously viewing the same content. This invention is
`based on the fact that people who have shown a tendency for
`similar likes and dislikes in the past will show a tendency for
`such similarities in the future. Those people who strongly
`display such similarities with respect to a particular person
`("the subject") are referred to as that person's "community."
`If the members of a subject's community tend to click on a
`particular Web ad, then it is likely that the subject will also
`tend to click on that ad. This invention combines techniques
`for: determining the subject's community, and determining
`which ads to show based on characteristics of the subject's
`community. The information used to determine whether a
`given individual should be in the subject's community is
`gleaned from the individual's activities in the interactive
`medium. Means are provided to track a consumer's activi(cid:173)
`ties so all the information he generates can be tied together
`in the database, e.g. by means of "cookies;" or by software
`running on the consumer's computer, such as an in-line
`plug-in, a screensaver working in conjunction with the Web
`browser, or the Web browser itself. A measure of similarity
`between individuals is generated. The individuals with the
`greatest calculated similarity become the subject's commu(cid:173)
`nity; e.g. clusters are formed of groups of very similar
`consumers. Ads are presented to the subject based on his
`community, optionally selected based on demographics
`associated with the community.
`
`25 Claims, 1 Drawing Sheet
`
`TRACKING ACTIVITIES OF A SUBJECT
`IN AN INTERACTIVE MEDIUM
`
`10
`
`20
`
`30
`
`40
`
`DERIVING INFORMATION FROM THE
`ACTIVITIES OF THE SUBJECT
`
`DETERMINING A COMMUNITY OF THE
`SUBJECT USING ALL OR A PORTION OF
`THE INFORMATION
`
`DETERMINING WHICH OF THE ONE OR
`MORE ADVERTISEMENTS TO PRESENT
`TO THE SUBJECT BASED ON THE
`SUBJECT'S COMMUNITY BY
`DISPLAYING A NEW ADVERTISEMENT
`FOR A TRAINING PERIOD AND
`DETERMINING WHETHER A HIGH OR
`LOW PROPORTION OF MEMBERS OF
`THE SUBJECT'S COMMUNITY HAVE
`CHOSEN TO VIEW FURTHER
`INFORMATION ABOUT THE
`ADVERTISEMENT
`
`Twitter-Google Exhibit 1004
`
`
`
`U.S. Patent
`
`Jun.29,1999
`
`5,918,014
`
`TRACKING ACTIVITIES OF A SUBJECT V 10
`IN AN INTERACTIVE MEDIUM
`
`DERIVING INFORMATION FROM THE
`ACTIVITIES OF THE SUBJECT
`
`/20
`
`DETERMINING A COMMUNITY OF THE
`SUBJECT USING ALL OR A PORTION OF V 30
`THE INFORMATION
`
`DETERMINING WHICH OF THE ONE OR
`MORE ADVERTISEMENTS TO PRESENT
`TO THE SUBJECT BASED ON THE
`SUBJECT1S COMMUNITY BY
`DISPLAYING A NEW ADVERTISEMENT
`FOR A TRAINING PERIOD AND
`DETERMINING WHETHER A HIGH OR
`LOW PROPORTION OF MEMBERS OF
`THE SUBJECT'S COMMUNITY HAVE
`CHOSEN TO VIEW FURTHER
`INFORMATION ABOUT TH'E
`ADVERTISEMENT
`
`Figure 1
`
`
`
`5,918,014
`
`1
`AUTOMATED COLLABORATIVE
`FILTERING IN WORLD WIDE WEB
`ADVERTISING
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`This application claims priority from U.S. Provisional
`Application No. 60/009,286 filed on Dec. 27, 1995 and U.S.
`Provisional Application No. 60/012,517 filed on Feb. 29,
`1996, both having named inventor Gary B. Robinson.
`FIELD OF THE INVENTION
`This invention involves the display of advertising to users
`of an int~ractive commu~ications medium. It is particularly
`useful with the World Wide Web, which utilizes a commu(cid:173)
`nications protocol on the Internet.
`To access the Internet, and to carry out the methods
`described in this document, one must have a CPU RAM
`Internet connection (for instance, through a phone line and
`modem), input device such as a keyboard, and an output
`device such as a TV, CRT or LCD.
`All of the above-identified hardware, necessary to carry
`out the steps described in this document, will be considered
`to be implied in the following description of the present
`invention.
`
`INTRODUCTION
`l!nder the old model for the advertising industry, the
`subJect matter of one "unit of publication" (a magazine, a
`newspaper section, a radio show, a TV show) was often the
`sole means an advertiser possessed in order to guess the 30
`interests of a particular reader or viewer. If for instance, the
`magazine was about cars, advertisers knew that anyone
`reading it was highly likely to be interested in cars.
`However, on the Internet's World Wide Web, multiple
`units of publication-that is, multiple Web pages and user 35
`actions over time-can be used to determine the interests of
`each individual. Moreover, this information can be gathered
`very inexpensively. To do this, we take advantage of the fact
`that a Web user's actions can be tracked over time. This rich
`source of information about each person will be used to 40
`bring about an era of far more efficient advertising. The
`information used includes not only which sites were visited
`by the user and for how long, but also which ads the user
`clicked on, as well as other information.
`Under the old model, as it exists on the Web today, most 45
`of this information is ignored. It is technically possible to
`acquire it, but it isn't generally being done. This is due to
`reasons of momentum of the old model, lack of well-known
`software and statistical tools for making use of the
`information, and, not insignificantly, fears of an invasion of 50
`privacy (a problem that must be dealt with and that this
`concept paper will explore below). But this information,
`when acquired and used, will be extremely useful in trying
`to make sure that each square inch of the limited Web
`advertising space on each site is used to effectively reach 55
`individual customers.
`This ignored information, because of its power to enhance
`advertising effectiveness, is extremely valuable.
`Moreover, the use of this information benefits not only the
`users, but also every one of the interested commercial
`entities-advertisers, ad agencies, and Web sites. Each
`entity will be economically motivated to facilitate the move
`to the new paradigm.
`
`2
`different people who are simultaneously viewing or inter(cid:173)
`acting with the same content. For instance, a particular Web
`page may have an area reserved for advertisements. Anyone
`of average experience in the field of Web programming
`5 would be able to create code to show different advertise(cid:173)
`ments to different people simultaneously viewing that page.
`This can be accomplished, for instance, by means of a CGI
`script.
`Since different people have different interests, it is appar-
`10 ent that this can be a useful thing to do. But the question
`remains: how do we determine which advertisements to
`choose for a particular viewer?
`This invention is based on the fact that people who have
`shown a tendency for similar interests and likes and dislikes
`15 in the past will usually continue to show a tendency for such
`similarities in the future. In particular, people who have
`shown a historical tendency to be interested in the same ads
`in the past will usually continue to display such a tendency
`as time goes on. Those people who strongly display such
`20 similarities with respect to a particular person (who we will
`refer to as "the subject") are referred to as that person's
`"community."
`If the members of a particular consumer's community
`tend to click on a particular Web ad, then there is a certain
`25 likelihood that the subject consumer will also tend to click
`on that ad.
`To take advantage of this fact, this invention combines
`techniques for solving two problems: determining the sub(cid:173)
`ject's community, and determining which ads to show based
`on characteristics of the subject's community.
`In this invention, the information used to determine
`whether a given individual should be in the subject's com(cid:173)
`munity is gleaned from the activities of the individual in the
`interactive medium in question. For instance, when the
`interactive medium is the World Wide Web, the information
`may involve such facts as the choices of Web sites the
`individuals have each visited, the frequency of such visits,
`the nature of the content at those sites, etc. If the sites are
`online stores, the information may involve the choice of
`specific items purchased, as well as the prices of those items.
`As another example, if the site is an entertainment recom(cid:173)
`mendation service based on user-supplied ratings (Firefly at
`www.flly.com is an example), the ratings can be used. One
`more example is the selection of Web ads each individual
`has chosen to click on. In one embodiment, there is a feature
`which allows individuals to indicate their disinterest in an
`ad; this serves as additional input.
`There needs to be a means to track a consumer's activities
`so all the information he generates can be tied together in the
`database. In one embodiment, this is accomplished by means
`of Netscape-style "cookies," which are stored on the con(cid:173)
`sumer's hard disk under CGI control. In other embodiments,
`software running on the consumer's computer, such as an
`Netscape-style in-line plug-in, a screensaver working in
`conjunction with the Web browser, or the Web browser
`itself, is used to tie the data together.
`This information is used as the basis for calculations
`which generate a (usually numeric) measure of similarity
`60 between individuals. Examples of such similarity measures
`are well-known to programmers of ordinary skill in the field
`of collaborative filtering.
`The individuals with the greatest calculated similarity
`become the subject's community.
`. I~ one embodiment clusters are formed of groups of very
`similar consumers. Then, the subjects community consists of
`all or some of the other members of his cluster.
`
`65
`
`SUMMARY OF THE INVENTION
`On the World Wide Web, and other media such as
`interactive television, it is possible to show different ads to
`
`
`
`5,918,014
`
`s
`
`3
`The next major task is to decide what ads to show the
`subject based on his community.
`In one embodiment of the invention, a new ad is displayed
`randomly or on a fixed schedule to a certain number of users.
`During this "training period" for the new ad, a certain
`percentage of the members of the subject's community will
`click on it. If this is an unusually high proportion, then there
`is a relatively high likelihood that the ad will be of relatively
`high interest to the subject. In one embodiment, statistical
`techniques are used to determine a probability, associated 10
`with a fixed confidence level, with which we can assume a
`randomly-chosen member of the subject's community will
`tend to click on the ad; this probability is used as the measure
`of similarity. Other embodiments involve other analytic
`techniques.
`There are a number of additional features found in other
`embodiments of the invention.
`In one embodiment, the advertiser specifies the demo(cid:173)
`graphic profile he wants to show the ad to. In that case, as
`long as we have demographic information available for
`some consumers, the system targets ads by considering the
`subject's community members who have supplied demo(cid:173)
`graphic information. For instance, by computing the average
`age of the members of the subject's community who have 25
`supplied their ages, the system is enabled to make an
`"intelligent guess" about the subject's age, and use that
`guess for the purpose of targeting ads.
`In one embodiment of the invention, special Web pages or
`sites are supplied which enable advertisers to specify spe- 30
`cific specific sites they would like their ads to run on ( or not
`run on); similarly, special Web pages or sites are supplied
`which enable Web site administrators to specify ads they
`would like to display or not display.
`In other embodiments, means are supplied for consumers
`to specify and update their demographic information; these
`means take the form of a Web site or page in one
`embodiment, and software running on the consumer's com(cid:173)
`puter in another.
`In some embodiments, software running on the consum(cid:173)
`er's computer makes the choices about which ads are to be
`displayed for that user. This embodiment has the advantage
`that it obviates the need for a central database storing
`detailed information about consumer together with an iden(cid:173)
`tifier for each consumer; so the consumer's privacy is 45
`protected.
`
`4
`which of the one or more advertisements to present to the
`subject based on the subject's community by displaying a
`new advertisement for a training period and determining
`whether a high or low proportion of members of the sub-
`ject's community have chosen to view further information
`about the advertisement (step 40).
`Smart Ad Boxes
`The centerpiece of this invention is the "Smart Ad Box."
`A Smart Ad Box is an area on a Web page (usually
`rectangular) which is used to display Web advertising.
`Special software algorithms are used to determine which ads
`are shown to which users; different visitors to a Web page
`can simultaneously see different ads.
`A number of factors can be used by the software in
`15 determining which ads to show. For instance, based on their
`Dec. 6, 1995 press release, the company CINet appears to be
`planning to implement a Smart Ad Box-like system which
`decides which ads to present to which users based on such
`information as the type of Web browser they're using, their
`20 age, gender, Internet domain (EDU, COM, etc.) and other
`demographic information. A Dec. 19, 1995 press release
`from Novo Media Group indicates at least somewhat similar
`plans.
`This invention involves using automated collaborative
`filtering (ACF) either instead of, or in addition to, the
`above-mentioned techniques. (ACF is also referred to as
`social information filtering.) As far as is known, there is no
`prior art that involves using ACF in determining which ads
`to show to whom.
`For ease of discussion, this patent will focus exclusively
`on the use of ACF in Web advertising. However, it must be
`stressed that ACF can be used in a complementary manner
`to techniques such as those CINet and Novo Media Group
`35 are developing. ACF can give us a certain amount of
`evidence that a particular ad should be shown to a particular
`user; such information as age, sex, Internet domain, etc. can
`be considered as well.
`From the point of view of a Web site hosting a Smart Ad
`40 Box, the Smart Ad Box consists of a small amount of HTML
`code. It may optionally involve non-HTML code, such as
`Java. It involves calling a CGI routine.
`What the user sees.
`When a Smart Ad Box appears on a page, a user viewing
`that page will see an ad which is targeted to that particular
`user. Thus, simultaneous viewers of the same page will often
`be presented with different ads. The ad is visually contained
`in the Smart Ad Box. The Smart Ad Box may or may not be
`rectangular in shape; it will often, but not necessarily, exist
`so in a fixed region on the screen.
`The Smart Ad Box will present different ads to a user over
`time. Certainly, simply showing the same ad over and over
`again is not maximally effective. The user would simply
`become used to it and would therefore come to ignore it.
`ss This invention involves rotating the user through different
`ads which are of likely to be of interest to that particular user.
`The rotation schedule can be chosen for maximal overall
`advertising effectiveness. One way to measure effectiveness
`would be the frequency of clicks on ads in Smart Ad
`60 Boxes-the rotation schedule could be chosen to maximize
`this number. It could involve such information as the number
`of times the user has seen each ad in the past, and the
`predicted likelihood that the user will be interested in the
`given ad. Another factor that could be considered is reso(cid:173)
`nance with the Web page showing the ad-perhaps ads that
`relate in some way to the subject matter of the page will be
`more likely to be clicked on.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`A more complete understanding of the present invention
`and the attendant advantages and features thereof will be
`more readily understood by reference to the following
`detailed description when considered in conjunction with the
`accompanying drawings wherein:
`FIG. 1 is a flowchart diagram for the steps performed in
`selectively displaying one or more advertisements to a
`subject in accordance with the teachings of the present
`invention.
`
`DETAILED DESCRIPTION
`Referring to FIG. 1, a preferred embodiment of the
`present invention is shown. In this embodiment, the system
`begins by tracking activities of the subject in the interactive
`medium (step 10). Next, the system derives information
`from the activities of the subject (step 20). The system then 65
`determines a community of the subject using all or a portion
`of the information (step 30). Finally, the system determines
`
`
`
`5,918,014
`
`5
`Like most current Web advertisements, clicking on a
`Smart Ad Box will cause the user to be transported to a Web
`site chosen by the advertiser.
`Moreover, particular implementations of the present
`invention can optionally include certain additional features, 5
`such as the ability to reject an ad-for instance, with an
`option-click of the mouse. A user would do this for an ad that
`had no interest for him. The rejected ad would automatically
`be replaced with another ad targeted to that user.
`Control features for advertisers and Web site managers. 10
`The central database can optionally contain rules or
`control records provided by advertisers and Web site man(cid:173)
`agers. These could be used for the following purposes:
`An advertiser may not want to be associated with certain
`Web sites or types of Web sites; alternatively there may 15
`be certain sites or types of sites they would like to be
`associated with as strongly as possible. Advertisers
`could specify such inclinations, and they can be stored
`in a database. Then, when the software is choosing the
`next ad to show to a particular user who is visiting a
`particular Web site, those factors can be taken into 20
`account.
`Similarly, a Web site may prefer certain advertisers or
`advertisements or types of advertisements to others.
`The Web site can specify such inclinations, and they
`can be taken into account when the next ad is chosen 25
`for a particular user currently visiting that Web site.
`One way for advertisers and Web sites to supply these
`rules would be for a Web site to be constructed which would
`do the following:
`1. There would be a page which would present advertisers 30
`with a list of Web sites which are currently running Smart Ad
`Boxes. (Optionally, these Web sites could be grouped
`according to subject matter. For instance, Web sites con(cid:173)
`cerning automobiles could be grouped together. In addition,
`individual pages of Web sites could be listed. Thus, there 35
`could be a three-level hierarchy.)
`2. It would allow the advertiser to input identification
`information about an ad-for instance, its URL. This will
`tell the software that the information given will apply to that
`particular ad.
`3. It would allow the advertiser to indicate which Web
`sites he would like to have display his ad. If Web sites are
`grouped by subject matter and/or individual pages are listed,
`the advertiser should be able to indicate choices on those
`items, too.
`For instance, a check box could appear next to each item.
`If the advertiser clicks a checkbox for an item which has
`subordinate items (for instance, the user may have clicked
`on the checkbox for a Web site which was listed with its
`individual pages) then the checkboxes for the subordinate
`items could be automatically "checked" or "filled in" by the
`software. (Java or JavaScript could be used to do this in
`"real-time" instead of requiring the user to submit the form.)
`But a number of other mechanisms could be used instead of
`checkboxes-for instance, the listings could change color to
`indicate having been chosen. Checkboxes are probably
`preferable, though, since their meaning is so intuitively
`clear.
`4. Optionally, there could be a page that would work the
`opposite way. It would allow an advertiser to identify a
`particular ad, and then it would allow him to specify the sites
`(subject groups, pages) which have Smart Ad Boxes but
`which he would rather not allow to show his ad. Thus, his
`ad would be distributed to all pages with Smart Ad Boxes
`except those that were specified. Again, pages could be
`specified by means of checkboxes at page, site, or subject
`matter levels.
`
`6
`5. In the above, whenever a page is listed, it should
`optionally be possible to click on the listing to be transported
`to that page in order to investigate it.
`6. Optionally, advertisers should be able to retrieve the
`information already entered for a particular ad. For instance,
`an advertiser may change his mind about showing an ad on
`a given site. So, by specifying the ad's identifier, the
`advertiser should be presented with a listing of pages which
`indicate the choices he has already made; ideally, he should
`be able to change those choices using the same techniques
`used to enter those choices originally-for instance, by
`clicking on the checkboxes.
`7. Through the pages described above, an advertiser
`would be able to specify the pages which will be allowed to
`display the ad. However, the Web sites with Smart Ad Boxes
`also need to have a choice. So a page could be set up for
`them which listed all the ads which they are allowed to show.
`As in the other case, checkboxes could be used to indicate
`which ads will be chosen; again as in the other case, the
`webmaster should be able to indicate either the specific ads
`he wants to present on his page (automatically disallowing
`the rest) or the ads he doesn't want to present ( automatically
`including the rest).
`8. As in the other case, allowed ads could be presented
`hierarchically by subject matter, with checkboxes at both
`levels.
`9. The ad listings could, optionally, consist of the ad
`banners themselves. Alternatively, they could be "hot(cid:173)
`linked" text that the webmaster could click on to be trans(cid:173)
`ported to a page containing the banner (which might addi(cid:173)
`tionally have other information supplied by the advertiser
`about the ad). There should optionally also be a way for the
`webmaster to visit the site that the banner will be linked to;
`this could be accomplished simply by hotlinking the banner
`to the site, just as will be the case for users. It could also be
`accomplished other ways, including having a button, next to
`the listing for the ad, which is hotlinked to the related site.
`10. Alternatively, the system could work the opposite way.
`Instead of enabling advertisers to offer ads to chosen Web
`40 sites, the process could start with Web sites offering pages to
`advertisers, which could then choose which pages they want
`to accept.
`11. In cases where hierarchies are displayed, the hierar(cid:173)
`chies could be collapsible, similar to the way files are listed
`45 in the Finder of Macintosh's System 7 operating system
`when View is "by Name." This would enable people using
`the lists to navigate them more effectively, especially if the
`actions for expanding and collapsing hierarchy levels were
`very fast. To achieve a quick and responsive user interface,
`50 a Java applet could be written which handled some or all
`aspects of the user interaction.
`Control features for users.
`Demographic data.
`Web pages can optionally display a hot link to a site where
`55 users can enter their demographic data. Users can optionally
`be given the ability to modify their demographic data at any
`time. Finally, if they wish to, they can optionally be given
`the ability to delete their demographic data at any time.
`This control over their demographic data will alleviate
`60 many user's privacy concerns.
`In addition, users should have easy access to information
`stating how the demographic data is used, and who has
`access to it.
`It will probably be the case that some users will have less
`65 concern about privacy issues than others. The Web site that
`allows users to update or delete their demographic data
`could optionally also allow users to specify a chosen level of
`
`
`
`5,918,014
`
`7
`privacy. For instance, some users might wish to allow
`companies to have access to their demographic data in order
`to receive certain special offers (which could be made by
`direct mail, email, or other means). Optionally, there could
`be list where users could choose companies which will be
`allowed to have access to their information. For instance, a
`check box could appear next to each company name. As
`described in the section of this document which discusses
`the means by which Web sites would choose advertisers,
`users could choose companies by means of a hierarchically(cid:173)
`organized list, grouped by product category. Again, the
`hierarchies could be collapsible in order to increase ease of
`navigation. Of course, the companies could alternatively by
`listed in some other manner, such as alphabetical order.
`Users can be induced to supply such data by special offers
`such as discounts on selected merchandise.
`Tracking Data.
`Users can optionally be given the ability to tell the system
`not to store their tracking data. (If the user elected not to be
`tracked, the system would have to decide what ads to display
`based on other means, such as domain type [EDU, NET,
`etc.], browser and computer types, demographic data that
`had been obtained, etc.)
`Storing data on user's machine instead of in a central
`database.
`As still another option, it would be possible to store the
`tracking data only on the user's own machine, so that the
`data would be completely privateuit would never have to be
`compiled on another machine.
`This means that the criteria normally used by the system
`to decide which ads the user will see and the order these ads
`will be displayed in will have to be sent, across the Internet,
`into the user's computer; decisions about the ads will be
`made there.
`Let's refer to a user who has elected to store his tracking 35
`data locally as Sam.
`For instance, to make use of ACF (discussed elsewhere in
`this document), the tracked history of various users ( or some
`subset of that information) will have to be accessed by (in
`other words, sent to) Sam's computer. (This data would, of 40
`course, be sent without any identifying information that
`would enable the sender to learn what individual was
`associated with what tracking data.) Software running on
`Sam's system could then decide which of these users are
`most similar to Sam, and make subsequent decisions about 45
`which ads to display for Sam.
`To make the process of sending other user's tracking data
`to Sam more efficient, the system could optionally be
`designed so that similar users were grouped into statistical
`clusters; all the people in one cluster would be more similar 50
`to each other than to people in any other cluster.
`Then, information describing the clusters could be sent to
`Sam's machine, which could decide which cluster Sam was
`in. A variety of different types of information could be sent
`to Sam's machine describing each cluster. For instance, the 55
`average amount of time spent on each tracked Web site,
`where that number is computed from the data corresponding
`to all users in the cluster, would be a good candidate. For
`each cluster, this number could be sent for every tracked
`page ( or for only a subset of the tracked pages, which could 60
`be chosen, for instance, for their statistical significance).
`Then, software running on Sam's machine could determine
`how closely each cluster matches Sam's activities; Sam
`would be considered to be in the cluster he matches most
`closely.
`Alternatively, instead of sending information about each
`user or cluster into Sam's computer, information could be
`
`8
`sent about the demographics which apply to each ad. These
`demographics could be supplied to the system by the adver(cid:173)
`tiser or ad agency, or could be determined by a central
`computer by means of ACF as described elsewhere in this
`5 document.
`Since Sam's information would only be stored in his own
`computer, he would not have as many privacy concerns with
`regard to inputing demographic information. So there is a
`good likelihood that he would be willing to supply such
`10 information. If he did so, the system could optionally not
`store his tracking information.
`So, to determine which ads to display for each user and
`with what frequency and when, the software running on
`Sam's system could simply see how closely each ad matches
`15 his demographic data.
`Optionally, every time Sam clicks on an ad, his demo(cid:173)
`graphic information could be sent to a central database,
`where it would be used to analyze the overall demographics
`of people who click on the ad. However, no identifying
`20 information for Sam need be sent or stored.
`The technique of storing all tracking data on Sam's
`machine could be implemented, using technology available
`at the end of 1995, with Netscape's protocol for Inline
`Plug-Ins. Inline Plug-Ins, unlike Java applets, have the
`25 ability to write directly to the user's hard disk. (The situation
`for Java applets may change in the future, and other tech(cid:173)
`nologies may emerge that can accomplish the same
`purposes.) This ability is essential for storing the user's data.
`The Inline Plug-In could, if desired, handle all function-
`30 ality of displaying the ad, determining what ad to show, and
`reading and writing the relevant information from and to the
`hard disk. Otherwise, this functionality could be divided the
`between the Inline Plug-In and other software, such as Java
`applets.
`A separate application coul