`Gerace
`
`US005848396A
`[ii] Patent Number:
`[45] Date of Patent:
`
`5,848,396
`Dec. 8, 1998
`
`[54] METHOD AND APPARATUS FOR
`DETERMINING BEHAVIORAL PROFILE OF
`A COMPUTER USER
`
`[75]
`
`Inventor: Thomas A. Gerace, Cambridge, Mass.
`
`[73] Assignee: Freedom of Information, Inc.,
`Cambridge, Mass.
`
`[21] Appl. No.: 634,900
`Apr. 26, 1996
`[22] Filed:
`................................................ G06F 19/00
`Int. C l.
`[51]
`[52] U.S. Cl................................. 705/10; 705/1; 705/10;
`455/6.2
`[58] Field of Search ............................ 386/1; 348/1, 2;
`455/2, 6.2; 434/236; 705/1, 10
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4/1987 Weinblatt ................................... 434/236
`1/1988 Weinblatt ....................................... 455/2
`5/1990 Kiewt ........................................... 358/84
`11/1993 Kauffman et al............................. 358/86
`8/1995 Kaplan et al................................ 395/600
`8/1995 Wilkins ....................................... 455/6.2
`4/1996 Cragun et al................................ 364/401
`5/1996 Carles ............................................ 348/8
`6/1997 Saxe ........................................... 395/201
`
`4,659,314
`4,718,106
`4,930,011
`5,260,778
`5,446,891
`5,446,919
`5,504,675
`5,515,098
`5,636,346
`
`FOREIGN PATENT DOCUMENTS
`95/23371
`8/1995 WIPO .
`
`OTHER PUBLICATIONS
`
`Bussey, H.E., et al., “Service Architecture, Prototype
`Description, and Network Implications of a Personalized
`Information Grazing Service,” IEEE Multiple Facets of
`Integration Conference Proceedings, vol. 3, No. Conf. 9,
`Jun. 3, 1990, pp. 1046-1053.
`Yan, T.W. and Garcia-Molina, H., “SIFT -A Tool for
`Wide-Area Information Dissemination,” Paper presented at
`the USENIX Technical Conference, New Orleans, LA
`(1995, Jan.), pp. 177-186.
`
`Pazzani, M. et al., “Learning from hotlists and coldlists:
`Towards a WWW Information Filtering and Seeking
`Agent,” Proceedings International Conference on Tools with
`Artificial Intelligence, Jan. 1995, pp. 492^-95.
`Raggett, D., “A review of the HTML + document format,”
`Computer Networks and ISDN Systems, vol. 27, No. 2, pp.
`35-145 (Nov. 1994).
`Gessler, S. and Kotulla A., “PDAs as mobile WWW brows
`ers,” Computer Networks and ISDN Systems, vol. 28, No.
`1-2, pp. 53-59 (Dec. 1995).
`Donnelley, J.E., “WWW media distribution via Hopewise
`Reliabe Multicast,” Computer Networks and ISDN Systems,
`vol. 27, No. 6, pp. 81-788 (Apr., 1995).
`Jones, R., “Digital’s World-Wide Web server: Acase study,”
`Computer Networks and ISDN Systems, vol. 27, No. 2, pp.
`297-306 (Nov. 1994).
`Betts, M., “Sentry cuts access to naughty bits,” Computers
`and Security, vol. 14, No. 7, p. 615 (1995).
`
`(List continued on next page.)
`
`Primary Examiner—Kevin J. Teska
`Assistant Examiner—M. Irshadullah
`Attorney, Agent, or Firm—Hamilton, Brook, Smith &
`Reynolds, PC.
`ABSTRACT
`[57]
`Computer network method and apparatus provides targeting
`of appropriate audience based on psychographic or behav
`ioral profiles of end users. The psychographic profile is
`formed by recording computer activity and viewing habits of
`the end user. Content of categories of interest and display
`format in each category are revealed by the psychographic
`profile, based on user viewing of agate information. Using
`the profile (with or without additional user demographics),
`advertisements are displayed to appropriately selected users.
`Based on regression analysis of recorded responses of a first
`set of users viewing the advertisements, the target user
`profile is refined. Viewing by and regression analysis of
`recorded responses of subsequent sets of users continually
`auto-targets and customizes ads for the optimal end user
`audience.
`
`28 Claims, 10 Drawing Sheets
`
`To end user
`
`Twitter-Google Exhibit 1012
`
`
`
`5,848,396
`Page 2
`
`OTHER PUBLICATIONS
`“My Yahoo! news summary for My Yahoo! Quotes”, http://
`my.yahoo.con, (1997, Jan. 27).
`“The Front Page”, http://live.excite.com/7aBb (1997, Jan.
`27) and (1997, Apr. 11).
`“Welcome to Lycos,” http://www.lycos.com, (1997, Jan.
`27).
`“AdForce Feature Set”, http://www.imgis.com/index.html/
`core/p2—2html (1997, Apr. 11).
`“Network Site Main”, http://www.doubleclick.net/frames/
`general/nets2set.htm (1997, Apr. 11).
`“NetGravity Announces Adserver 2.1”, http://www.net-
`gravity.com/news/pressrel/launch21.html (1997, Apr. 11).
`Berniker, M., “Nielsen plans Internet Service,” Broadcast
`ing & Cable, 125(30):34 (1995, Jul. 24).
`Information describing BroadVision One-to-One Applica
`tion System: “Overview,” p. 1; Further Resources on One-
`To-One Marketing, p. 1; BroadVision Unleashes the Power
`of the Internet with Personalized Marketing and Selling, pp.
`1-3; Frequently Asked Questions, pp. 1-3; Products, p. 1;
`BroadVision One-To-One(™), pp. 1-2; Dynamic Com
`mand Center, p. 1; Architecture that Scales, pp. 1-2; Tech
`nology, pp. 1; Creating a New Medium for Marketing and
`Selling BroadVision One-To-One and the World Wide Web
`a White Paper, pp. 1-15; http://www.broadvision.com
`(1996, Jan.-Mar.).
`
`“Media Planning is Redefined in a New Era of Online
`Advertising,” PR Newswire, (1996, Feb. 5).
`PRNewswire, information concerning the PointCast Net
`work (PCN) (1996, Feb. 13) p. 213.
`“Netscape & NetGravity: Any Questions?”, http://www.net-
`gravity.com/, (1996, Jul. 11).
`“IPRO,” http://www.ipro.com/, Internet profiles Corpora
`tion Home and other Web Pages (1996, Jul. 11).
`“The PointCast Network,” http:/www.pointcast.com/, (1996,
`Spring).
`“ABI WHAP, Web Hypertext Applications Processor,”
`http://alphabase.eom/abi3/whapinfo.html#profiling, (1996,
`Jul. 11).
`Hoffman, D.L. et al., “A New Marketing Paradigm for
`Electronic Commerce,”
`(1996, Feb.
`19),
`http://
`www2000.ogsm.vanderbilt.edu novak/new.marketing.para-
`digm.html.
`“Real Media,”
`(1996, Jul. 11).
`McFadden, M., “The Web and the Cookie Monster,” Digital
`Age, (1996, Aug.).
`Weber, Thomas E., “Software Lets Marketers Target Web
`Ads,” The Wall Street Journal, Apr. 21, 1997.
`
`http://www.realmedia.com/index.html,
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 1 of 10
`
`5,848,396
`
`FIG. 1
`
`To end user
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 2 of 10
`
`5,848,396
`
`Agate Data \
`Assembly 7[ )
`
`User Profile
`\ Member 73
`
`Ad Module
`75
`
`FIG. 2
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 3 of 10
`
`5,848,396
`
`To Server 27
`
`h-
`OJ
`a>>w
`CO,o
`
`CD
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`User
`
`Sheet 4 of 10
`37a
`
`5,848,396
`
`identifiers
`nickname
`password (optional)
`forward all messages received to that user
`postal address
`phone
`credit card
`attributes
`language
`geographic
`country
`home zip
`work zip
`home area code
`work area code
`cities of interest
`demographic
`gender
`age
`income bracket (estimated or volunteered)
`occupation (volunteered)
`lifestyle
`language
`smoker
`orientation
`lifestyle (vegetarian)
`race
`drinker
`marital status
`music
`weight
`height
`Sponsor interest list (user choose from)
`DW
`Pepsi
`Coke
`
`FIG. 3B
`
`
`
`Dec. 8, 1998
`
`Sheet 5 of 10
`
`5,848,396
`
`U.S. Patent
`enabling technologies
`(use/don't use flag for each for this user) Even if don't
`use, track presence for advertiser reporting.
`helper apps list-can user hear audio,
`video, what browser
`plug- ins list
`NLO list
`persistent ActiveX objects
`FIG. 3C
`
`v.
`
`37 b
`
`User Interface Profile
`User computer ID
`categories
`category display
`FIG. 3D
`
`User Session
`referring link
`start datetime
`end datetime
`computer LD
`browser type
`FIG.3E
`
`■«-----37c
`
`37d
`
`/ 37e
`
`User Action History
`action datetime
`session ID
`ordinal sequence identifier
`page ID
`object clicked ID
`object position on page
`what was the context of the object that
`precipitated the action
`Ist, 2 nd' 3 rditem ?
`Right or left side
`FIG. 3F
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 6 of 10
`
`5,848,396
`
`37 f
`
`User Viewing History
`open datetime
`leave datetime
`ID
`ordinal sequence identifier
`precipitating action ID
`related object ID
`item ID
`item orientation
`orientation relative to related object ID (either a page or
`an object). Must track each orientation separately, in
`case an ad encompasses an object,
`top
`bottom
`left
`right
`background
`
`FIG. 3G
`
`M essages / Notices and Warnings
`to user
`from user
`include identifier
`subject
`message
`ad package ID (optional, system choice if null; if designated ID
`is expired package, look for next package by advertiser. If
`none, system choice)
`Page ID (to forward a page reference)
`Link to additional info
`Messages will be sent either internally*or* through e-mail
`Notices and Warnings will always be sent internally and be
`duplicated through e-mail if possible.
`Delivery Date
`Read date (specific user read msg on date/time)
`
`FIG. 4B
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 7 of 10
`
`5,848,396
`
`43
`
`User Homepage
`Stock Table
`portfol io
`open
`bid
`ask
`last
`$ change
`5 2 wk high
`5 2 wk low
`p /e
`
`Sports
`Scores from previous 2-3 nights games in table
`News
`Weather
`5 day forecast for local area
`High
`Low
`Precip
`5 day forecast for interested cities
`Weather warnings if any for local or interested cities
`Travel Schedule
`Selected/purchased items that are coming within one
`week (Table showing options)
`Specials advertised to areas of interest
`Directory
`Typically called numbers for an area (in a table, names
`are hot links for any with e-mail)
`Messages
`Classified replies
`Personals replies
`Real Estate replies
`
`FIG. 4A
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 8 of 10
`
`5,848,396
`
`33a
`
`*
`
`Sponsor
`company name
`user IDs
`contact info (for users to contact our sponsors)
`phone
`URL
`Fax
`account contact info
`phone
`URL
`Fax
`IP Domain list
`Demographic profiling
`Type of business
`SIC Code
`SIC Industry name
`Size of company
`employees
`revenues
`earnings
`Location
`Local/Regional/National/Multi-national/Global
`Producer
`Publically traded(yes/no)
`Exchange listings
`Customized Report Configurations-Standard Reports per ad
`Packages included (default is all)
`Variables included
`Display preferences
`Include regression ?
`Graphical ?
`Show control group ?
`
`FIG. 5A
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 9 of 10
`
`5,848,396
`
`33b
`
`/
`
`A d Package
`Sponsor ID
`Info for exact # purchases
`Number of Purchased Hits
`Number of Purchased Clickthroughs
`Info for scaled purchases (up to...)
`Max Hits
`MaxClicks
`Start Datetime (if not present, active until end date)
`End Datetime (if not present, is active after start date)
`#■ hits (derived)
`# clicks (derived)
`pricing of ad package
`hit
`clickthrough
`order
`
`FIG.5B
`
`33c
`
`A d Series
`package ID
`intended demographic profile(s) list
`category (product/service)
`daily start time-hr. of day
`daily end time
`Display Days of week
`Start Datetime (if not present, active until end date)
`End Datetime (if not present, is active after start date)
`Max. series views per user
`Max. series views per user per day
`FIG. 5C
`
`
`
`U.S. Patent
`
`Dec. 8, 1998
`
`Sheet 10 of 10
`
`5,848,396
`
`33d
`
`Advertisem ent
`series ID (must be present for all ads in a series, or
`null for all if random display is desired)
`series sequence
`display characteristics
`daily start time
`daily end time
`graphic ref's
`multi - format
`sound ref (s)
`multimedia refs
`X-type Refs (e.g. shockwave)
`text-only format
`
`FIG. 5D
`
`
`
`1
`METHOD AND APPARATUS FOR
`DETERMINING BEHAVIORAL PROFILE OF
`A COMPUTER USER
`BACKGROUND
`In traditional print media, the term “agate” was originally
`used to refer to any information printed in columns 1.5
`inches wide in 5 point type (e.g., stock quotes). Today, agate
`is used to refer to time-sensitive, reference information that
`is not read linearly. Examples are telephone listings, classi
`fied advertisements, weather reports, sports scores and
`statistics, market data, books and recordings in print, and
`television and film listings.
`Some types of agate require continual updating in the
`short term, like stock quotes, while other types have a longer
`life, like travel information and business directories. The
`newspaper industry is one of the primary suppliers of agate.
`Newspapers provide listings of stock quotes, television and
`radio programming, film schedules, and classified ads. A
`second group of agate suppliers are book publishers. From
`travel guides to books in print, a wide variety of books
`provide agate information that changes monthly or yearly.
`Although many types of agate are traditionally found in
`publications (e.g., newspapers, magazines, and books), all
`agate can be placed into large indexed databases. Because
`agate is non-linear reference material, it is often more
`efficient to search for agate in a database, than to scan
`columns of a newspaper.
`One of the largest pools of databases and electronic media
`is found on The Internet. The World Wide Web (Web) is a
`two-year-old protocol used to create and publish documents
`on the Internet. Web documents may contain graphics, text,
`sound, video or any combination of these. Web documents
`can include “hyperlinks” which are highlighted areas of
`information in one document that, when user-selected, open
`a related document. In late 1994, “forms” were added to the
`Web to make it interactive. Previously, Web pages could
`only be used to display information or point to other Web
`sites where information was available. The 1994 change
`allowed those publishing Web pages to publish “forms”, i.e.,
`documents that include blank spaces to be completed by
`users and then returned to the publishing computer, thus
`allowing interactivity.
`Publishing information on the Web requires two software
`components. Electronic publishers must run HyperText
`Transfer Protocol (HTTP) server software. Users scanning
`or searching on the Internet must use Web browser software.
`A variety of firms including Microsoft, Oracle, Netscape
`Communications, Spyglass, Spry, Netcom, and EINet all
`distribute Web software.
`A variety of businesses are now offering information,
`some of it agate, on the Internet. One example is newspaper
`distribution on the Internet. However, the agate found in
`newspapers is at least twelve hours old. In the case of stock
`quotes, the information found usually recaps trading for the
`previous day, listing the high, low and closing prices as well
`as the number of shares traded. While this information is
`sufficient for tracking investments, investors often require
`real-time information to trade on the market.
`Other examples of businesses that offer agate information
`on the Internet are Movie Phone whose World Wide Web
`Site is WWW.777film.com and Securities APL (at
`WWW.secapl.com) which allows users to lookup individual
`stock quotes (delayed 15 minutes).
`To date, however, there is no general agate provider on the
`Web.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,848,396
`
`2
`SUMMARY OF THE INVENTION
`The present invention uses agate information to determine
`the profile of a computer user, and in particular the behav
`ioral or psychographic profile, as distinguished from the
`demographic profile, of a user. To accomplish this, the
`present invention provides (i) a data assembly for displaying
`customized agate information to a computer user, and (ii) a
`tracking and profiling member for recording user activity
`with respect to agate information displayed through the data
`assembly. Over time, the tracking and profiling member
`holds a history and/or pattern of user activity which in turn
`is interpreted as a user’s habits and/or preferences. To that
`end, a psychographic profile is inferred from the recorded
`activities in the tracking and profiling member.
`Further, the tracking and profiling member records pre
`sentation (format) preferences of the users based on user
`viewing activity. Preferences with respect to color schemes,
`text size, shapes, and the like are recorded as part of the
`psychographic profile of a user. In turn, the psychographic
`profile enables the data assembly to customize presentation
`(format) of agate information, per user, for display to the
`user.
`In the preferred embodiment, the data assembly displays
`agate information and/or advertisements (combined in a
`common screen view or separately in respective screen
`views). The advertisements (stored in an advertisement
`module, for example) are displayed to users in accordance
`with the psychographic profile of the user.
`The tracking and profiling member also records demo
`graphics of each user. As a result, the data assembly is able
`to transmit advertisements for display to users based on
`psychographic and demographic profiles of the user to
`provide targeted marketing.
`In accordance with another aspect of the present
`invention, there is a module (e.g., advertisement module)
`that records history of users viewing the advertisements. For
`each advertisement, the module records (i) number of times
`viewed by a user; (ii) number of times selected for further
`information by a user, and/or (iii) number of purchases
`initiated from display of the advertisement to a user.
`In addition, a subroutine coupled to the module performs
`a regression analysis on the recorded history of users view
`ing the ads. The subroutine refines profiles of target users
`based on the regression analysis. Preferably, the regression
`analysis weights the relative importance of psychographic
`and/or demographic characteristics of users. As such, over
`time, the advertisements become better targeted to users
`having an interest in said information (content and
`presentation/format of ad), and hence the invention method
`and apparatus provides automatic targeting of audiences
`(target users) and self-tailoring of target profiles.
`The preferred embodiment utilizes object oriented pro
`gramming techniques to provide a User Object. The User
`Object tracks user actions in a history profiling table. The
`User Object utilizes an updating routine which maintains the
`history profiling table by storing in the table an indication of
`a user’s actions, i.e., computer activities, with respect to
`displayed agate information.
`In accordance with another aspect of the present
`invention, there are Agate Objects for providing the agate
`information and a Sponsor Object. In a preferred
`embodiment, the agate information includes stock
`information, advertisements, sports statistics, weather
`reports and the like. With regard to stock information, an
`Agate Object routine receives stock data on line, parses the
`
`
`
`3
`data and makes a value-added calculation. As a result, the
`stock information is made searchable by variables such as
`price-earnings ratio, and the like.
`The Sponsor Object categorizes advertisement or other
`sponsor provided information according to content and
`presentation, including colors used, size, shape, and whether
`audio and/or video components are involved. An advertiser
`profile building routine automates the process of identifying
`colors, size, shape, and whether video and/or audio are
`involved.
`Also the Sponsor and User Objects track how many times
`each piece of advertisement information is shown to, is
`selected by and/or spawns a purchase by users. In other
`words, the Sponsor and User Objects track performance of
`sponsor provided information, especially advertisements. In
`the preferred embodiment, a performance routine employs
`regression techniques to provide performance reports. The
`performance routine may also be run (executed) remotely by
`suppliers of the advertisement information.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The foregoing and other objects, features and advantages
`of the invention will be apparent from the following more
`particular description of preferred embodiments and the
`drawings in which like reference characters refer to the same
`parts throughout the different views. The drawings are not
`necessarily to scale, emphasis instead being placed upon
`illustrating the principles of the invention.
`FIG. 1 is an overview of a computer network environment
`in which the present invention is employed.
`FIG. 2 is an overview of a general embodiment of the
`present invention.
`FIGS. 3a-3g, 4a and 4b, and 5a-5d are schematic dia
`grams of a preferred embodiment.
`DETAIFED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`Illustrated in FIG. 1 is a plurality of networks 19a, 19b,
`19c. Each network 19 includes a multiplicity of digital
`processors 11,13,15,17 (e.g., PC’s, mini computers and the
`like) loosely coupled to a host processor or server 21a, 21 b,
`21 c for communication among the processors within that
`network 19. Also included in each network 19 are printers,
`facsimiles and the like. In turn, each host processor 21 is
`coupled to a communication line 23 which interconnects or
`links the networks 19a, 19b, 19c to each other to form an
`internet. That is, each of the networks 19 are themselves
`loosely coupled along a communication line 23 to enable
`access from a digital processor 11,13,15,17 of one network
`19 to a digital processor 11, 13, 15, 17 of another network
`19. In the preferred embodiment, the loose coupling of
`networks 19 is the Internet.
`Also linked to communication line 23 are various servers
`25a, 25b which provide to end users access to the Internet
`(i.e., access to potentially all other networks 19, and hence
`processors 11, 13, 15, 17 connected to the Internet). The
`present invention is a software program 31 operated on and
`connected through a server 27 to the Internet for commu
`nication among the various networks 19 and/or processors
`11, 13, 15, 17 and other end users connected through
`respective servers 25. In the preferred embodiment, the
`server 27 is a Digital Equipment Corp. Alpha server cluster
`(e.g., 2400-8000 Series), or a multiplicity of similar such
`servers. Server 27 runs Oracle 2.0 Webserver as HyperText
`Transfer Protocol (HTTP) server software to support opera
`tion of present invention program 31.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,848,396
`
`4
`Upon an end user logging onto program 31 through
`common Internet protocol, program 31 generates an initial
`screen view (commonly known as the “Home Page”) for
`display to the end user. During the user’s first visit, the initial
`screen view provides menu selections of various agate
`information (e.g., stock market data, weather, sports, etc.)
`Upon user selection (using a click of a mouse or other input
`means) of a menu item, program 31 displays corresponding
`up-to-date information. Similarly, each time the user selects
`another menu item, program 31 generates and displays
`current agate information relating to that selection.
`In addition, program 31 records the user’s selections and
`his viewing activity with respect to the agate information. In
`particular, for each piece of displayed agate information,
`program 31 records the date and time of user viewing and
`the format which the user has selected for viewing. After
`multiple sessions, a pattern of the user’s viewing actions or
`viewing habits is obtained, from the recorded activity. In
`turn, certain inferences about the user are made based on the
`user’s viewing habits and the specific pieces of agate infor
`mation he views, including content and presentation of that
`information. To that end, for each user the present invention
`program 31 creates a user profile from the agate information
`viewing habits of the user. The system then generates a
`custom Home Page, including a user’s preferred (content
`and presentation) agate information. On subsequent visits to
`program 31 (as a Website) by the user, program 31 displays
`the customized Home Page for that user instead of the initial
`Home Page.
`Based on the created user profile for a given user, program
`31 enables sponsors to better direct their advertisements and
`enables advertisements to be tailored to target users’ display
`preferences. That is, both subject matter/content and pre
`sentation of advertisements are able to be customized to the
`end user’s preferences due to the information tracked and
`recorded (i.e., the created user profile) by program 31.
`Accordingly, program 31 in its most general form has an
`agate data assembly 71, a user profiling member 73, an
`advertisement module 75 and a program controller 79 as
`illustrated in FIG. 2. The agate data assembly 71 stores the
`various agate information for user viewing. The user pro
`filing member 73 records information regarding each user,
`including a user’s identification, categories of interest and
`the user’s display preferences of each category. Advertise
`ment module 75 holds sponsor information and their
`advertisements, with a target audience profile indicated for
`each advertisement.
`Program controller 79 is a series of routines (methods) on
`Web server 27.
`The program controller 79 responds to commands (e.g.,
`log in and menu selections) transmitted over the Internet by
`an end user, and obtains the necessary information from
`agate data assembly 71, user profiling member 73 and
`advertisement module 75 to generate and display appropri
`ate screen views to the user.
`In particular, in response to user login, program controller
`79 checks with the user profiling member 73 to determine
`whether the user has in the past logged on to program 31 or
`is a new user. In the former case, according to records in the
`user profiling member 73, the program controller 79 obtains
`preference information for that user and using agate infor
`mation from the agate data assembly 71 generates an initial
`screen view formatted according to the user’s recorded
`preferences. Program controller 79 transmits the generated
`screen view through Web server 27 for display to the user.
`In the latter case (a first time/new user), program control
`ler 79 assigns a unique users computer ID upon user login.
`
`
`
`5
`This, in turn, enables user profiling member 73 to initialize
`tracking of viewing activity of the new user immediately
`following login. Program controller 79 obtains initial agate
`information from agate data assembly 71 to display the
`Home Page to the new user. Program controller 79 also
`obtains user identification information from the user to
`assign a user name and password at the user’s convenience.
`In either case, throughout the session, program controller
`79 responds to user selections and viewing actions (screen
`formatting commands/requests, menu selections, etc.) by (i)
`using the agate data assembly 71 to obtain and display the
`requested information and (ii) using the user profiling mem
`ber 73 to record the user’s activities and thus build a
`psychographic/behavioral profile of the user.
`With respect to the advertisement module 75, program
`controller 79 obtains sponsor submitted advertisements from
`module 75 and generates a screen view formatted according
`to user preferences as determined from the psychographic
`profile in the user profiling member 73. That is, program
`controller 79 enables display of advertisements customized
`to the user, as to content and presentation (i.e., colors used,
`orientation on the screen, audio/video components, and the
`like). Program controller 79 obtains the content from the
`advertisement module 75 and the presentation details for the
`subject user from the user profiling member 73.
`In addition, for each advertisement, advertisement mod
`ule 75 (and/or user profiling member 73) records (a) the
`number of times and/or number of users to whom the
`advertisement has been displayed, (b) the number of times/
`users who have requested more information (via a click of
`a mouse on a corresponding menu selection) regarding the
`advertisement, and when possible (c) the number of pur
`chases obtained through program 31’s display of the adver
`tisement. As such, advertisement module 75 holds perfor
`mance data for each advertisement, and hence enables
`program controller 79 to provide performance reports to
`sponsors who log on to program 31. Various regression
`techniques and the like are used in the performance reports
`in a manner consistent with the state of the art.
`In the preferred embodiment, program 31 is implemented
`as an object oriented program discussed next with reference
`to FIGS. 3a through 5b. Each object is formed of data and
`subroutines (methods) for acting on the data. The data is
`preferably stored in tables and each table is formed of a
`multiplicity of records or fields of information. The infor
`mation held in a record in respective tables of the objects is
`illustrated in FIGS. 3b through 5b and discussed below with
`the details of each object. It is understood however that other
`program means, techniques, data structures and program
`designs for present invention system 31 are suitable. Thus
`the details of the preferred embodiment in FIGS. 3a through
`5b are for purposes of illustration and not limitation.
`In FIG. 3a, a set of User Objects 37 provides the func
`tional equivalent of the user profiling member 73 of FIG. 2.
`A set of Page Display Objects 35 provides the functional
`equivalent of agate data assembly 71 of FIG. 2. A set of
`Sponsor Objects 33 provides the functional equivalent of the
`advertisement module 75 of FIG. 2. The main routine 39 of
`program 31 in FIG. 3a functions similarly to the program
`controller 79 of FIG. 2 as will become apparent in the
`following discussion.
`Turning to FIG. 3a, the purpose of the set of User Objects
`37 is to identify users and maintain a user profile for each
`user. Included in the set of User Objects 37 is general
`information about users and their computers, as well as
`specific data on each computer session undertaken by the
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,848,396
`
`6
`users. In particular, for each set there is a User Object 37a.
`User Object 37a identifies a respective user by nickname
`(user chosen), password (user chosen), and optionally
`E-mail address, postal address, telephone number, credit
`card number, and the like. User Object 37a also provides
`language, geographic, demographic and lifestyle informa
`tion about the user. To accomplish this, User Object 37a
`stores a separate record for each of the above mentioned
`information, the collection of records forming the table or
`data of User Object 37a. FIG. 3b illustrates the fields or
`records of information employed by User Object 37a in the
`preferred embodiment.
`Also for each user, there is a User Computer Object 37b
`and a User Interface Object 37c. For each user’s computer,
`User Computer Object 37b provides an indication of the
`limitations and capabilities of the user’s computer system.
`For example, User Computer Object 37b lists whether the
`user’s system provides audio and/or video display, and what
`Web browser software is utilized by the user’s system. An
`outline of the table/data set of a User Computer Object 37b
`in the preferred embodiment is illustrated in FIG. 3c.
`The User Interface Object 37c provides a unique
`(preferably numeric) identifier of the user. The User Inter
`face Object 37c also provides indications of categories of
`interest to the user and a primary screen display for each
`category customized to that user. The foregoing information
`is held in records illustrated in FIG. 3d. In the preferred
`embodiment, the various categories of interest include stock
`trading portfolio, sports, news, weather, theater and televi
`sion schedules, telephone directory, travel data, classified
`ads and personals information, and the like. Display pref
`erences include orientation, color scheme, screen quadrant/
`location and the like, indicated with respect to the category
`of information. For example, one user may tend to like stock
`information displayed in tabular form on a blue background
`and weather displayed on a map scene. Another user may
`prefer stock information displayed in a running 1-line quote
`at the bottom of the screen and weather displayed in a
`tabular format by city on a green background, and so forth.
`The history of user activity with executed program 31 is
`also maintained by the set of User Objects 37 (FIG. 3a).
`Specifically for each user, a User Session Object 37d, User
`Action History Object 37e and User Viewing History Object
`37f record the following as illustrated in FIGS. 3e-3g.
`Each time a user logs on to program 31, User Session
`Object 31d records the starting date and time and ending
`date and time of the session. User Session Object 31d also
`records (a) the referring link from which the user accessed
`program 31 (e.g., a so called “bookmark” or “hyperlink”
`which effectively stores and forwards the Web site address
`of program 31), (b) the user’s identification number (e.g., as
`stored in a so called “cookie” passed by the user’s computer
`upon logging in), and (c) an indication of Web browser
`software employed by the user’s computer. FIG. 3e illus
`trates the records created by User Session Object 31d to
`accomm