WO2005057336A2 - Database structure and front end - Google Patents

Database structure and front end Download PDF

Info

Publication number
WO2005057336A2
WO2005057336A2 PCT/US2004/034015 US2004034015W WO2005057336A2 WO 2005057336 A2 WO2005057336 A2 WO 2005057336A2 US 2004034015 W US2004034015 W US 2004034015W WO 2005057336 A2 WO2005057336 A2 WO 2005057336A2
Authority
WO
WIPO (PCT)
Prior art keywords
database
data
dimensions
values
consumer
Prior art date
Application number
PCT/US2004/034015
Other languages
French (fr)
Other versions
WO2005057336A3 (en
Inventor
Dominic Bennett
Dan Hu
Original Assignee
Claria Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Claria Corporation filed Critical Claria Corporation
Priority to JP2006541161A priority Critical patent/JP2007512621A/en
Priority to EP04795209A priority patent/EP1690223A4/en
Publication of WO2005057336A2 publication Critical patent/WO2005057336A2/en
Publication of WO2005057336A3 publication Critical patent/WO2005057336A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0257User requested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]

Definitions

  • the present invention relates generally to databases, and more particularly, but not exclusively, to database structure and front ends.
  • Front ends which are application programs for interfacing with databases, may be provided to assist non-technical users in accessing the database.
  • conventional front ends get harder to use as the number of selection choices for the database increases.
  • a database for storing online advertising-related data can grow very quickly because of the large number of consumers on the Internet. If a database is not structured properly, accessing the database may take longer as more data are stored in it. As a result, reports generated from the database may also take longer. This may discourage sales and marketing personnel from generating reports, and may keep some reports from being generated on time.
  • a method of analyzing online advertising information includes the steps of receiving consumer data from client computers, creating a database based on the consumer data, receiving user selected values from a front end, and extracting data from the database based on the user selected values.
  • the front end may have a selection area with user selectable values that change depending on an initially selected value.
  • the database comprises an online analytical processing (OLAP) database.
  • FIG. 1 shows a schematic diagram of an example computer that may be used in embodiments of the present invention.
  • FIG. 2 shows a schematic diagram of a computing environment in accordance with an embodiment of the present invention.
  • FIG. 3 shows a schematic diagram of an OLAP database and a front end program in accordance with an embodiment of the present invention.
  • FIG. 4 shows a screenshot of an example layout screen in accordance with an embodiment of the present invention.
  • FIG. 5 shows a screenshot of an example filter screen in accordance with an embodiment of the present invention.
  • FIG. 6 shows a screenshot of an example report displayed in a report screen in accordance with an embodiment of the present invention.
  • FIG. 7 shows a screenshot of an example screen for a scheduler.
  • FIG. 8 shows a screenshot of an example screen for an alerts.
  • FIG. 9 shows a flow diagram of a method of generating a report in accordance with an embodiment of the present invention.
  • ком ⁇ онент may be implemented in hardware, software, or a combination of hardware and software (e.g., firmware).
  • Software components may be in the form of computer-readable program code stored in a computer-readable storage medium, such as memory, mass storage device, or removable storage device.
  • a computer-readable storage medium may comprise computer- readable program code for performing the function of a particular component.
  • computer memory may be configured to include one or more components, which may then be executed by a processor. Components may be implemented separately in multiple modules or together in a single module.
  • Embodiments of the present invention are described herein in the context of advertising delivery over the Internet. It should be understood, however, that embodiments of the present invention may be generally employed to build databases and front ends for databases.
  • Embodiments of the present invention employ a message delivery program in communication with a message server.
  • Message delivery programs and message servers are also disclosed in the following commonly-assigned disclosures, which are incorporated herein by reference in their entirety: U.S. Application No. 10/152,204, filed on May 21 , 2002, and U.S. Application No. 10/289, 123, filed on November 5, 2002.
  • FIG. 1 there is shown a schematic diagram of an example computer that may be used in embodiments of the present invention. Depending on its configuration, the computer shown in the example of FIG. 1 may be employed as a client computer or a server computer. The computer of FIG. 1 may have less or more components to meet the needs of a particular application. As shown in FIG.
  • the computer may include a processor 101 , such as those from the Intel Corporation or Advanced Micro Devices, for example.
  • the computer may have one or more buses 103 coupling its various components.
  • the computer may include one ore more input devices 102 (e.g., keyboard, mouse), a computer-readable storage medium (CRSM) 105 (e.g., floppy disk, CD-ROM), a CRSM reader 104 (e.g., floppy drive, CD-ROM drive), a display monitor 109 (e.g., cathode ray tube, flat panel display), a communications interface 106 (e.g., network adapter, modem) for coupling to a network, one or more data storage devices 107 (e.g., hard disk drive, optical drive, FLASH memory), and a main memory 108 (e.g., RAM).
  • CRSM computer-readable storage medium
  • a CRSM reader 104 e.g., floppy drive, CD-ROM drive
  • a display monitor 109
  • Software embodiments may be stored in a computer-readable storage medium 105 for reading into a data storage device 107 or main memory 108.
  • main memory 108 may be configured to include a front end program 220, which is further discussed below.
  • a front end program 220 may be executed by processor 101.
  • FIG. 2 shows a schematic diagram of a computing environment in accordance with an embodiment of the present invention.
  • websites 112 i.e., 112-1 , 112-2,...) comprise web servers accessible over the Internet.
  • a website 112 may provide news, search engines, forums, audio and video streaming, e-mail service, and so on.
  • a website 112 may provide information by way of web pages.
  • a client computer 130 may comprise a computer operated by a consumer navigating on the Internet.
  • a client computer 130 may comprise a personal computer running the Microsoft WindowsTM operating system, for example.
  • a client computer 130 may also be a portable or hand-held device, such as a laptop computer, a personal digital assistant, a digital mobile telephone, and so on.
  • a client computer 130 may include a web browser 132 to allow a consumer to view web pages on websites on the Internet.
  • a web browser 132 may be a commercially available web browser, such as the Microsoft Internet ExplorerTM web browser.
  • a web browser 132 allows a client computer 130 to receive one or more web pages from among available websites 112.
  • a client computer 130 may include a message delivery program 160.
  • a message delivery program 160 may initiate the displaying of a presentation vehicle 162 to display an advertisement 166.
  • Presentation vehicle 162 may be a browser window or a custom window.
  • presentation vehicle 162 may be a pop-up or a pop-under window.
  • a message delivery program 160 is downloadable from a message server computer 163.
  • a message delivery program 160 may be downloaded in conjunction with the downloading of another computer program.
  • a message delivery program 160 may be downloaded to a client computer 130 along with a utility program 167 that is provided to the consumer free of charge or at a reduced cost.
  • a utility program 167 may be an e-wallet or an appointment calendar, for example.
  • a utility program 167 may be provided to a consumer in exchange for the right to deliver advertisements to the consumer via a message delivery program 160. In essence, revenue from advertisements delivered to the consumer helps defray the cost of creating and maintaining the utility program 167.
  • a message delivery program 160 is a client-side program that monitors the online activity of a consumer across several websites, and reports its observations to a message server 163. It is to be noted that the mechanics of monitoring a consumer's online activity, such as determining where a consumer is navigating to, what a consumer is typing on a web page, when a consumer activates a mouse or a keyboard, when a consumer clicks on an advertisement, and the like, is, in general, known in the art and not further described here.
  • a message delivery program 160 may listen for event notifications from a web browser 132 as part of its monitoring function.
  • a message delivery program 160 may protect the consumer's privacy by maintaining the consumer's anonymity (e.g., by using a machine ID to refer to the consumer) and encrypting sensitive information, such as credit card numbers.
  • a message delivery program 160 monitors a web browser 132 for the uniform resource locator (URL) of websites visited by the consumer.
  • a message delivery program 160 also keeps track of the number of impressions (i.e., displaying) of an advertisement 166 in the client computer 130, as well as the number of times the consumer clicked on an advertisement 166.
  • a message delivery program 160 may periodically provide a data packet 168 containing its observations to a message server 163. Data provided by a message delivery program 160 to a message server 163 are also referred to as "consumer data.” Consumer data thus include information on the websites visited by a consumer, URLs of web pages viewed by the consumer, the number of impressions of advertisements in the consumer's client computer, and the number of times the consumer clicked on advertisements.
  • a client-side program such as a message delivery program 160, allows for web-wide monitoring of consumer online activities. Unlike a website, which can only monitor consumer behavior on the website or related websites, a message delivery program 160 can advantageously collect consumer data across multiple, un-related websites. Consumer data collected by a message server 163 from a large number of message delivery programs 160 are thus good indicators of consumer need, as well as the effectiveness of an advertising campaign.
  • a message server 163 may comprise a server computer in communication with a message delivery program 160. Note that a message server 163 typically works in conjunction with a plurality of client computers 130, each having a message delivery program 160; only one client computer 130 is shown in FIG. 2 for clarity of illustration.
  • Message server 163 may include a data warehouse 171 for storing consumer data received from client computers 130.
  • Data warehouse 171 may be a commercially available database, such as those of the type available from the Oracle Corporation of Redwood Shores, California.
  • a message server 163 includes an online analytical processing (OLAP) database 174, which may also be of the type available from the Oracle Corporation.
  • OLAP online analytical processing
  • An OLAP database 174 contains a subset of consumer data from a data warehouse 171 , as well as advertising data, such as advertiser names, contracts with advertisers, advertising campaigns, and so on. As will be more apparent below, an OLAP database 174 may be structured to allow for the use of hierarchical tables that better organize advertising data and facilitate data
  • a message server 163 may include a procedure 175.
  • a procedure 175 comprises computer-readable program code for receiving dimensions and facts from a front end program 220, querying an OLAP database 174 based on the received dimensions and facts, filtering the result of the query based on the received dimensions, and providing the filtered result to the front end program 220.
  • dimensions and facts which are used herein in the context of an OLAP database cube, are further discussed below.
  • a client computer 210 may be in communication with a message server
  • a client computer 210 comprises a personal computer running the Microsoft WindowsTM operating system.
  • a client computer 210 may include a front end program 220.
  • a front end program 220 may comprise computer-readable program code for accepting dimensions and facts from a user, providing the dimensions and facts.to a procedure 175, receiving a filtered result from the procedure 175, and presenting a corresponding report to the user.
  • a front end program 220 may communicate with a procedure 175 using client-server protocol.
  • a client computer 210 may also include productivity programs 222, such as the Microsoft ExcelTM spreadsheet, Microsoft Power PointTM presentation program, Microsoft WordTM word processing program.
  • productivity programs 222 such as the Microsoft ExcelTM spreadsheet, Microsoft Power PointTM presentation program, Microsoft WordTM word processing program.
  • front end program 220 may be employed in conjunction with productivity programs 222 to display and analyze reports that are based on data extracted by a procedure 175 from an OLAP database 174.
  • an OLAP database 174 may comprise hierarchy tables 340 (i.e., 340-1 , 340-2,...), a dimensions control table 342, and a hierarchy control table 344.
  • Hierarchy tables 340 may comprise a database table configured to have dimensions and facts, with each fact being associated with a single dimension or combination of dimensions.
  • Hierarchy tables 340 are arranged in a hierarchical topology, with the lowest level hierarchy table 340 having the most number of dimensions, the next higher level hierarchy table 340 having less dimensions than the lowest hierarchy table 340, the next next higher level hierarchy table 340 having less dimensions than the next hierarchy table 340, and so on. That is, the hierarchy tables 340 may be configured as follows:
  • a second level hierarchy table may have one less dimension than the first level hierarchy table, while a third level hierarchy table may have one less dimension than the second level hierarchy table. Further note that the number of facts in each hierarchy table does not necessarily have to be different. ' . »
  • the hierarchical levels allow for faster data access in a level "n” compared to a level "n-1". That is, data can be accessed faster in the higher levels.
  • the idea is to minimize the number of rows by eliminating dimensions successively. The elimination of dimensions results in smaller tables, which results in faster data access.
  • the dimensions and facts in hierarchy tables 340 relate to online advertising.
  • the dimensions may include advertisements, campaigns, contracts, and other advertising data.
  • each advertisement may belong to one or more advertising campaigns, with each advertising campaign being associated with one or more contracts, and so on.
  • the facts may include impressions (i.e., displaying of an advertisement) and clicks on impressions.
  • impressions i.e., displaying of an advertisement
  • campaigns, contracts, or combinations thereof there may be a corresponding impressions value and clicks value.
  • a particular advertisement for a particular advertising campaign may have 2,000 impressions.
  • a particular advertising campaign with an associated contract may have resulted in 4,000 impressions and 1 ,000 clicks on the impressions.
  • the number and type of dimensions and facts, and their corresponding values may vary to meet the needs of specific applications.
  • Each hierarchy table 340 may be structured to have the facts for a particular combination of dimensions. As a particular example, assuming an exhaustive list of dimensions consists of advertisement, advertising campaign, and contract, a first (lowest) level hierarchy table 340 will include facts (e.g., impressions, clicks, or both) for the dimensions advertisement, advertising campaign, contract, or combinations thereof; a second level hierarchy table 340 will include facts for the dimensions advertisement, advertising campaign, or combinations thereof; and so on. That is, for a particular number of dimensions, there will be a hierarchy table 340 with the corresponding facts. In one embodiment, hierarchy tables 340 are manually populated using data from a data warehouse 171. Hierarchy tables 340 may also be populated using a script, for example. As can be appreciated, extracting data from a hierarchy table is generally faster than extracting data from an entire database. Hierarchy tables 340 thus provide a database structure that advantageously allows for relatively fast data access.
  • facts e.g., impressions, clicks, or both
  • a dimension in an OLAP database 174 may be one of three kinds of dimensions namely, "pull-down,” “tree,” or “free-form.”
  • a pull- down dimension may have a value that is selectable from a pull-down menu. For example, assuming “advertisement” is a pull-down dimension, the values "Ad1" for a first advertisement or "Ad2" for a second advertisement may be selected in a pull-down menu for "advertisement.”
  • a tree dimension may have a value that is selectable from a hierarchical tree structure.
  • the values “automotive” for web pages relating to automotives or “travel” for travel-related web pages may be selected in a tree structure for "category.”
  • the value "hotel” may be included as branching off the value "travel.”
  • a free-form dimension may have a value that may entered without choosing from available selections. For example, assuming "revenue” is a free-form dimension, a user may enter any revenue amount for "revenue.”
  • an OLAP database 174 may include a dimensions control table 342.
  • a dimensions control table 342 may comprise an exhaustive list of all dimensions and facts in all hierarchy tables 340, templates for constructing queries for each dimension, and a dimension look-up table.
  • the dimension look-up table is employed in embodiments where the hierarchy tables 340 refer to dimensions using identifiers other than the dimensions' actual names (e.g., using "d2345" in a hierarchy table 340 to refer to a dimension "advertisement").
  • the dimension look-up table allows for translation of an identifier to actual name, and vice versa.
  • a dimensions control table 342 may also have information on the kind of each dimension (e.g., whether a dimension is a pull-down, tree, or free-form) and conditional operators that may be used for a particular dimension.
  • An OLAP database 174 may also include a hierarchy control table 344.
  • a hierarchy control table 344 may comprise. information indicative of the data structure of the OLAP database 174.
  • a hierarchy control table 344 identifies each hierarchy table 340, the hierarchical order of the hierarchy tables 340, and the imensions included in each hierarchy table 340.
  • a hierarchy control table 344 may thus be consulted to identify the highest level hierarchy table 340 containing a particular set of dimensions and filters. Note that the highest level hierarchy table containing a particular set of dimensions and filters would advantageously have the least number of rows among hierarchy tables that also contain the set of dimensions and filters.
  • the general role of the front end is to optimally obtain that slice of the OLAP cube that contains all the data that the user is interested in viewing and displaying that slice of the OLAP cube in exactly the format that the user wishes to view.
  • the filter page allows the user to slice the OLAP cube using criteria on the dimensions.
  • the layout page allows the user to specify the format of the report.
  • a front end program 220 may comprise a user interface 360, a scheduler 374, and an alerts 376.
  • a front end program 220 is implemented using the Microsoft Visual Basic For ApplicationsTM (VBA) programming language.
  • a user interface 360 may comprise computer-readable program code for allowing a user to enter selection criteria and generate a report in accordance with the selection criteria.
  • the selection criteria may be values for dimensions and facts.
  • a user interface 360 may comprise a layout screen 362, a filter screen 363, and a report screen 364.
  • a layout screen 362 allows a user to select dimensions and facts of interest. The selected dimensions and facts will be the basis of a subsequently run report. Generally speaking, a layout screen 362 allows the user to specify the format of the report.
  • FIG. 4 shows a screenshot of an example layout screen 362 in accordance with an embodiment of the present invention.
  • an exhaustive list of all available dimensions and facts in hierarchy tables 340 is displayed in a window 410.
  • the user may select one or more available dimensions and facts from the window 410 for inclusion in selection areas 402, 404, 406, and 408.
  • selection areas 402, 406, and 408 only accept one or more dimensions, while selection area 404 only accepts facts.
  • User interface 360 enforces the rules on which item in window 410 can be placed in which selection area (i.e., dimensions can only go to selection areas 402, 406, and 408; facts can only go to selection area 404).
  • dimensions in selection area 402 are also referred to as “column edge dimensions”
  • dimensions in selection area 406 are also referred to as “row edge dimensions”
  • dimensions in selection area 408 are also referred to as “page edge dimensions.”
  • the user has selected "ByDay” as a column edge dimension, "campaign” as a row edge dimension, “advertiser” as a page edge dimension, and “impressions,” clicks", and “CTR” as facts.
  • CTR stands for click-through-rate, and is a calculated fact obtained by dividing the number of impressions with the number of clicks. Click-through-rate is a measure of the effectiveness of an advertisement.
  • User interface 360 may also employ visual cues to assist users in working with items in window 410.
  • a filter screen 363 accepts dimensions that will be used as filters to the dimensions and facts selected in a layout screen 362.
  • the general role of a front end program 220 is to optimally obtain that slice of an OLAP cube that contains all the data that the user is interested in viewing, and displaying that slice of the OLAP cube in exactly the format that the user wishes to view.
  • a filter screen 363 allows the user to slice the OLAP cube using filters on the dimensions.
  • FIG. 5 shows a screenshot of an example filter screen 363 in accordance with an embodiment of the present invention. In the example of FIG.
  • selection areas 502, 504, 506, 508, 510, and 512 are table-driven in that they accept dimensions that are selectable based on information from control tables in the OLAP database 174.
  • a front end program 220 may consult a dimensions control table 342 to determine the kind of the selected dimension and the conditional operators that may be used for the selected dimension.
  • the front end program 220 may consult a hierarchy control table 344 to determine which hierarchy table 340 to use and to perform translations between the identifier and actual name of a dimension. Dimensions that serve as possible values for the selected dimension are then displayed by a user interface 360 in selection area 512.
  • a user interface 360 In the example of FIG.
  • the user is requesting a report for the dimensions specified in a layout screen 362, but limited to a "category” that is “equal” to a category selected from “Automative,” “Business,”... etc. The user is further limiting the report to the "current month” between “10/01/2003” and "10/31/2003.”
  • the selectable values for "start date” and "end date” will be set based on the data available from the OLAP database 174.
  • the conditional operators to choose from in selection area 510 and the categories to choose from in selection area 512 are set based on data in the OLAP database 174.
  • this advantageously allows addition of more dimensions in the OLAP database 174 without necessarily having to increase the number of selection windows in the user interface 360.
  • a front end program 220 has minimal processing load to allow it to adapt to a changing OLAP database 174 and to allow it to be more portable to other databases. Accordingly, in one embodiment, a front end program 220 works in a client-server relationship with an OLAP database 174 and is driven by tables in the OLAP database 174. This advantageously obviates the need for hard coding of available dimensions in the front end program 220 and offloads the processing burden to the OLAP database 174 (which may be running in a relatively fast server computer). For example, the front end program 220 may receive a dimensions control table 342 and display the exhaustive list of dimensions and facts in the dimensions control table 342 in window 410 (see FIG. 4).
  • selection areas 510 and 512 are based on a value selected by a user in selection area 508 (see FIG. 5).
  • the valid values to be displayed in selection areas 510 and 512 may be determined from a dimensions control table 342 and a hierarchy control table 344.
  • a front end program that offloads the majority of processing to a server computer is especially important in online advertising. Unlike in mail order or catalog advertising applications, advertisement delivery over the Internet is essentially free in that an advertiser can send additional advertisements without
  • a front end program 220 advantageously allows a client computer to access large amounts of data by using a back end server to do the "heavy lifting.” This will have the desirable effect of scalability by essentially scaling the back end as opposed to being reliant on client computer resources (which in many ways are outside the control of the programmer). This also allows for robust programming and the ability to retrieve data even with relatively old or low capacity client computers.
  • a report screen 364 provides a report based on the dimensions and facts selected by a user in a layout screen 362 as filtered by the dimensions the user selected in a filter screen 363.
  • a front end program 220 may provide the selected dimensions and facts to a procedure 175 in a message server 163 (see FIG. 2).
  • the procedure 175 may then query an OLAP database 174, filter the result of the query using the dimensions selected in the filter screen 363, and provide the result to the front end program 220.
  • the result may be viewed in a report screen 364.
  • FIG. 6 shows a screenshot of an example report 600 displayed in a report screen 364 in accordance with an embodiment of the present invention. In the example of FIG.
  • the report screen 364 shows the impressions, clicks, and CTR for the advertiser "Accucard.”
  • a user may select a different view of the report by selecting another view in the navigation window 604.
  • the dimensions and facts for a report may be saved as a "view.”
  • save views may be rerun to take advantage of new data in an OLAP database 174.
  • the dimensions for the report may be further configured by specifying new dimensions.
  • An OLAP database 174 may have to be re-queried if the saved view does not include the data for the new dimensions, or if the user elects to rerun the view.
  • new values for the dimension "ByDay" may be selected from a pull-down menu 602.
  • a report may also be pivoted to show a different view. For example, a report may be pivoted by replacing one dimension with another.
  • a scheduler 374 may comprise computer-readable program code for scheduling report generation. Scheduler 374 may run reports based on a previously saved view, which comprise dimensions and facts selected by a user in a layout screen 362 and a filter screen 363. A scheduler 374 may be configured to generate a report at a certain frequency, for a certain period of time. A scheduler 374 may also be configured to save the generated reports in a format supported by productivity programs 222 (e.g., saved in Excel format), and email the generated report to the user. The mechanics of converting data formats and emailing are, in general, known in the art and not further described here. FIG. 7 shows a screenshot of an example screen 710 for a scheduler 374.
  • An alerts 376 may comprise computer-readable program code for alerting a user about changes in the data stored in an OLAP database 174.
  • 376 may run a report based on dimensions and facts selected by a user in a layout screen 362 as filtered by dimensions the user selected in a filter screen
  • FIG. 8 shows a screenshot of an example screen for an alerts 376.
  • the user has requested to be alerted in the event the number of impressions for a specified set of dimensions (not shown) have decreased by 10% in a rolling 7-day average.
  • an alerts 376 may be employed to automatically watch for trends.
  • a procedure for an OLAP database receives dimensions selected by a user.
  • the dimensions may relate to online advertising.
  • the dimensions may be selected by making selections or entering values in a front end program for the OLAP database.
  • step 904 the procedure checks a hierarchy control table for the highest level hierarchy table (referred to as "relevant hierarchy table") containing all of the selected dimensions.
  • the procedure may consult a dimensions control table to get the name of the relevant hierarchy table.
  • the procedure creates a query to extract dimensions and facts from the hierarchy table.
  • a general algorithm to construct a SQL query is shown in Table 1 :
  • the procedure may enforce filter rules on the result of the query.
  • the filter rules may be based on dimensions selected by the user in a filter screen of the front end program.
  • the result of a query is filtered by applying a "where condition” and a "select statement.”
  • 5" may refer to a specific advertiser, such as Vendor, Inc.
  • 7 may refer to a specific message type, such as a pop-up
  • the procedure may forward the filtered result of the OLAP database query to the front end program, which then formats the result for presentation to the user as a report.

Abstract

In one embodiment, a method of analyzing online advertising information includes the steps of receiving consumer data from client computers (130), creating a database (174) based on the consumer data, receiving user selected values from a front end (220), and extracting data from the database (174) based on the user selected values. The front end (220) may have a selection area with user selectable values that change depending on an initially selected value. In one embodiment, the database (174) comprises an online analytical processing (OLAP) database.

Description

DATABASE STRUCTURE AND FRONT END
BACKGROUND OF THE INVENTION
1. Field Of The Invention
The present invention relates generally to databases, and more particularly, but not exclusively, to database structure and front ends.
2. Description Of The Background Art
Large public computer networks, such as the Internet, allow advertisers to reach a worldwide audience twenty-four hours a day, seven days a week. This has made large public networks a cost-effective medium for marketing and selling products (e.g., goods and services). On the Internet, for example, advertising revenues allow companies to distribute free software or provide free access to websites. Needless to say, advertising helps fuel the Internet economy.
In order to provide relevant advertisements to consumers, companies engaged in online advertising maintain databases of advertising-related data. Such databases need to be accessed by sales and marketing personnel as they are the ones who typically plan and implement advertising campaigns. Unfortunately, some sales and marketing personnel are non-technical, and thus have difficulty working with the database. Front ends, which are application programs for interfacing with databases, may be provided to assist non-technical users in accessing the database. However, conventional front ends get harder to use as the number of selection choices for the database increases.
A database for storing online advertising-related data can grow very quickly because of the large number of consumers on the Internet. If a database is not structured properly, accessing the database may take longer as more data are stored in it. As a result, reports generated from the database may also take longer. This may discourage sales and marketing personnel from generating reports, and may keep some reports from being generated on time.
From the foregoing, an improved database structure and front end are generally desirable.
SUMMARY
In one embodiment, a method of analyzing online advertising information includes the steps of receiving consumer data from client computers, creating a database based on the consumer data, receiving user selected values from a front end, and extracting data from the database based on the user selected values. The front end may have a selection area with user selectable values that change depending on an initially selected value. In one embodiment, the database comprises an online analytical processing (OLAP) database.
These and other features of the present invention will be readily apparent to persons of ordinary skill in the art upon reading the entirety of this disclosure, which includes the accompanying drawings and claims.
DESCRIPTION OF THE DRAWINGS FIG. 1 shows a schematic diagram of an example computer that may be used in embodiments of the present invention.
FIG. 2 shows a schematic diagram of a computing environment in accordance with an embodiment of the present invention. FIG. 3 shows a schematic diagram of an OLAP database and a front end program in accordance with an embodiment of the present invention.
FIG. 4 shows a screenshot of an example layout screen in accordance with an embodiment of the present invention.
FIG. 5 shows a screenshot of an example filter screen in accordance with an embodiment of the present invention.
FIG. 6 shows a screenshot of an example report displayed in a report screen in accordance with an embodiment of the present invention.
FIG. 7 shows a screenshot of an example screen for a scheduler.
FIG. 8 shows a screenshot of an example screen for an alerts. FIG. 9 shows a flow diagram of a method of generating a report in accordance with an embodiment of the present invention.
The use of the same reference label in different drawings indicates the same or like components.
DETAILED DESCRIPTION In the present disclosure, numerous specific details are provided such as examples of apparatus, components, and methods to provide a thorough understanding of embodiments of the invention. Persons of ordinary skill in the art will recognize, however, that the invention can be practiced without one or more of the specific details. In other instances, well-known details are not shown or described to avoid obscuring aspects of the invention.
Being computer-related, it can be appreciated that the components disclosed herein may be implemented in hardware, software, or a combination of hardware and software (e.g., firmware). Software components may be in the form of computer-readable program code stored in a computer-readable storage medium, such as memory, mass storage device, or removable storage device. For example, a computer-readable storage medium may comprise computer- readable program code for performing the function of a particular component. Likewise, computer memory may be configured to include one or more components, which may then be executed by a processor. Components may be implemented separately in multiple modules or together in a single module.
Embodiments of the present invention are described herein in the context of advertising delivery over the Internet. It should be understood, however, that embodiments of the present invention may be generally employed to build databases and front ends for databases.
Embodiments of the present invention employ a message delivery program in communication with a message server. Message delivery programs and message servers are also disclosed in the following commonly-assigned disclosures, which are incorporated herein by reference in their entirety: U.S. Application No. 10/152,204, filed on May 21 , 2002, and U.S. Application No. 10/289, 123, filed on November 5, 2002. Referring now to FIG. 1 , there is shown a schematic diagram of an example computer that may be used in embodiments of the present invention. Depending on its configuration, the computer shown in the example of FIG. 1 may be employed as a client computer or a server computer. The computer of FIG. 1 may have less or more components to meet the needs of a particular application. As shown in FIG. 1 , the computer may include a processor 101 , such as those from the Intel Corporation or Advanced Micro Devices, for example. The computer may have one or more buses 103 coupling its various components. The computer may include one ore more input devices 102 (e.g., keyboard, mouse), a computer-readable storage medium (CRSM) 105 (e.g., floppy disk, CD-ROM), a CRSM reader 104 (e.g., floppy drive, CD-ROM drive), a display monitor 109 (e.g., cathode ray tube, flat panel display), a communications interface 106 (e.g., network adapter, modem) for coupling to a network, one or more data storage devices 107 (e.g., hard disk drive, optical drive, FLASH memory), and a main memory 108 (e.g., RAM). Software embodiments may be stored in a computer-readable storage medium 105 for reading into a data storage device 107 or main memory 108. In the example of FIG. 1 , main memory 108 may be configured to include a front end program 220, which is further discussed below. A front end program 220 may be executed by processor 101.
FIG. 2 shows a schematic diagram of a computing environment in accordance with an embodiment of the present invention. In the example of FIG. 2, websites 112 (i.e., 112-1 , 112-2,...) comprise web servers accessible over the Internet. A website 112 may provide news, search engines, forums, audio and video streaming, e-mail service, and so on. A website 112 may provide information by way of web pages.
A client computer 130 may comprise a computer operated by a consumer navigating on the Internet. A client computer 130 may comprise a personal computer running the Microsoft Windows™ operating system, for example. Depending on the application, a client computer 130 may also be a portable or hand-held device, such as a laptop computer, a personal digital assistant, a digital mobile telephone, and so on. A client computer 130 may include a web browser 132 to allow a consumer to view web pages on websites on the Internet. A web browser 132 may be a commercially available web browser, such as the Microsoft Internet Explorer™ web browser. A web browser 132 allows a client computer 130 to receive one or more web pages from among available websites 112.
A client computer 130 may include a message delivery program 160. A message delivery program 160 may initiate the displaying of a presentation vehicle 162 to display an advertisement 166. Presentation vehicle 162 may be a browser window or a custom window. For example, presentation vehicle 162 may be a pop-up or a pop-under window. In one embodiment, a message delivery program 160 is downloadable from a message server computer 163. A message delivery program 160 may be downloaded in conjunction with the downloading of another computer program. For example, a message delivery program 160 may be downloaded to a client computer 130 along with a utility program 167 that is provided to the consumer free of charge or at a reduced cost. A utility program 167 may be an e-wallet or an appointment calendar, for example. A utility program 167 may be provided to a consumer in exchange for the right to deliver advertisements to the consumer via a message delivery program 160. In essence, revenue from advertisements delivered to the consumer helps defray the cost of creating and maintaining the utility program 167.
In one embodiment, a message delivery program 160 is a client-side program that monitors the online activity of a consumer across several websites, and reports its observations to a message server 163. It is to be noted that the mechanics of monitoring a consumer's online activity, such as determining where a consumer is navigating to, what a consumer is typing on a web page, when a consumer activates a mouse or a keyboard, when a consumer clicks on an advertisement, and the like, is, in general, known in the art and not further described here. For example, a message delivery program 160 may listen for event notifications from a web browser 132 as part of its monitoring function. A message delivery program 160 may protect the consumer's privacy by maintaining the consumer's anonymity (e.g., by using a machine ID to refer to the consumer) and encrypting sensitive information, such as credit card numbers.
In one embodiment, a message delivery program 160 monitors a web browser 132 for the uniform resource locator (URL) of websites visited by the consumer. A message delivery program 160 also keeps track of the number of impressions (i.e., displaying) of an advertisement 166 in the client computer 130, as well as the number of times the consumer clicked on an advertisement 166. A message delivery program 160 may periodically provide a data packet 168 containing its observations to a message server 163. Data provided by a message delivery program 160 to a message server 163 are also referred to as "consumer data." Consumer data thus include information on the websites visited by a consumer, URLs of web pages viewed by the consumer, the number of impressions of advertisements in the consumer's client computer, and the number of times the consumer clicked on advertisements.
A client-side program, such as a message delivery program 160, allows for web-wide monitoring of consumer online activities. Unlike a website, which can only monitor consumer behavior on the website or related websites, a message delivery program 160 can advantageously collect consumer data across multiple, un-related websites. Consumer data collected by a message server 163 from a large number of message delivery programs 160 are thus good indicators of consumer need, as well as the effectiveness of an advertising campaign.
A message server 163 may comprise a server computer in communication with a message delivery program 160. Note that a message server 163 typically works in conjunction with a plurality of client computers 130, each having a message delivery program 160; only one client computer 130 is shown in FIG. 2 for clarity of illustration. Message server 163 may include a data warehouse 171 for storing consumer data received from client computers 130. Data warehouse 171 may be a commercially available database, such as those of the type available from the Oracle Corporation of Redwood Shores, California. In one embodiment, a message server 163 includes an online analytical processing (OLAP) database 174, which may also be of the type available from the Oracle Corporation. An OLAP database 174 contains a subset of consumer data from a data warehouse 171 , as well as advertising data, such as advertiser names, contracts with advertisers, advertising campaigns, and so on. As will be more apparent below, an OLAP database 174 may be structured to allow for the use of hierarchical tables that better organize advertising data and facilitate data
access.
Still referring to FIG. 2, a message server 163 may include a procedure 175. In one embodiment, a procedure 175 comprises computer-readable program code for receiving dimensions and facts from a front end program 220, querying an OLAP database 174 based on the received dimensions and facts, filtering the result of the query based on the received dimensions, and providing the filtered result to the front end program 220. The terms "dimensions" and "facts," which are used herein in the context of an OLAP database cube, are further discussed below.
A client computer 210 may be in communication with a message server
163. In one embodiment, a client computer 210 comprises a personal computer running the Microsoft Windows™ operating system. A client computer 210 may include a front end program 220. A front end program 220 may comprise computer-readable program code for accepting dimensions and facts from a user, providing the dimensions and facts.to a procedure 175, receiving a filtered result from the procedure 175, and presenting a corresponding report to the user. A front end program 220 may communicate with a procedure 175 using client-server protocol. A client computer 210 may also include productivity programs 222, such as the Microsoft Excel™ spreadsheet, Microsoft Power Point™ presentation program, Microsoft Word™ word processing program. A
front end program 220 may be employed in conjunction with productivity programs 222 to display and analyze reports that are based on data extracted by a procedure 175 from an OLAP database 174.
Turning now to FIG. 3, there is shown a schematic diagram of an OLAP database 74 and a front end program 220 in accordance with an embodiment of the present invention. As shown in FIG. 3, an OLAP database 174 may comprise hierarchy tables 340 (i.e., 340-1 , 340-2,...), a dimensions control table 342, and a hierarchy control table 344. Hierarchy tables 340 may comprise a database table configured to have dimensions and facts, with each fact being associated with a single dimension or combination of dimensions. Hierarchy tables 340 are arranged in a hierarchical topology, with the lowest level hierarchy table 340 having the most number of dimensions, the next higher level hierarchy table 340 having less dimensions than the lowest hierarchy table 340, the next next higher level hierarchy table 340 having less dimensions than the next hierarchy table 340, and so on. That is, the hierarchy tables 340 may be configured as follows:
(1) First level (lowest level) hierarchy table: Dimension-i, Dimension^....Dimensionn; Fact], Fact2,...Factk.
(2) Second level hierarchy table:
Dimension-i, Dimension2 Dimensionn-ι; Fact-i, Fact2,...Factk.
(3) Third level hierarchy table: Dimension-i, Dimension^....Dimensionn-2; Fact-i, Fact2,...Factk
and so on. Note that a second level hierarchy table may have one less dimension than the first level hierarchy table, while a third level hierarchy table may have one less dimension than the second level hierarchy table. Further note that the number of facts in each hierarchy table does not necessarily have to be different. ' . »
The hierarchical levels allow for faster data access in a level "n" compared to a level "n-1". That is, data can be accessed faster in the higher levels. The idea is to minimize the number of rows by eliminating dimensions successively. The elimination of dimensions results in smaller tables, which results in faster data access.
In one embodiment, the dimensions and facts in hierarchy tables 340 relate to online advertising. The dimensions may include advertisements, campaigns, contracts, and other advertising data. As a further example, each advertisement may belong to one or more advertising campaigns, with each advertising campaign being associated with one or more contracts, and so on. The facts may include impressions (i.e., displaying of an advertisement) and clicks on impressions. Thus, for each particular value of advertisement, campaigns, contracts, or combinations thereof there may be a corresponding impressions value and clicks value. For example, a particular advertisement for a particular advertising campaign may have 2,000 impressions. As another example, a particular advertising campaign with an associated contract may have resulted in 4,000 impressions and 1 ,000 clicks on the impressions. Of course, the number and type of dimensions and facts, and their corresponding values, may vary to meet the needs of specific applications.
Each hierarchy table 340 may be structured to have the facts for a particular combination of dimensions. As a particular example, assuming an exhaustive list of dimensions consists of advertisement, advertising campaign, and contract, a first (lowest) level hierarchy table 340 will include facts (e.g., impressions, clicks, or both) for the dimensions advertisement, advertising campaign, contract, or combinations thereof; a second level hierarchy table 340 will include facts for the dimensions advertisement, advertising campaign, or combinations thereof; and so on. That is, for a particular number of dimensions, there will be a hierarchy table 340 with the corresponding facts. In one embodiment, hierarchy tables 340 are manually populated using data from a data warehouse 171. Hierarchy tables 340 may also be populated using a script, for example. As can be appreciated, extracting data from a hierarchy table is generally faster than extracting data from an entire database. Hierarchy tables 340 thus provide a database structure that advantageously allows for relatively fast data access.
We need to communicate that the front end is "thought" about the exhaustive list of all dimensions and facts, the relationship between each dimension (i.e. the hierarchy), the table names of each level of aggregation and the dimensions available in each aggregate table, the type of each dimension i.e. free form, tree or list box by using control tables.
In one embodiment, a dimension in an OLAP database 174 may be one of three kinds of dimensions namely, "pull-down," "tree," or "free-form." A pull- down dimension may have a value that is selectable from a pull-down menu. For example, assuming "advertisement" is a pull-down dimension, the values "Ad1" for a first advertisement or "Ad2" for a second advertisement may be selected in a pull-down menu for "advertisement." A tree dimension may have a value that is selectable from a hierarchical tree structure. For example, assuming "category" is a tree dimension, the values "automotive" for web pages relating to automotives or "travel" for travel-related web pages may be selected in a tree structure for "category." In the tree structure, the value "hotel" may be included as branching off the value "travel." A free-form dimension may have a value that may entered without choosing from available selections. For example, assuming "revenue" is a free-form dimension, a user may enter any revenue amount for "revenue."
As shown in FIG. 3, an OLAP database 174 may include a dimensions control table 342. A dimensions control table 342 may comprise an exhaustive list of all dimensions and facts in all hierarchy tables 340, templates for constructing queries for each dimension, and a dimension look-up table. The dimension look-up table is employed in embodiments where the hierarchy tables 340 refer to dimensions using identifiers other than the dimensions' actual names (e.g., using "d2345" in a hierarchy table 340 to refer to a dimension "advertisement"). The dimension look-up table allows for translation of an identifier to actual name, and vice versa. A dimensions control table 342 may also have information on the kind of each dimension (e.g., whether a dimension is a pull-down, tree, or free-form) and conditional operators that may be used for a particular dimension. An OLAP database 174 may also include a hierarchy control table 344. A hierarchy control table 344 may comprise. information indicative of the data structure of the OLAP database 174. In one embodiment, a hierarchy control table 344 identifies each hierarchy table 340, the hierarchical order of the hierarchy tables 340, and the imensions included in each hierarchy table 340. A hierarchy control table 344 may thus be consulted to identify the highest level hierarchy table 340 containing a particular set of dimensions and filters. Note that the highest level hierarchy table containing a particular set of dimensions and filters would advantageously have the least number of rows among hierarchy tables that also contain the set of dimensions and filters.
The general role of the front end is to optimally obtain that slice of the OLAP cube that contains all the data that the user is interested in viewing and displaying that slice of the OLAP cube in exactly the format that the user wishes to view. The filter page allows the user to slice the OLAP cube using criteria on the dimensions. The layout page allows the user to specify the format of the report.
Still referring to FIG. 3, a front end program 220 may comprise a user interface 360, a scheduler 374, and an alerts 376. In one embodiment, a front end program 220 is implemented using the Microsoft Visual Basic For Applications™ (VBA) programming language. A user interface 360 may comprise computer-readable program code for allowing a user to enter selection criteria and generate a report in accordance with the selection criteria. The selection criteria may be values for dimensions and facts. A user interface 360 may comprise a layout screen 362, a filter screen 363, and a report screen 364. A layout screen 362 allows a user to select dimensions and facts of interest. The selected dimensions and facts will be the basis of a subsequently run report. Generally speaking, a layout screen 362 allows the user to specify the format of the report. FIG. 4 shows a screenshot of an example layout screen 362 in accordance with an embodiment of the present invention. In the example of FIG. 4, an exhaustive list of all available dimensions and facts in hierarchy tables 340 is displayed in a window 410. The user may select one or more available dimensions and facts from the window 410 for inclusion in selection areas 402, 404, 406, and 408. In the example of FIG. 4, selection areas 402, 406, and 408 only accept one or more dimensions, while selection area 404 only accepts facts. User interface 360 enforces the rules on which item in window 410 can be placed in which selection area (i.e., dimensions can only go to selection areas 402, 406, and 408; facts can only go to selection area 404). In accordance with standard OLAP terminology, dimensions in selection area 402 are also referred to as "column edge dimensions," dimensions in selection area 406 are also referred to as "row edge dimensions," and dimensions in selection area 408 are also referred to as "page edge dimensions." In the example of FIG. 4, the user has selected "ByDay" as a column edge dimension, "campaign" as a row edge dimension, "advertiser" as a page edge dimension, and "impressions," clicks", and "CTR" as facts. "CTR" stands for click-through-rate, and is a calculated fact obtained by dividing the number of impressions with the number of clicks. Click-through-rate is a measure of the effectiveness of an advertisement. User interface 360 may also employ visual cues to assist users in working with items in window 410. A filter screen 363 accepts dimensions that will be used as filters to the dimensions and facts selected in a layout screen 362. The general role of a front end program 220 is to optimally obtain that slice of an OLAP cube that contains all the data that the user is interested in viewing, and displaying that slice of the OLAP cube in exactly the format that the user wishes to view. In that regard, a filter screen 363 allows the user to slice the OLAP cube using filters on the dimensions. FIG. 5 shows a screenshot of an example filter screen 363 in accordance with an embodiment of the present invention. In the example of FIG. 5, selection areas 502, 504, 506, 508, 510, and 512 are table-driven in that they accept dimensions that are selectable based on information from control tables in the OLAP database 174. For example, once the user selects a dimension for selection area 508, a front end program 220 may consult a dimensions control table 342 to determine the kind of the selected dimension and the conditional operators that may be used for the selected dimension. The front end program 220 may consult a hierarchy control table 344 to determine which hierarchy table 340 to use and to perform translations between the identifier and actual name of a dimension. Dimensions that serve as possible values for the selected dimension are then displayed by a user interface 360 in selection area 512. In the example of FIG. 5, the user is requesting a report for the dimensions specified in a layout screen 362, but limited to a "category" that is "equal" to a category selected from "Automative," "Business,"... etc. The user is further limiting the report to the "current month" between "10/01/2003" and "10/31/2003." Note that once the user selects a "date range," the selectable values for "start date" and "end date" will be set based on the data available from the OLAP database 174. Similarly, once the user selects "category" in selection area 508, the conditional operators to choose from in selection area 510 and the categories to choose from in selection area 512 are set based on data in the OLAP database 174. As can be appreciated, this advantageously allows addition of more dimensions in the OLAP database 174 without necessarily having to increase the number of selection windows in the user interface 360.
In one embodiment, a front end program 220 has minimal processing load to allow it to adapt to a changing OLAP database 174 and to allow it to be more portable to other databases. Accordingly, in one embodiment, a front end program 220 works in a client-server relationship with an OLAP database 174 and is driven by tables in the OLAP database 174. This advantageously obviates the need for hard coding of available dimensions in the front end program 220 and offloads the processing burden to the OLAP database 174 (which may be running in a relatively fast server computer). For example, the front end program 220 may receive a dimensions control table 342 and display the exhaustive list of dimensions and facts in the dimensions control table 342 in window 410 (see FIG. 4).
As a further example, the values selectable from selection areas 510 and
512 are based on a value selected by a user in selection area 508 (see FIG. 5). The valid values to be displayed in selection areas 510 and 512 may be determined from a dimensions control table 342 and a hierarchy control table 344.
A front end program that offloads the majority of processing to a server computer is especially important in online advertising. Unlike in mail order or catalog advertising applications, advertisement delivery over the Internet is essentially free in that an advertiser can send additional advertisements without
incurring substantial additional cost. This results in a relatively large volume of impression data. A front end program 220 advantageously allows a client computer to access large amounts of data by using a back end server to do the "heavy lifting." This will have the desirable effect of scalability by essentially scaling the back end as opposed to being reliant on client computer resources (which in many ways are outside the control of the programmer). This also allows for robust programming and the ability to retrieve data even with relatively old or low capacity client computers.
A report screen 364 provides a report based on the dimensions and facts selected by a user in a layout screen 362 as filtered by the dimensions the user selected in a filter screen 363. A front end program 220 may provide the selected dimensions and facts to a procedure 175 in a message server 163 (see FIG. 2). The procedure 175 may then query an OLAP database 174, filter the result of the query using the dimensions selected in the filter screen 363, and provide the result to the front end program 220. The result may be viewed in a report screen 364. FIG. 6 shows a screenshot of an example report 600 displayed in a report screen 364 in accordance with an embodiment of the present invention. In the example of FIG. 6, the report screen 364 shows the impressions, clicks, and CTR for the advertiser "Accucard." A user may select a different view of the report by selecting another view in the navigation window 604. The dimensions and facts for a report may be saved as a "view." As will be further explained below, save views may be rerun to take advantage of new data in an OLAP database 174. The dimensions for the report may be further configured by specifying new dimensions. An OLAP database 174 may have to be re-queried if the saved view does not include the data for the new dimensions, or if the user elects to rerun the view. In the example of FIG. 6, new values for the dimension "ByDay" may be selected from a pull-down menu 602. A report may also be pivoted to show a different view. For example, a report may be pivoted by replacing one dimension with another.
A scheduler 374 may comprise computer-readable program code for scheduling report generation. Scheduler 374 may run reports based on a previously saved view, which comprise dimensions and facts selected by a user in a layout screen 362 and a filter screen 363. A scheduler 374 may be configured to generate a report at a certain frequency, for a certain period of time. A scheduler 374 may also be configured to save the generated reports in a format supported by productivity programs 222 (e.g., saved in Excel format), and email the generated report to the user. The mechanics of converting data formats and emailing are, in general, known in the art and not further described here. FIG. 7 shows a screenshot of an example screen 710 for a scheduler 374.
An alerts 376 may comprise computer-readable program code for alerting a user about changes in the data stored in an OLAP database 174. An alerts
376 may run a report based on dimensions and facts selected by a user in a layout screen 362 as filtered by dimensions the user selected in a filter screen
363. Thereafter, the alerts 376 may compare the generated report to the alert conditions specified by the user. If the result meets the alert conditions, the alerts 376 may so inform the user. FIG. 8 shows a screenshot of an example screen for an alerts 376. In the example of FIG. 8, the user has requested to be alerted in the event the number of impressions for a specified set of dimensions (not shown) have decreased by 10% in a rolling 7-day average. As can be appreciated, an alerts 376 may be employed to automatically watch for trends.
Turning to FIG. 9, there is shown a flow diagram of a method of generating a report in accordance with an embodiment of the present invention. In step 902, a procedure for an OLAP database receives dimensions selected by a user. The dimensions may relate to online advertising. The dimensions may be selected by making selections or entering values in a front end program for the OLAP database.
In step 904, the procedure checks a hierarchy control table for the highest level hierarchy table (referred to as "relevant hierarchy table") containing all of the selected dimensions. In step 906, the procedure may consult a dimensions control table to get the name of the relevant hierarchy table. In step 908, the procedure creates a query to extract dimensions and facts from the hierarchy table. A general algorithm to construct a SQL query is shown in Table 1 :
TABLE 1
1 ) Construct a where clause using the filters set. a. Convert each of the filter elements into Ids (identifications) using the lookup tables. In the aggregate tables, the filter values are stored as Ids. This allows for a compact storage of long descriptive names. Hence the query string for the OLAP table itself has to be constructed using jds rather than the descriptive elements that the user sets in the filter. b. Construct a where clause with the converted filter ID values i. Use the OR condition to choose for ID values within each line ii. Use the AND condition to choose across different dimensions e.g. (diml = valuel or diml = value2 ) and (dim2 = vaiue3 or dim3 = value4) 2) Construct the select statement using the dimensions and facts in the layout 3) Construct the group by statement using the dimensions in the layout 4) Construct the order by statement using the default sort order for each dimension in the layout. The default sort order is stored in the dimension lookup table. 5) Construct the from statement using the table name that contains the highest level of aggregation that contains all the dimensions and facts that are called for in the filters and in the layout.
In step 910, the procedure may enforce filter rules on the result of the query. The filter rules may be based on dimensions selected by the user in a filter screen of the front end program. In one embodiment, the result of a query is filtered by applying a "where condition" and a "select statement." The "where condition" may specify the data to be extracted from the relevant hierarchy table. For example, the pseudo code: select from "relevant_hierarchy_table"; where advertiser=5 and message_type=7;
extracts facts for the dimension advertiser with a value of "5" ("5" may refer to a specific advertiser, such as Vendor, Inc.) and the dimension message ype with a value of "7" (again, "7" may refer to a specific message type, such as a pop-up) from the relevant hierarchy table.
The procedure may forward the filtered result of the OLAP database query to the front end program, which then formats the result for presentation to the user as a report.
While specific embodiments of the present invention have been provided, it is to be understood that these embodiments are for illustration purposes and not limiting. Many additional embodiments will be apparent to persons of ordinary skill in the art reading this disclosure.

Claims

CLAIMSWhat is claimed is:
1. A method of analyzing online advertising information, the method comprising: receiving consumer data from client computers; creating a database based on the consumer data; receiving user selected values from a front end, the front end having a selection area with user selectable values that change depending on an initially selected value; and extracting data from the database based on the user selected values.
2. The method of claim 1 wherein each of the plurality of hierarchical tables comprises dimensions and facts, and wherein the facts are partly from the consumer data.
3. The method of claim 1 wherein the consumer data comprise a number of impressions of an advertisement.
4. The method of claim 1 wherein the consumer data comprise a number of clicks on an advertisement.
5. The method of claim 1 wherein the database comprises an online analytical processing (OLAP) database.
6. A front end for a database, the front end comprising: a first selection area for selecting a first value from a first set of values; and a second area for selecting a second value from a second set of values, the second set of values being automatically provided by the front end in the second selection area based on the first value, wherein the first and second values refer to values stored in a database.
7. The front end of claim 6 wherein the database comprises an online analytical processing (OLAP) database.
8. The front end of claim 6 wherein the first set of values are obtained from a hierarchy table of an online analytical processing (OLAP) database.
9. The front end of claim 6 wherein the first set of values and the second set of values comprise dimensions of an online analytical processing (OLAP) database.
10. The front end of claim 6 wherein the database comprises consumer data collected by a client program in a client computer.
11. The front end of claim 10 wherein the consumer data comprise a number of impressions of an advertisement.
12. The front end of claim 10 wherein the consumer data comprises a number of mouse clicks on an advertisement.
13. A method of generating a report, the method comprising: receiving a plurality of selected dimensions of a database from a front end, the front end having selection areas that are driven by tables of the database; determining a hierarchy table among a plurality of hierarchy tables of the database, the hierarchy table including all of the selected dimensions; extracting data from the hierarchy table to generate extracted data; filtering the extracted data using filter parameters received from the front end to generate filtered data; and providing the filtered data to a client computer running the front end.
14. The method of claim 13 wherein filtering the extracted data includes performing conditional operations on the extracted data.
15. The method of claim 13 wherein the hierarchy table includes data obtained from client programs monitoring a consumer online activity.
16. The method of claim 15 wherein the consumer online activity includes clicking on an advertisement.
17. The method of claim 13 wherein each of the plurality of hierarchy tables contains at least one dimension related to online advertising.
18. The method of claim 13 wherein the hierarchy table includes a fact relating to a number of impressions of an advertisement.
19. The method of claim 13 wherein the hierarchy table includes a fact relating to a number of clicks on an advertisement.
20. The method of claim 13 further comprising: using the filtered data to generate a report in the client computer.
PCT/US2004/034015 2003-11-25 2004-10-14 Database structure and front end WO2005057336A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006541161A JP2007512621A (en) 2003-11-25 2004-10-14 Database structure and front end
EP04795209A EP1690223A4 (en) 2003-11-25 2004-10-14 Database structure and front end

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/721,117 2003-11-25
US10/721,117 US8170912B2 (en) 2003-11-25 2003-11-25 Database structure and front end

Publications (2)

Publication Number Publication Date
WO2005057336A2 true WO2005057336A2 (en) 2005-06-23
WO2005057336A3 WO2005057336A3 (en) 2006-06-22

Family

ID=34591726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/034015 WO2005057336A2 (en) 2003-11-25 2004-10-14 Database structure and front end

Country Status (5)

Country Link
US (1) US8170912B2 (en)
EP (1) EP1690223A4 (en)
JP (1) JP2007512621A (en)
KR (1) KR20060097123A (en)
WO (1) WO2005057336A2 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101536024B (en) * 2006-10-02 2016-10-26 塞戈米特公司 Personalized consumer advertising is arranged
US20080162210A1 (en) 2006-12-28 2008-07-03 Oracle International Corporation Configurable goals in a dashborad application
US8176070B2 (en) * 2007-09-13 2012-05-08 Google Inc. Media plan managing
US8150887B1 (en) 2007-12-21 2012-04-03 Emc Corporation Identifiers for non-searchable attributes
US8171006B1 (en) 2007-12-21 2012-05-01 Emc Corporation Retrieval of searchable and non-searchable attributes
US8171054B1 (en) * 2007-12-21 2012-05-01 Emc Corporation Optimized fetching for customization object attributes
US8255426B1 (en) 2007-12-21 2012-08-28 Emc Corporation Efficient storage of non-searchable attributes
US8886745B2 (en) * 2008-04-07 2014-11-11 Qualcomm Incorporated Methods and apparatus for delivering auxiliary data to device
AU2010201495B2 (en) 2009-04-16 2012-04-12 Accenture Global Services Limited Touchpoint customization system
US9305105B2 (en) * 2009-05-26 2016-04-05 Google Inc. System and method for aggregating analytics data
US8549019B2 (en) * 2009-05-26 2013-10-01 Google Inc. Dynamically generating aggregate tables
US8751544B2 (en) * 2009-09-02 2014-06-10 Google Inc. Method and system for pivoting a multidimensional dataset
US8412719B1 (en) 2009-09-02 2013-04-02 Google Inc. Method and system for segmenting a multidimensional dataset
US8359313B2 (en) * 2009-10-20 2013-01-22 Google Inc. Extensible custom variables for tracking user traffic
US8554699B2 (en) * 2009-10-20 2013-10-08 Google Inc. Method and system for detecting anomalies in time series data
US8583584B2 (en) * 2009-10-20 2013-11-12 Google Inc. Method and system for using web analytics data for detecting anomalies
US20150213484A1 (en) * 2010-03-22 2015-07-30 Ashok Amara System and method for tracking related events
US8386497B2 (en) * 2010-09-10 2013-02-26 Business Objects Software Limited Query generation based on hierarchical filters
US9069934B1 (en) * 2011-03-01 2015-06-30 Kip Raymond Meeboer Method and system for providing electronic content to a user
US20140081903A1 (en) * 2012-09-17 2014-03-20 Salesforce.Com, Inc. Methods and systems for displaying and filtering business analytics data stored in the cloud
US9767219B2 (en) * 2014-10-27 2017-09-19 Successfactors, Inc. Automatic detection of queries missing order-by via unit test
CN107437189B (en) * 2016-05-25 2021-01-08 腾讯科技(深圳)有限公司 Promotion information releasing method, device and system
US10318319B2 (en) 2016-08-26 2019-06-11 Sap Se Two-model user interface system
US10102014B2 (en) * 2016-08-26 2018-10-16 Sap Se User interface employing nested data

Family Cites Families (398)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481741A (en) 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5734863A (en) 1986-04-14 1998-03-31 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US4977594A (en) 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5247517A (en) 1989-10-20 1993-09-21 Novell, Inc. Method and apparatus for analyzing networks
US5446919A (en) 1990-02-20 1995-08-29 Wilkins; Jeff K. Communication system and method with demographically or psychographically defined audiences
DE69020899T2 (en) 1990-09-28 1995-12-07 Hewlett Packard Co Network monitoring system and device.
US5210787A (en) * 1991-02-05 1993-05-11 Telefonaktiebolaget L M Ericsson Subscriber interrogation point
US5898434A (en) 1991-05-15 1999-04-27 Apple Computer, Inc. User interface system having programmable user interface elements
US5887133A (en) 1997-01-15 1999-03-23 Health Hero Network System and method for modifying documents sent over a communications network
DE69315969T2 (en) 1992-12-15 1998-07-30 Sun Microsystems Inc Presentation of information in a display system with transparent windows
US5956030A (en) 1993-06-11 1999-09-21 Apple Computer, Inc. Computer system with graphical user interface including windows having an identifier within a control region on the display
US5608850A (en) 1994-04-14 1997-03-04 Xerox Corporation Transporting a display object coupled to a viewpoint within or between navigable workspaces
US5724567A (en) 1994-04-25 1998-03-03 Apple Computer, Inc. System for directing relevance-ranked data objects to computer users
US5642484A (en) 1994-05-13 1997-06-24 Captive Communications, Inc. Pump top advertisement distribution and display system with performance and sales information feedback
JP3730670B2 (en) 1994-07-20 2006-01-05 富士通株式会社 Data processing device
US6604103B1 (en) 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US5627886A (en) 1994-09-22 1997-05-06 Electronic Data Systems Corporation System and method for detecting fraudulent network usage patterns using real-time network monitoring
US5717923A (en) 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5724521A (en) 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
JPH10508964A (en) 1994-11-08 1998-09-02 バーミア、テクノロジーズ、インコーポレーテッド Online service development tool with pricing function
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US6460036B1 (en) 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6029195A (en) 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5617526A (en) 1994-12-13 1997-04-01 Microsoft Corporation Operating system provided notification area for displaying visual notifications from application programs
DE69531599T2 (en) 1994-12-20 2004-06-24 Sun Microsystems, Inc., Mountain View Method and device for finding and obtaining personalized information
US5682525A (en) 1995-01-11 1997-10-28 Civix Corporation System and methods for remotely accessing a selected group of items of interest from a database
US6321208B1 (en) 1995-04-19 2001-11-20 Brightstreet.Com, Inc. Method and system for electronic distribution of product redemption coupons
US6070140A (en) 1995-06-05 2000-05-30 Tran; Bao Q. Speech recognizer
US5675510A (en) 1995-06-07 1997-10-07 Pc Meter L.P. Computer use meter and analyzer
US5710918A (en) 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5883955A (en) 1995-06-07 1999-03-16 Digital River, Inc. On-line try before you buy software distribution system
US5708780A (en) 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5761499A (en) 1995-12-21 1998-06-02 Novell, Inc. Method for managing globally distributed software components
US5812642A (en) 1995-07-12 1998-09-22 Leroy; David J. Audience response monitor and analysis system and method
US6026368A (en) 1995-07-17 2000-02-15 24/7 Media, Inc. On-line interactive system and method for providing content and advertising information to a targeted set of viewers
US6513060B1 (en) 1998-08-27 2003-01-28 Internetseer.Com Corp. System and method for monitoring informational resources
US5717860A (en) 1995-09-20 1998-02-10 Infonautics Corporation Method and apparatus for tracking the navigation path of a user on the world wide web
US5712979A (en) 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
US5812769A (en) 1995-09-20 1998-09-22 Infonautics Corporation Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
US6366933B1 (en) 1995-10-27 2002-04-02 At&T Corp. Method and apparatus for tracking and viewing changes on the web
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5930700A (en) 1995-11-29 1999-07-27 Bell Communications Research, Inc. System and method for automatically screening and directing incoming calls
US5708709A (en) 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5794210A (en) 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
WO1997026729A2 (en) 1995-12-27 1997-07-24 Robinson Gary B Automated collaborative filtering in world wide web advertising
US5745681A (en) 1996-01-11 1998-04-28 Sun Microsystems, Inc. Stateless shopping cart for the web
US5823879A (en) 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US5872850A (en) 1996-02-02 1999-02-16 Microsoft Corporation System for enabling information marketplace
US6047327A (en) 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
US5751956A (en) 1996-02-21 1998-05-12 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US5963915A (en) 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
JP3245425B2 (en) 1996-02-28 2002-01-15 グローバルメディアオンライン株式会社 Communication system that delivers messages such as advertisements to users of terminal devices
US5706502A (en) 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5901287A (en) 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
US5809242A (en) 1996-04-19 1998-09-15 Juno Online Services, L.P. Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5742769A (en) 1996-05-06 1998-04-21 Banyan Systems, Inc. Directory with options for access to and display of email addresses
US5787253A (en) 1996-05-28 1998-07-28 The Ag Group Apparatus and method of analyzing internet activity
US6014638A (en) 1996-05-29 2000-01-11 America Online, Inc. System for customizing computer displays in accordance with user preferences
US5715453A (en) 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5822526A (en) 1996-06-03 1998-10-13 Microsoft Corporation System and method for maintaining and administering email address names in a network
US6438578B1 (en) 1996-06-12 2002-08-20 Education Networks Of America System and method for generating a modified web page in response to an information request from a client computer
US5835722A (en) 1996-06-27 1998-11-10 Logon Data Corporation System to control content and prohibit certain interactive attempts by a person using a personal computer
US5832502A (en) 1996-07-02 1998-11-03 Microsoft Corporation Conversation index builder
US5920697A (en) 1996-07-11 1999-07-06 Microsoft Corporation Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing
US5794259A (en) 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
US5923845A (en) 1996-07-26 1999-07-13 Nec Corporation Integrated electronic information system
US7225142B1 (en) 1996-08-01 2007-05-29 At&T Corp. Interactive multimedia advertising and electronic commerce on a hypertext network
US5933811A (en) 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US6073241A (en) 1996-08-29 2000-06-06 C/Net, Inc. Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state
US5819047A (en) 1996-08-30 1998-10-06 At&T Corp Method for controlling resource usage by network identities
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US6253188B1 (en) 1996-09-20 2001-06-26 Thomson Newspapers, Inc. Automated interactive classified ad system for the internet
US6006252A (en) 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5958015A (en) 1996-10-29 1999-09-28 Abirnet Ltd. Network session wall passively listening to communication session, with use of access rules, stops further communication between network devices by emulating messages to the devices
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US5959621A (en) 1996-12-06 1999-09-28 Microsoft Corporation System and method for displaying data items in a ticker display pane on a client computer
US6216141B1 (en) 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US5905492A (en) 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6347398B1 (en) 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US5854897A (en) 1996-12-27 1998-12-29 Quantum Systems, Inc. Network communications marketing system
ATE355662T1 (en) 1997-01-06 2006-03-15 Bellsouth Intellect Pty Corp METHOD AND SYSTEM FOR NETWORK USAGE COLLECTION
US6052730A (en) 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US7363291B1 (en) 2002-03-29 2008-04-22 Google Inc. Methods and apparatus for increasing efficiency of electronic document delivery to users
US6076166A (en) 1997-01-17 2000-06-13 Philips Electronics North America Corporation Personalizing hospital intranet web sites
US5995597A (en) 1997-01-21 1999-11-30 Woltz; Robert Thomas E-mail processing system and method
US5961593A (en) 1997-01-22 1999-10-05 Lucent Technologies, Inc. System and method for providing anonymous personalized browsing by a proxy system in a network
US6285987B1 (en) 1997-01-22 2001-09-04 Engage, Inc. Internet advertising system
WO1998035468A2 (en) 1997-01-27 1998-08-13 Benjamin Slotznick System for delivering and displaying primary and secondary information
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6101510A (en) 1997-01-29 2000-08-08 Microsoft Corporation Web browser control for incorporating web browser functionality into application programs
US6067561A (en) 1997-02-07 2000-05-23 Hughes Electronics Corporation Electronic mail notification system and method within a hybrid network that transmits notifications via a continuous, high-speed channel
US6128663A (en) 1997-02-11 2000-10-03 Invention Depot, Inc. Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server
US6216111B1 (en) 1997-03-19 2001-04-10 Walker Digital, Llc System and method for telemarketing presentations
US5987606A (en) 1997-03-19 1999-11-16 Bascom Global Internet Services, Inc. Method and system for content filtering information retrieved from an internet computer network
US5796952A (en) 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6643696B2 (en) 1997-03-21 2003-11-04 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5996011A (en) 1997-03-25 1999-11-30 Unified Research Laboratories, Inc. System and method for filtering data received by a computer system
US6892226B1 (en) 1997-03-27 2005-05-10 Intel Corporation System for delivery of dynamic content to a client device
US6714975B1 (en) 1997-03-31 2004-03-30 International Business Machines Corporation Method for targeted advertising on the web based on accumulated self-learning data, clustering users and semantic node graph techniques
US6219648B1 (en) * 1997-03-31 2001-04-17 Sbc Technology Resources, Inc. Apparatus and method for monitoring progress of customer generated trouble tickets
US5943478A (en) 1997-04-04 1999-08-24 Flash Communications, Inc. System for immediate popup messaging across the internet
US6892354B1 (en) 1997-04-16 2005-05-10 Sony Corporation Method of advertising on line during a communication link idle time
US6144944A (en) 1997-04-24 2000-11-07 Imgis, Inc. Computer system for efficiently selecting and providing information
US6772200B1 (en) 1997-05-15 2004-08-03 Intel Corporation System for providing non-intrusive dynamic content to a client device
US6026933A (en) 1997-05-29 2000-02-22 Cosco, Inc. Step stool
US5937037A (en) 1998-01-28 1999-08-10 Broadpoint Communications, Inc. Communications system for delivering promotional messages
US6686931B1 (en) 1997-06-13 2004-02-03 Motorola, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6073105A (en) 1997-06-13 2000-06-06 Tele-Publishing, Inc. Interactive personals online network method and apparatus
AU8072798A (en) 1997-06-16 1999-01-04 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US6029141A (en) 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
US6122632A (en) 1997-07-21 2000-09-19 Convergys Customer Management Group Inc. Electronic message management system
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US5978836A (en) 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6078916A (en) 1997-08-01 2000-06-20 Culliss; Gary Method for organizing information
JP3000972B2 (en) 1997-08-18 2000-01-17 日本電気株式会社 Information providing apparatus and machine-readable recording medium recording program
US6014711A (en) 1997-08-29 2000-01-11 Nortel Networks Corporation Apparatus and method for providing electronic mail relay translation services
US6393407B1 (en) 1997-09-11 2002-05-21 Enliven, Inc. Tracking user micro-interactions with web page advertising
US6138146A (en) 1997-09-29 2000-10-24 Ericsson Inc. Electronic mail forwarding system and method
US6418471B1 (en) 1997-10-06 2002-07-09 Ncr Corporation Method for recording and reproducing the browsing activities of an individual web browser
US6119098A (en) 1997-10-14 2000-09-12 Patrice D. Guyot System and method for targeting and distributing advertisements over a distributed network
US6009410A (en) 1997-10-16 1999-12-28 At&T Corporation Method and system for presenting customized advertising to a user on the world wide web
US6134532A (en) 1997-11-14 2000-10-17 Aptex Software, Inc. System and method for optimal adaptive matching of users to most relevant entity and information in real-time
US6108799A (en) 1997-11-21 2000-08-22 International Business Machines Corporation Automated sample creation of polymorphic and non-polymorphic marcro viruses
US6324553B1 (en) 1997-11-26 2001-11-27 International Business Machines Corporation Apparatus and method for the manual selective blocking of images
US6446128B1 (en) 1997-12-01 2002-09-03 Netselector, Inc. Site access via intervening control layer
US6335963B1 (en) 1997-12-01 2002-01-01 Nortel Networks Limited System and method for providing notification of a received electronic mail message
US6052709A (en) 1997-12-23 2000-04-18 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail
US6222520B1 (en) 1997-12-31 2001-04-24 At&T Corp. Information display for a visual communication device
US6163778A (en) 1998-02-06 2000-12-19 Sun Microsystems, Inc. Probabilistic web link viability marker and web page ratings
AU769336B2 (en) 1998-02-27 2004-01-22 Beh Investments Llc System and method for building user profiles
US6199079B1 (en) 1998-03-09 2001-03-06 Junglee Corporation Method and system for automatically filling forms in an integrated network based transaction environment
US6643624B2 (en) 1998-03-09 2003-11-04 Yan Philippe Method and system for integrating transaction mechanisms over multiple internet sites
US6421675B1 (en) 1998-03-16 2002-07-16 S. L. I. Systems, Inc. Search engine
US6154738A (en) 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6192380B1 (en) 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6253208B1 (en) 1998-03-31 2001-06-26 British Telecommunications Public Limited Company Information access
US6249284B1 (en) 1998-04-01 2001-06-19 Microsoft Corporation Directional navigation system in layout managers
US6088731A (en) 1998-04-24 2000-07-11 Associative Computing, Inc. Intelligent assistant for use with a local computer and with the internet
US6133912A (en) 1998-05-04 2000-10-17 Montero; Frank J. Method of delivering information over a communication network
US6321256B1 (en) 1998-05-15 2001-11-20 International Business Machines Corporation Method and apparatus for controlling client access to documents
EP1076871A1 (en) 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6161112A (en) 1998-05-19 2000-12-12 International Business Machines Corporation Web page presentation control mechanism and method
US6182097B1 (en) 1998-05-21 2001-01-30 Lucent Technologies Inc. Method for characterizing and visualizing patterns of usage of a web site by network users
US6892223B1 (en) 1998-05-22 2005-05-10 Bandai Co., Ltd. System and method of displaying information on desktop
US6185614B1 (en) 1998-05-26 2001-02-06 International Business Machines Corp. Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators
US6345278B1 (en) 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US6381742B2 (en) 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6208339B1 (en) 1998-06-19 2001-03-27 International Business Machines Corporation User-interactive data entry display system with entry fields having distinctive and changeable autocomplete
JP3511029B2 (en) 1998-06-30 2004-03-29 株式会社博報堂 Notification information display device, notification information display system, and recording medium
US6308202B1 (en) 1998-09-08 2001-10-23 Webtv Networks, Inc. System for targeting information to specific users on a computer network
US6327574B1 (en) 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US6141010A (en) 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
AU5465099A (en) 1998-08-04 2000-02-28 Rulespace, Inc. Method and system for deriving computer users' personal interests
US6286043B1 (en) 1998-08-26 2001-09-04 International Business Machines Corp. User profile management in the presence of dynamic pages using content templates
US6377983B1 (en) 1998-08-31 2002-04-23 International Business Machines Corporation Method and system for converting expertise based on document usage
US6356898B2 (en) 1998-08-31 2002-03-12 International Business Machines Corporation Method and system for summarizing topics of documents browsed by a user
US6266058B1 (en) 1998-09-08 2001-07-24 Hewlett Packard Company Apparatus and method for linking browser bars with active documents for a browser
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6324569B1 (en) 1998-09-23 2001-11-27 John W. L. Ogilvie Self-removing email verified or designated as such by a message distributor for the convenience of a recipient
US6112215A (en) 1998-09-24 2000-08-29 International Business Machines Corporation Database or repetitively used data entries displayable for selection and entry on a variety of user interactive interfaces from sources independent of said database
US6338066B1 (en) 1998-09-25 2002-01-08 International Business Machines Corporation Surfaid predictor: web-based system for predicting surfer behavior
AU1704900A (en) 1998-10-13 2000-05-01 Radiowave.Com, Inc. System and method for determining the audience of digital radio programmes broadcast through the internet
ATE273538T1 (en) 1998-10-28 2004-08-15 Verticalone Corp APPARATUS AND METHOD FOR AUTOMATIC AGGREGATION AND SUPPLY OF ELECTRONIC PERSONAL INFORMATION OR DATA
US6584490B1 (en) * 1998-10-30 2003-06-24 3Com Corporation System and method for providing call-handling services on a data network telephone system
US6741967B1 (en) 1998-11-02 2004-05-25 Vividence Corporation Full service research bureau and test center method and apparatus
US6457009B1 (en) 1998-11-09 2002-09-24 Denison W. Bollay Method of searching multiples internet resident databases using search fields in a generic form
US6910179B1 (en) 1998-11-10 2005-06-21 Clarita Corporation Method and apparatus for automatic form filling
US6297819B1 (en) 1998-11-16 2001-10-02 Essential Surfing Gear, Inc. Parallel web sites
US6442529B1 (en) 1998-11-17 2002-08-27 Novaweb Technologies, Inc. Methods and apparatus for delivering targeted information and advertising over the internet
US6324583B1 (en) 1998-11-17 2001-11-27 International Business Machines Corp. Method and apparatus for enabling communication between dissimilar protocol stacks
WO2000036539A2 (en) 1998-12-12 2000-06-22 The Brodia Group Trusted agent for electronic commerce
US6338059B1 (en) 1998-12-17 2002-01-08 International Business Machines Corporation Hyperlinked search interface for distributed database
US6084628A (en) 1998-12-18 2000-07-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method of providing targeted advertising during video telephone calls
US6370527B1 (en) 1998-12-29 2002-04-09 At&T Corp. Method and apparatus for searching distributed networks using a plurality of search devices
US6055573A (en) 1998-12-30 2000-04-25 Supermarkets Online, Inc. Communicating with a computer based on an updated purchase behavior classification of a particular consumer
US6496931B1 (en) 1998-12-31 2002-12-17 Lucent Technologies Inc. Anonymous web site user information communication method
US6564202B1 (en) 1999-01-26 2003-05-13 Xerox Corporation System and method for visually representing the contents of a multiple data object cluster
US6460060B1 (en) 1999-01-26 2002-10-01 International Business Machines Corporation Method and system for searching web browser history
US6466970B1 (en) 1999-01-27 2002-10-15 International Business Machines Corporation System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment
US6332127B1 (en) 1999-01-28 2001-12-18 International Business Machines Corporation Systems, methods and computer program products for providing time and location specific advertising via the internet
US7076546B1 (en) 1999-02-10 2006-07-11 International Business Machines Corporation Browser for use in accessing hypertext documents in a multi-user computer environment
JP2000242392A (en) 1999-02-12 2000-09-08 Dbm Korea:Kk Computer system for dynamic information display and method thereof
US6321209B1 (en) 1999-02-18 2001-11-20 Wired Solutions, Llc System and method for providing a dynamic advertising content window within a window based content manifestation environment provided in a browser
US6366298B1 (en) 1999-06-03 2002-04-02 Netzero, Inc. Monitoring of individual internet usage
CA2299773C (en) 1999-03-09 2003-12-09 Netzero, Inc. Monitoring of individual internet usage
US6237022B1 (en) 1999-03-15 2001-05-22 Webtv Networks, Inc. System and method for distributing preferenced data over a communications network
US6477550B1 (en) 1999-03-16 2002-11-05 Mcafee.Com Corporation Method and system for processing events related to a first type of browser from a second type of browser
US6490722B1 (en) 1999-03-30 2002-12-03 Tivo Inc. Software installation and recovery system
US6393415B1 (en) 1999-03-31 2002-05-21 Verizon Laboratories Inc. Adaptive partitioning techniques in performing query requests and request routing
US6397228B1 (en) 1999-03-31 2002-05-28 Verizon Laboratories Inc. Data enhancement techniques
US6907566B1 (en) 1999-04-02 2005-06-14 Overture Services, Inc. Method and system for optimum placement of advertisements on a webpage
US6584492B1 (en) 2000-01-20 2003-06-24 Americom Usa Internet banner advertising process and apparatus having scalability
US6314457B1 (en) 1999-04-21 2001-11-06 Airclic, Inc. Method for managing printed medium activated revenue sharing domain name system schemas
WO2000065509A2 (en) 1999-04-22 2000-11-02 Qode.Com, Inc. System and method for providing electronic information upon receipt of a scanned bar code
US6721795B1 (en) 1999-04-26 2004-04-13 America Online, Inc. Data transfer server
US6847969B1 (en) 1999-05-03 2005-01-25 Streetspace, Inc. Method and system for providing personalized online services and advertisements in public spaces
US6493702B1 (en) 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
CA2372867A1 (en) 1999-05-07 2000-11-16 Carlos Cardona System and method for database retrieval, indexing and statistical analysis
US6269361B1 (en) 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US6502076B1 (en) 1999-06-01 2002-12-31 Ncr Corporation System and methods for determining and displaying product promotions
US7065497B1 (en) 1999-06-07 2006-06-20 Hewlett-Packard Development Company, L.P. Document delivery system for automatically printing a document on a printing device
US6418440B1 (en) 1999-06-15 2002-07-09 Lucent Technologies, Inc. System and method for performing automated dynamic dialogue generation
US6625141B1 (en) * 1999-06-18 2003-09-23 Telefonaktiebolaget L M Ericsson (Publ) System and method for providing value-added services (VAS) in an integrated telecommunications network using session initiation protocol (SIP)
US6570595B2 (en) 1999-06-24 2003-05-27 Xoucin, Inc. Exclusive use display surface areas and persistently visible display of contents including advertisements
US6615247B1 (en) 1999-07-01 2003-09-02 Micron Technology, Inc. System and method for customizing requested web page based on information such as previous location visited by customer and search term used by customer
US6459440B1 (en) 1999-07-15 2002-10-01 Motorola, Inc. Method and apparatus for automatic deletion of a pop-up window
US6438579B1 (en) 1999-07-16 2002-08-20 Agent Arts, Inc. Automated content and collaboration-based system and methods for determining and providing content recommendations
US6356908B1 (en) 1999-07-30 2002-03-12 International Business Machines Corporation Automatic web page thumbnail generation
US6665838B1 (en) 1999-07-30 2003-12-16 International Business Machines Corporation Web page thumbnails and user configured complementary information provided from a server
US6449657B2 (en) 1999-08-06 2002-09-10 Namezero.Com, Inc. Internet hosting system
US6421724B1 (en) 1999-08-30 2002-07-16 Opinionlab, Inc. Web site response measurement tool
JP2001084256A (en) 1999-09-10 2001-03-30 Toshiba Corp Device and method for processing database and computer readable storage medium with database processing program recorded therein
US6434745B1 (en) 1999-09-15 2002-08-13 Direct Business Technologies, Inc. Customized web browsing and marketing software with local events statistics database
US6360221B1 (en) 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US6665656B1 (en) 1999-10-05 2003-12-16 Motorola, Inc. Method and apparatus for evaluating documents with correlating information
US6976053B1 (en) 1999-10-14 2005-12-13 Arcessa, Inc. Method for using agents to create a computer index corresponding to the contents of networked computers
US6763379B1 (en) 1999-10-14 2004-07-13 Ideaflood, Inc. System, apparatus and method for presenting and displaying content on a wide area network
US6681247B1 (en) 1999-10-18 2004-01-20 Hrl Laboratories, Llc Collaborator discovery method and system
US6847992B1 (en) 1999-10-19 2005-01-25 Netzero, Inc. Data pass-through to sponsors
WO2001029727A2 (en) 1999-10-21 2001-04-26 Adfluence, Inc. Network methods for interactive advertising and direct marketing
US6567854B1 (en) 1999-10-21 2003-05-20 Genuity Inc. Internet service delivery via server pushed personalized advertising dashboard
US6857024B1 (en) 1999-10-22 2005-02-15 Cisco Technology, Inc. System and method for providing on-line advertising and information
US6973478B1 (en) 1999-10-26 2005-12-06 Top Moxie, Inc. Autonomous local assistant for managing business processes
US6697825B1 (en) 1999-11-05 2004-02-24 Decentrix Inc. Method and apparatus for generating and modifying multiple instances of element of a web site
RU2259585C2 (en) 1999-11-11 2005-08-27 Юнайтед Верчуэлитис, Инк. Method and system for computerized advertising
US6392668B1 (en) 1999-11-12 2002-05-21 Kendara, Inc. Client-side system and method for network link differentiation
US6539424B1 (en) 1999-11-12 2003-03-25 International Business Machines Corporation Restricting deep hyperlinking on the World Wide Web
AU1797601A (en) 1999-11-22 2001-06-04 Avenue, A, Inc. Dynamic internet advertising
US6848004B1 (en) 1999-11-23 2005-01-25 International Business Machines Corporation System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth
US6725269B1 (en) 1999-12-02 2004-04-20 International Business Machines Corporation System and method for maintaining multiple identities and reputations for internet interactions
EP1240578A4 (en) 1999-12-02 2004-12-15 Zedo Inc Data processing system for targeted content
US6963867B2 (en) 1999-12-08 2005-11-08 A9.Com, Inc. Search query processing to provide category-ranked presentation of search results
US7421432B1 (en) 1999-12-15 2008-09-02 Google Inc. Hypertext browser assistant
US6513052B1 (en) 1999-12-15 2003-01-28 Imation Corp. Targeted advertising over global computer networks
US6480837B1 (en) 1999-12-16 2002-11-12 International Business Machines Corporation Method, system, and program for ordering search results using a popularity weighting
US7149222B2 (en) 1999-12-21 2006-12-12 Converged Access, Inc. Integrated access point network device
US20020068500A1 (en) 1999-12-29 2002-06-06 Oz Gabai Adaptive toy system and functionality
US6571095B1 (en) * 1999-12-30 2003-05-27 Nokia Internet Communications Inc. System and method for providing address discovery of services in mobile networks
US6801906B1 (en) 2000-01-11 2004-10-05 International Business Machines Corporation Method and apparatus for finding information on the internet
US6546388B1 (en) 2000-01-14 2003-04-08 International Business Machines Corporation Metadata search results ranking system
EP1118923A1 (en) 2000-01-18 2001-07-25 Siemens Aktiengesellschaft Method for the use of SW products, which are provided over a network
US20040193488A1 (en) 2000-01-19 2004-09-30 Denis Khoo Method and system for advertising over a data network
US20040098449A1 (en) 2000-01-20 2004-05-20 Shai Bar-Lavi System and method for disseminating information over a communication network according to predefined consumer profiles
AU2001236474A1 (en) 2000-01-21 2001-07-31 Ibrite, Inc. Unique architecture for handheld computers
US7328189B2 (en) 2000-01-26 2008-02-05 Paybyclick Corporation Method and apparatus for conducting electronic commerce transactions using electronic tokens
US6401075B1 (en) 2000-02-14 2002-06-04 Global Network, Inc. Methods of placing, purchasing and monitoring internet advertising
US6877027B1 (en) 2000-02-19 2005-04-05 Hewlett-Packard Development Company, L.P. System and method for providing synchronization verification of multiple applications across remote systems
US6850967B1 (en) 2000-02-19 2005-02-01 Hewlett-Packard Development Company, L.P. System and method for ensuring transparent sychronization of multiple applications across remote systems
US6701362B1 (en) 2000-02-23 2004-03-02 Purpleyogi.Com Inc. Method for creating user profiles
US6438215B1 (en) 2000-02-29 2002-08-20 Ameritech Corporation Method and system for filter based message processing in a unified messaging system
AU2001249080A1 (en) 2000-02-29 2001-09-12 Expanse Networks, Inc. Privacy-protected targeting system
US6701363B1 (en) 2000-02-29 2004-03-02 International Business Machines Corporation Method, computer program product, and system for deriving web transaction performance metrics
US6594654B1 (en) 2000-03-03 2003-07-15 Aly A. Salam Systems and methods for continuously accumulating research information via a computer network
IL134893A0 (en) 2000-03-06 2001-05-20 Joinweb Inc Method and system for locating internet users having similar navigation patterns
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
GB0006464D0 (en) * 2000-03-18 2000-05-10 Ericsson Telefon Ab L M Ip communication in a cellular telecommunications system
AU2001247789A1 (en) 2000-03-22 2001-10-03 Sidestep, Inc. Method and apparatus for dynamic information connection engine
US20010037240A1 (en) 2000-03-27 2001-11-01 Marks Michael B. Internet radio device and system
US6304844B1 (en) 2000-03-30 2001-10-16 Verbaltek, Inc. Spelling speech recognition apparatus and method for communications
US6516312B1 (en) 2000-04-04 2003-02-04 International Business Machine Corporation System and method for dynamically associating keywords with domain-specific search engine queries
US6757661B1 (en) 2000-04-07 2004-06-29 Netzero High volume targeting of advertisements to user of online service
KR100618997B1 (en) 2000-04-10 2006-08-31 삼성전자주식회사 Home page advertising method
US20030208472A1 (en) 2000-04-11 2003-11-06 Pham Peter Manh Method and apparatus for transparent keyword-based hyperlink
US6718365B1 (en) 2000-04-13 2004-04-06 International Business Machines Corporation Method, system, and program for ordering search results using an importance weighting
US20020032592A1 (en) 2000-04-17 2002-03-14 Steve Krasnick Online meeting planning program
AU2001253613A1 (en) 2000-04-17 2001-10-30 Circadence Corporation System and method for shifting functionality between multiple web servers
US6976090B2 (en) 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US7979880B2 (en) 2000-04-21 2011-07-12 Cox Communications, Inc. Method and system for profiling iTV users and for providing selective content delivery
WO2001082160A1 (en) 2000-04-26 2001-11-01 Voltage Inc. Advertisement distribution determining/optimizing method
US20020016736A1 (en) 2000-05-03 2002-02-07 Cannon George Dewey System and method for determining suitable breaks for inserting content
CA2346231A1 (en) 2000-05-08 2001-11-08 Internet Number Corporation Method and system for accessing information on a network using message aliasing functions having shadow callback functions
JP2001326635A (en) 2000-05-16 2001-11-22 Matsushita Electric Ind Co Ltd Charging system for the internet
US20020010626A1 (en) 2000-05-22 2002-01-24 Eyal Agmoni Internert advertising and information delivery system
US6691106B1 (en) 2000-05-23 2004-02-10 Intel Corporation Profile driven instant web portal
US20020077219A1 (en) 2000-05-24 2002-06-20 Cohen Michael Alvarez Incentive awards for use of exercise equipment
US6827669B2 (en) 2000-05-24 2004-12-07 Netpulse, Llc Reliability system for networked exercise equipment
US20010049320A1 (en) 2000-05-24 2001-12-06 Cohen Michael Alvarez Pricing exercise equipment according to usage
US6971973B2 (en) 2000-05-24 2005-12-06 Netpulse, Llc Custom content delivery for networked exercise equipment
US7022047B2 (en) 2000-05-24 2006-04-04 Netpulse, Llc Interface for controlling and accessing information on an exercise device
US7353229B2 (en) 2000-05-26 2008-04-01 Vilcauskas Jr Andrew J Post-session internet advertising system
CA2410426A1 (en) 2000-05-30 2001-12-06 Koki Uchiyama Distributed monitoring system providing knowledge services
US20040225716A1 (en) 2000-05-31 2004-11-11 Ilan Shamir Methods and systems for allowing a group of users to interactively tour a computer network
US7421645B2 (en) 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US6785723B1 (en) 2000-06-22 2004-08-31 International Business Machines Corporation Tracking the transmission of web documents or files sent from resource locations through servers on the web to client computer stations which send tracked transmission characteristics data back to said servers
US20020059099A1 (en) 2000-06-26 2002-05-16 Coletta Craig J. Method and apparatus for collecting on-line consumer data and streaming advertisements in response to sweepstakes participation
US6795856B1 (en) 2000-06-28 2004-09-21 Accountability International, Inc. System and method for monitoring the internet access of a computer
US6694322B2 (en) * 2000-06-29 2004-02-17 Alphablox Corporation Caching scheme for multi-dimensional data
US6529903B2 (en) 2000-07-06 2003-03-04 Google, Inc. Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query
JP2002032401A (en) 2000-07-18 2002-01-31 Mitsubishi Electric Corp Method and device for document retrieval and computer- readable recording medium with recorded program making computer actualize method for document retrieving
US20040073485A1 (en) 2000-07-25 2004-04-15 Informlink, Inc. Method for an on-line promotion server
US6681223B1 (en) 2000-07-27 2004-01-20 International Business Machines Corporation System and method of performing profile matching with a structured document
US6523021B1 (en) 2000-07-31 2003-02-18 Microsoft Corporation Business directory search engine
EP1178409A1 (en) 2000-08-01 2002-02-06 DR. Riccardo Genghini Studio Notarile Genghini Cookiemanager to control the exchange of cookies in an Internet client-server computersystem
US6874018B2 (en) 2000-08-07 2005-03-29 Networks Associates Technology, Inc. Method and system for playing associated audible advertisement simultaneously with the display of requested content on handheld devices and sending a visual warning when the audio channel is off
US20020042750A1 (en) 2000-08-11 2002-04-11 Morrison Douglas C. System method and article of manufacture for a visual self calculating order system over the world wide web
US6826546B1 (en) 2000-08-17 2004-11-30 Ideaflood, Inc. Method and system for licensing a copy of a copyright protected work
US7054900B1 (en) 2000-08-18 2006-05-30 Netzero, Inc. Automatic, profile-free web page recommendation
JP2002073545A (en) 2000-08-28 2002-03-12 Takehiro Yonemichi System and method for transmitting/receiving information, and computer-program storage medium with information transmission/reception program recorded thereon
US20020052925A1 (en) 2000-08-29 2002-05-02 Yoohwan Kim Method and apparatus for information delivery on the internet
US7062488B1 (en) 2000-08-30 2006-06-13 Richard Reisman Task/domain segmentation in applying feedback to command control
US7599851B2 (en) 2000-09-05 2009-10-06 Renee Frengut Method for providing customized user interface and targeted marketing forum
US7861174B2 (en) 2000-09-08 2010-12-28 Oracle International Corporation Method and system for assembling concurrently-generated content
US6892181B1 (en) 2000-09-08 2005-05-10 International Business Machines Corporation System and method for improving the effectiveness of web advertising
US6477575B1 (en) 2000-09-12 2002-11-05 Capital One Financial Corporation System and method for performing dynamic Web marketing and advertising
US7111010B2 (en) 2000-09-25 2006-09-19 Hon Hai Precision Industry, Ltd. Method and system for managing event attributes
US7287071B2 (en) 2000-09-28 2007-10-23 Vignette Corporation Transaction management system
US6334111B1 (en) 2000-10-06 2001-12-25 Careau & Co. Method for allocating commissions over the internet using tags
US20020099605A1 (en) 2000-10-06 2002-07-25 Searchcactus, Llc Search engine with demographic-based advertising
US20020107847A1 (en) 2000-10-10 2002-08-08 Johnson Carl E. Method and system for visual internet search engine
US6904408B1 (en) 2000-10-19 2005-06-07 Mccarthy John Bionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicators
US20020055912A1 (en) 2000-10-20 2002-05-09 Byron Buck Network and method for facilitating on-line privacy
WO2002035314A2 (en) 2000-10-24 2002-05-02 Doubleclick, Inc. Method and system for sharing anonymous user information
US20060015390A1 (en) 2000-10-26 2006-01-19 Vikas Rijsinghani System and method for identifying and approaching browsers most likely to transact business based upon real-time data mining
AU2002213511A1 (en) 2000-10-30 2002-05-15 Elias Arts Corporation System and method for performing content experience management
US7912752B2 (en) 2000-10-31 2011-03-22 Context Web, Inc. Internet contextual communication system
US6631360B1 (en) 2000-11-06 2003-10-07 Sightward, Inc. Computer-implementable Internet prediction method
GB2368935A (en) 2000-11-14 2002-05-15 Itt Mfg Enterprises Inc Updating a searchable database of descriptive information describing information stored at a plurality of addressable logical locations
AU2002220172A1 (en) 2000-11-15 2002-05-27 David M. Holbrook Apparatus and method for organizing and/or presenting data
US6957390B2 (en) 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US20020112048A1 (en) 2000-12-11 2002-08-15 Francois Gruyer System and method for providing behavioral information of a user accessing on-line resources
US9058416B2 (en) 2000-12-11 2015-06-16 Peter K. Trzyna System and method for detecting and reporting online activity using real-time content-based network monitoring
US20020078076A1 (en) 2000-12-15 2002-06-20 Evans David J. Simulator disposed between a server and a client system
US7415429B2 (en) 2000-12-22 2008-08-19 Invenda Corporation Providing navigation objects for communications over a network
US6865681B2 (en) * 2000-12-29 2005-03-08 Nokia Mobile Phones Ltd. VoIP terminal security module, SIP stack with security manager, system and security methods
US6766475B2 (en) 2001-01-04 2004-07-20 International Business Machines Corporation Method and apparatus for exercising an unknown program with a graphical user interface
US20020094868A1 (en) 2001-01-16 2002-07-18 Alma Tuck Methods for interactive internet advertising, apparatuses and systems including same
US7174305B2 (en) 2001-01-23 2007-02-06 Opentv, Inc. Method and system for scheduling online targeted content delivery
US7502994B2 (en) 2001-02-05 2009-03-10 Omniture, Inc. Web page link-tracking system
US20020111910A1 (en) 2001-02-12 2002-08-15 Avenue A, Inc. Method and facility for preserving internet privacy
US7065550B2 (en) 2001-02-14 2006-06-20 International Business Machines Corporation Information provision over a network based on a user's profile
JP2002259371A (en) 2001-03-02 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> Method and device for summarizing document, document summarizing program and recording medium recording program
US7194454B2 (en) 2001-03-12 2007-03-20 Lucent Technologies Method for organizing records of database search activity by topical relevance
WO2002076077A1 (en) 2001-03-16 2002-09-26 Leap Wireless International, Inc. Method and system for distributing content over a wireless communications system
WO2002079951A2 (en) 2001-03-30 2002-10-10 Fpba Group, Llc Network banner advertisement system and method
US20030041050A1 (en) 2001-04-16 2003-02-27 Greg Smith System and method for web-based marketing and campaign management
US20020154163A1 (en) 2001-04-18 2002-10-24 Oak Interactive Ltd. Advertising system for interactive multi-stages advertisements that use the non-used areas of the browser interface
US6928440B2 (en) 2001-04-19 2005-08-09 International Business Machines Corporation Delayed storage of cookies with approval capability
US7216290B2 (en) 2001-04-25 2007-05-08 Amplify, Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
JP2002334104A (en) 2001-05-07 2002-11-22 Sony Corp Information distribution system, information distribution server, client, information transmitting method, receiving method and program
US20030033155A1 (en) 2001-05-17 2003-02-13 Randy Peerson Integration of data for user analysis according to departmental perspectives of a customer
US6990498B2 (en) 2001-06-15 2006-01-24 Sony Corporation Dynamic graphical index of website content
US7181488B2 (en) 2001-06-29 2007-02-20 Claria Corporation System, method and computer program product for presenting information to a user utilizing historical information about the user
US7219139B2 (en) 2001-06-29 2007-05-15 Claria Corporation System and method for using continuous messaging units in a network architecture
US7149704B2 (en) 2001-06-29 2006-12-12 Claria Corporation System, method and computer program product for collecting information about a network user
US20030023481A1 (en) 2001-07-24 2003-01-30 Sarah Calvert Method of selecting an internet advertisement to be served to a user
US20030023698A1 (en) 2001-07-25 2003-01-30 International Business Machines Corporation Method and apparatus for remotely configuring and displaying information
US20030046150A1 (en) 2001-08-01 2003-03-06 Jamie Ader System and method of advertiser-subsidized customizable ordering and delivery of multimedia products
US20030028870A1 (en) 2001-08-01 2003-02-06 Weisman Mitchell T. Distribution of downloadable software over a network
JP2003058572A (en) 2001-08-10 2003-02-28 Seiko Epson Corp Multimedia information system and computer program
US20030074448A1 (en) 2001-08-10 2003-04-17 Tadashi Kinebuchi Multimedia information system and computer program
AU2002332556A1 (en) 2001-08-15 2003-03-03 Visa International Service Association Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US6958759B2 (en) 2001-08-28 2005-10-25 General Instrument Corporation Method and apparatus for preserving, enlarging and supplementing image content displayed in a graphical user interface
US7007074B2 (en) 2001-09-10 2006-02-28 Yahoo! Inc. Targeted advertisements using time-dependent key search terms
JP2003141155A (en) 2001-11-06 2003-05-16 Pfu Ltd Web page retrieval system and program
US8635531B2 (en) 2002-02-21 2014-01-21 Ricoh Company, Ltd. Techniques for displaying information stored in multiple multimedia documents
US6968507B2 (en) 2001-11-27 2005-11-22 Claria Corporation Method and apparatus for defeating a mechanism that blocks windows
US7162739B2 (en) 2001-11-27 2007-01-09 Claria Corporation Method and apparatus for blocking unwanted windows
US7283992B2 (en) 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
JP2003178092A (en) 2001-12-10 2003-06-27 Mitsubishi Electric Corp Information retrieval system, information providing device, information retrieving method and program
US20030171990A1 (en) 2001-12-19 2003-09-11 Sabre Inc. Methods, systems, and articles of manufacture for managing the delivery of content
EP1326185A1 (en) 2002-01-08 2003-07-09 Alcatel Offline behaviour analysis for online personalisation of value added services
US7565367B2 (en) 2002-01-15 2009-07-21 Iac Search & Media, Inc. Enhanced popularity ranking
JP3883452B2 (en) * 2002-03-04 2007-02-21 富士通株式会社 Communications system
US20050222901A1 (en) 2004-03-31 2005-10-06 Sumit Agarwal Determining ad targeting information and/or ad creative information using past search queries
US9235849B2 (en) 2003-12-31 2016-01-12 Google Inc. Generating user information for use in targeted advertising
US7136875B2 (en) 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
US7346606B2 (en) 2003-06-30 2008-03-18 Google, Inc. Rendering advertisements with documents having one or more topics using user topic interest
US20050021397A1 (en) 2003-07-22 2005-01-27 Cui Yingwei Claire Content-targeted advertising using collected user behavior data
US20040098229A1 (en) 2002-06-28 2004-05-20 Brett Error Efficient click-stream data collection
US20040002896A1 (en) 2002-06-28 2004-01-01 Jenni Alanen Collection of behavior data on a broadcast data network
DE60335472D1 (en) 2002-07-23 2011-02-03 Quigo Technologies Inc SYSTEM AND METHOD FOR AUTOMATED IMAGING OF KEYWORDS AND KEYPHRASES ON DOCUMENTS
US20040024756A1 (en) 2002-08-05 2004-02-05 John Terrell Rickard Search engine for non-textual data
US7349827B1 (en) 2002-09-18 2008-03-25 Doubleclick Inc. System and method for reporting website activity based on inferred attribution methodology
US7085682B1 (en) 2002-09-18 2006-08-01 Doubleclick Inc. System and method for analyzing website activity
US8086559B2 (en) 2002-09-24 2011-12-27 Google, Inc. Serving content-relevant advertisements with client-side device support
US6829599B2 (en) 2002-10-02 2004-12-07 Xerox Corporation System and method for improving answer relevance in meta-search engines
US20050091106A1 (en) 2003-10-27 2005-04-28 Reller William M. Selecting ads for a web page based on keywords located on the web page
US8311890B2 (en) 2002-11-01 2012-11-13 Google Inc. Method and system for dynamic textual ad distribution via email
US7512603B1 (en) 2002-11-05 2009-03-31 Claria Corporation Responding to end-user request for information in a computer network
US7581164B2 (en) 2003-01-06 2009-08-25 Apple Inc. User interface for accessing presentations
US6990502B2 (en) 2003-02-26 2006-01-24 Microsoft Corporation Reviewing cached user-group information in connection with issuing a digital rights management (DRM) license for content
US7725842B2 (en) 2003-04-24 2010-05-25 Bronkema Valentina G Self-attainable analytic tool and method for adaptive behavior modification
US7089266B2 (en) 2003-06-02 2006-08-08 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for the query and visualization of multidimensional databases
US7225184B2 (en) 2003-07-18 2007-05-29 Overture Services, Inc. Disambiguation of search phrases using interpretation clusters
WO2005013597A2 (en) 2003-07-25 2005-02-10 Keepmedia, Inc. Personalized content management and presentation systems
US20050027822A1 (en) 2003-07-30 2005-02-03 Plaza Manuel Eslick Method and system for providing secondary internet access features by intercepting primary browser window locators
US7346615B2 (en) 2003-10-09 2008-03-18 Google, Inc. Using match confidence to adjust a performance threshold
US20050097088A1 (en) 2003-11-04 2005-05-05 Dominic Bennett Techniques for analyzing the performance of websites
US7363282B2 (en) 2003-12-03 2008-04-22 Microsoft Corporation Search system using user behavior data
US7197502B2 (en) 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
US20050187823A1 (en) 2004-02-23 2005-08-25 Howes Jeffrey V. Method and system for geographically-targeted internet advertising
US20050222982A1 (en) 2004-03-31 2005-10-06 Paczkowski Remigiusz K System and method for responding to search requests in a computer network
US20050273463A1 (en) 2004-06-07 2005-12-08 Meir Zohar System for calculating client sessions information
US7496563B2 (en) 2004-08-04 2009-02-24 International Business Machines Corporation Method for locating documents a user has previously accessed
US20060136524A1 (en) 2004-12-20 2006-06-22 Claria Corporation Method and device for backing up cookies

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1690223A4 *

Also Published As

Publication number Publication date
US20050114206A1 (en) 2005-05-26
KR20060097123A (en) 2006-09-13
EP1690223A2 (en) 2006-08-16
US8170912B2 (en) 2012-05-01
WO2005057336A3 (en) 2006-06-22
JP2007512621A (en) 2007-05-17
EP1690223A4 (en) 2009-08-19

Similar Documents

Publication Publication Date Title
US8170912B2 (en) Database structure and front end
US10776435B2 (en) Canonicalized online document sitelink generation
US8229925B2 (en) Determining search query statistical data for an advertising campaign based on user-selected criteria
US9589055B2 (en) System and method for a modular user controlled search engine
US8521588B2 (en) Method for optimum placement of advertisements on a web page
US7979544B2 (en) Computer program product and method for estimating internet traffic
US7890451B2 (en) Computer program product and method for refining an estimate of internet traffic
US8015065B2 (en) Systems and methods for assigning monetary values to search terms
US20090319365A1 (en) System and method for assessing marketing data
US20090100099A1 (en) Method and apparatus for providing and offering an exchange database
US20070100795A1 (en) System and method for associating an unvalued search term with a valued search term
US20090037239A1 (en) Method For Improving Internet Advertising Click-Through Rates through Time-Dependent Keywords
CN101416212A (en) Targeting of buzz advertising information
US20040172379A1 (en) Method, system and apparatus for acquiring data from a database
WO2011123118A1 (en) Multi-factor promotional offer suggestion
Lu et al. Click-through behavior across devices in paid search advertising: why users favor top paid search ads and are sensitive to ad position change
US20130091011A1 (en) Category recommendation methods and systems
US9723089B2 (en) Constructing a data pipeline having scalability and low latency

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006541161

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004795209

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067008977

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2004795209

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067008977

Country of ref document: KR