[go: up one dir, main page]

HK1033984A - Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements - Google Patents

Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements Download PDF

Info

Publication number
HK1033984A
HK1033984A HK01104343.5A HK01104343A HK1033984A HK 1033984 A HK1033984 A HK 1033984A HK 01104343 A HK01104343 A HK 01104343A HK 1033984 A HK1033984 A HK 1033984A
Authority
HK
Hong Kong
Prior art keywords
data stream
client
session
server
advertisements
Prior art date
Application number
HK01104343.5A
Other languages
Chinese (zh)
Inventor
V‧伯斯蒂斯
H‧罗德里格兹
Original Assignee
国际商业机器公司
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 国际商业机器公司 filed Critical 国际商业机器公司
Publication of HK1033984A publication Critical patent/HK1033984A/en

Links

Description

Method and apparatus for cost-effective online service and adaptive targeting of advertisements
The present invention relates generally to an improved data processing system and, more particularly, to a method and apparatus for monitoring and processing data flows during a commercial network connection.
The world wide web (WWW, also referred to simply as the "network") is an abstract information space of information that is transmitted over the internet hardware. In this network environment, servers and users communicate using the hypertext transfer protocol (HTTP) to transfer various types of data files. This information is mostly in the form of web pages identified by a Uniform Resource Locator (URL) or Uniform Resource Identifier (URI) unique to the web site owned by the server. These web pages are typically formatted using hypertext markup language (HTML), a file format understood by a software application called a web browser. The browser requests the transmission of a web page of a particular URL, then receives the web page, analyzes the HTML of the web page to understand its content and presentation options and displays the content on a computer display device. By using a web browser, a user can view a web page by browsing a network using a URL.
As the size of networks continues to increase dramatically, companies and organizations strive to make themselves network portals, or as the network is wired (on-ramp) as the internet is modeled and the network has become an information highway. By indexing and collecting a large number of information resources within a web site, web portals strive to become the starting point for each web navigation session that users prefer. A user who knows that almost all of the desired information may be found within a web site would prefer to search and browse through the web portal. As the viewing volume continues to increase, web portals receive more advertising revenue per viewed web page, thereby gaining business benefits. However, web portals continue to collect a large amount of disparate content as they attempt to attract as many users as possible. The publishing of web pages is an unlimited and uncoordinated process. The latest news, book reviews, amateur poems, sports, research, stock and security prices, chat rooms, groups, clubs, shared software, technical support, online shopping, etc. are all found on the web. It is not possible for a web portal to know in advance the type of content that attracts a user.
While browsing the web, the user may follow a hyperlink from one web page to another. The user may not know what type of content will be viewed at the target or destination of the hyperlink because hyperlinks are typically small images or very short text strings that provide only one term or a small number of words that are appealing to the user depending on the context of the background material. The displayed hyperlink content is typically a text string that merely provides the URL of the target web page, and the URL is optionally defined by the web owner or web page author of the website. Thus, a user may select a hyperlink without knowing what material was retrieved, and the data stream of downloaded material may be difficult to sort through the subject matter category.
A large number of commercial web sites lose money and if the web site creates profits, the source of the profit is typically advertising revenue. Providing advertising space on web pages is one of the first revenue opportunities for commercial web site owners or web page authors. Banner advertisements at the top of web pages are now ubiquitous. Commercial web sites rely on such advertisements to gain positive revenue, and advertisers rely on this web space to create opportunities for new insights into their products. As noted above, web portals strive to increase their advertising revenue by increasing the number of web page views called "eyeball counts".
Advertisers also wish to pay for placement of advertisements based on demographic statistics of network viewers. However, many web portals and Internet Service Providers (ISPs) protect the privacy of users and do not collect information on the personal situation or demographics of users who browse various web sites on their servers or through their domain directions. Thus, it is difficult for advertisers to determine advertising spending based on the demographics of network viewers. Advertisers also wish to determine advertising rates based on what web portals or web page viewers download and view. However, since web portals collect completely different content, it is difficult to figure out the reason why a user watches a certain content.
This situation is different from the situation where the advertisement is placed in cable or web tv. In that case, the information program about the content transmitted on each channel indicates a promotion that was widely promoted before the content was broadcast. Television viewers are attracted to watch programs containing definable content. Based on consumer research, advertisers can determine which demographic portion of the population is attracted to the content displayed in the channel. Based on the research data obtained, the advertiser will target a specific segment of the population as a specific advertisement based on the broadcast content.
In the case where there are many web viewers who access and download the contents of a website or a web server, it is difficult for an advertiser to have time to use effective advertisements for each viewer so that the cost of the advertiser is used reasonably. In addition to one who is faced with advertising whenever viewing web content, advertisers need a method for attracting network viewers to view advertising in a manner similar to attracting television viewers to view specific program content and thus specific advertising placed in that content.
Therefore, to increase the efficiency of the use of advertising fees, a method for targeting advertisements to a particular group of users who download material from a particular web portal is useful. It is particularly advantageous to target each user individually without the need to gather information about the personal condition of each particular user. It is also advantageous to attract network viewers to watch specific advertisements.
The present invention provides a method and apparatus for adaptively targeting advertisements to specific client computers by a server in a distributed data processing system. As a user of a client browses the world wide web, the material downloaded to the client forms a data stream. At some point during the routing of the data stream, either on the server or on the client, the data stream is searched to produce a list of keywords that are present in the data stream. The data stream may be analyzed in real time or cached and subsequently analyzed. The generated keyword list represents a brief summary of what is considered to be the focus of the user's interest. These keywords are compared to a database of advertisements and the server selects advertisements that fit within the user's interests by comparison to an analysis of the user's browsing history. The selected advertisement is then inserted into the data stream routed to the customer. In view of viewing targeted advertisements and in order to attract network viewers to allow monitoring of the data stream so that targeted advertisements are placed into the data stream, the network viewers may obtain free or reduced-price online connected services at advanced stages of the service, or other added value, such as credit for frequent viewers who may exchange goods or services.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a best mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 is a schematic diagram of a distributed data processing system in which the present invention may be implemented;
FIG. 2 is a block diagram of a data processing system that may be implemented as a server in accordance with a preferred embodiment of the present invention;
FIG. 3 is a block diagram of a data processing system in which the present invention may be implemented;
FIG. 4 is a flow chart depicting a distributed data processing system for adaptively targeting advertisements to clients through the use of a data stream searcher in a server;
FIG. 5 is a block diagram depicting a distributed data processing system for adaptively targeting advertisements to customers by searching for data streams addressed to customers having data processing units within the customers themselves;
FIG. 6 is a flowchart depicting a process in which a client receives a data stream including adaptively targeted advertisements;
FIG. 7 is a flowchart depicting a process performed by a server to search a data stream to insert an adaptively targeted advertisement addressed to a client;
FIG. 8 is a flowchart depicting a process in which a client searches an input data stream addressed to the client to generate browsing history information that is transmitted back to the client;
FIG. 9 is a flowchart describing a process in which a server receives browsing history information from a client and inserts adaptively targeted advertisements into a data stream sent back to the client;
FIG. 1O is a flowchart illustrating a process by which a server selects adaptively targeted advertisements based on a client's browsing history information; and
FIG. 11 is a flow chart describing a process by which a server receives electronically distributed advertisements and processes the advertisements so that they may be retrieved at some later time as adaptively targeted advertisements.
With reference now to the figures, FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented. Distributed data processing system 100 is a network of computers in which the present invention may be implemented. Distributed data processing system 100 includes network 102, which is the medium used to provide communications links between various devices and computers connected together within distributed data processing system 100. Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
In this depicted example, server 104 is connected to network 102 concurrently with storage unit 106. In addition, clients 108, 110, 112 are also connected to network 102. These clients 108, 110, 112 may be personal computers or network computers. For this application, the network computer may be any network-connected computer that receives a program or other application from another computer connected to the network. In the depicted example, server 104 provides data, such as boot files, operating system images, and applications to clients 108 and 112. Distributed data processing system 100 may include additional servers, clients, and other devices not shown. In the depicted example, distributed data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. At the heart of the Internet is the backbone of high-speed data communication lines between major nodes and host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and information. Of course, distributed data processing system 100 also may be implemented as a number of different network types, such as for example, an intranet, a Local Area Network (LAN), or a Wide Area Network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
With reference now to FIG. 2, a block diagram depicts a data processing system that may be implemented as a server, such as server 104 of FIG. 1, in accordance with a preferred embodiment of the present invention. Data processing system 200 may be a Symmetric Multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206. Alternatively, a single processor system may be used. Also connected to system bus 206 is memory controller/cache 208, which provides an interface to local memory 209. I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212. As shown, memory controller/cache 208 is integrated with I/O bus bridge.
Peripheral Component Interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems are connected to PCI bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to network computers 108 and 112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228, from which additional modems or network adapters may be supported. A memory-mapped graphics adapter 230 and hard disk 232 may be connected to I/O bus 212 as depicted, either directly or indirectly.
Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 2 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention.
The data processing system depicted in FIG. 2 may be an IBM RISC/Symtem 600 system, a product of International Business machines corporation in Armonk, N.Y., that executes the advanced Interactive executive (AIX) operating system.
With reference now to FIG. 3, a block diagram illustrates a data processing system in which the present invention may be implemented. Data processing system 300 is an example of a client computer. Data processing system 300 employs a Peripheral Component Interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures such as micro-channel and ISA may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302. Other connections to PCI local bus 306 may also be made through direct component interconnection or through add-in boards. In the depicted example, Local Area Network (LAN) adapter 310, SCSI host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection. In contrast, audio adapter 316, graphics adapter 318, and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. SCSI host bus adapter provides a connection for hard disk drive 326, tape drive 328, and CD-ROM drive 330. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in accessory connectors.
An operating system runs on processor 302 and is used to coordinate and provide control of various components within data system 300 in FIG. 3. The operating system may be a commercially available operating system such as 0S/2 available from International Business machines corporation. "OS/2" is a trademark of International Business machines corporation. An object oriented programming system such as Java may run in conjunction with the operating system and provide calls to the operating system from Java programs or applications executing on data processing system 300. "Java" is a trademark of Sun microsystems, Inc. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on storage devices, such as hard disk drive 326, and may be loaded into main memory 304 for execution by processor 302.
Those of ordinary skill in the art will appreciate that the hardware in FIG. 3 may vary depending on the implementation. Other external hardware or peripheral devices, such as flash ROM (or equivalent nonvolatile memory) or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3. Also, the processes of the present invention may be applied to a multiprocessor data processing system.
For example, if configured as an alternative to a network computer, data processing system 300 may not include an optional SCSI host bus adapter 312, hard disk drive 326, tape drive 328, and CD-ROM330, which are shown in dashed lines in FIG. 3. In that case, the computer, to be properly called a client computer, must include some type of network communication interface, such as LAN adapter 310, modem 322, or the like. As another example, data processing system 300 may be a stand-alone system that may be bootstrapped without relying on some type of network communication interface or whether data processing system 300 comprises some type of data communication interface. As a further example, data processing system 300 may be a Personal Digital Assistant (PDA) device, which is configured using ROM and/or flash ROM to provide non-volatile memory for storing operating system files and/or user-generated data.
The depicted example in FIG. 3 and above-described examples are not meant to imply architectural limitations.
With reference now to FIG. 4, a flowchart depicts a distributed data processing system for adaptively targeting advertisements to clients through the use of a data stream searcher within a server. Distributed data processing system 400 includes a client 402 running a browser running program 404 that generates an HTTP request 406 that is sent to a server 408. Client requests addressed to other servers on the internet are routed to the internet through interface 410. If server 408 is able to complete the HTTP request message without the need to route the message to another server on the Internet, server 408 may access its own database and generate an HTTP response that is sent to client 402. Otherwise, the server 408 receives the data at the physical interface 412 of the Internet and ultimately routes this data to the client 402 as an HTTP response 414.
The distributed data processing system 400 receives electronically published advertisements from various types of customers and stores the advertisements in an unprocessed advertisements database 416. The ad processing unit 418 retrieves ads from the unprocessed ads database 416, processes the ads, and stores the ads in the classified ads database 420. The advertisements are processed by searching for advertisement keywords in the advertisements that convey the gist of the content of each advertisement. These keyword lists are accordingly stored with the advertisements in the classified advertisements database 420.
Information about the advertisement may be stored in advertiser database 421. Rather than determining the gist of the content of each advertisement by the subject matter in the advertisement, an advertiser may provide a set of keywords that capture the broader context in which the advertiser believes its products or services are included. For example, an automobile manufacturer may create an automobile advertisement that does not use the words "automobile", "vehicle", "automobile". Thus, if the keyword list is generated by advertising content, the generated keyword list may not capture or convey the meaning of the car advertisement that the advertiser wishes to display. Thus, an advertiser may generate a list of keywords for a full category of products or services that are specific to a particular demographic or a particular type of data stream, without relying on the keyword list generated by the advertising content. In this way, the advertiser may target an automobile advertisement to those who browse a certain class of luxury goods on the web.
Server 408 receives data streams from the internet that are directed or addressed to client 402 and is responsible for routing the data streams to the client. In a system incorporating the present invention, however, the server 408 performs some degree of processing on the data stream before routing the data stream to the client 402. The data stream search unit 422 searches the content of the data stream and generates browsing history information 424, which is sent to the advertisement selection unit 426. The content of the data stream includes URIs and other information with HTTP messages, File Transfer Protocol (FTP) packets, TCP/IP packets, and the like. In other words, the data stream search unit 422 may work in conjunction with the optional upstream search unit 423 that searches for HTTP request information from a client. Information regarding the customer request may be combined with information gathered from the download data stream, and the combined information may be sent to the advertisement selection unit 426.
The ad selection unit 426 also receives session characteristics information 428, which includes information about a particular session or connection between the server 408 and the client 402. In other words, when establishing a connection between a client and a server, information describing various parameters about the connection is stored and controlled by the server. The session characteristic information may include different types of information, such as: the type of computer platform used as a client computer; version number and type of client software or browser software for receiving download data stream; the current time of day of the session between the client and the server; the current season of the year in which the conversation is conducted; the amount of connection bandwidth available for the session; the effective download speed of the customer; the amount of connection time for the session; the number of bytes, pages on the web, number of files, or other internal capacity measure of the material that has been downloaded to the customer; a list of advertisements inserted into the monitored data stream; the number of advertisements sent to or targeted for the customer; and the geographic location of the customer. The ad insertion unit 430 searches and monitors the data stream addressed to the client 402 to determine the appropriate point in the data stream to adaptively insert an ad for the user of the browser-oriented application 404. The ad insertion unit 430 generates a request that is sent to the ad selection unit 426.
The advertisement selection unit 426 selects an adaptively targeted advertisement from the classified advertisements database 420 using the browsing history information 424 and the session characteristics information 428. If the ad selection unit 426 determines that the classified ads database 420 does not have suitable ads that better match the browsing history information 424 and the session characteristics information 428, the ad selection unit 426 may select an ad from the advertiser database 421.
The ad selection unit 426 sends the selected ad to the ad insertion unit 430, which places the ad in the appropriate location in the data stream and provides the modified data stream or HTTP response information to the data stream search unit 422.
In this manner, data stream search unit 422, advertisement selection unit 426, and advertisement insertion unit 430 work together to monitor the data stream requested by the user of browser application 404, such that server 408 may determine appropriate points within the data stream for the insertion of targeted advertisements and carefully place the selected advertisements at these locations in the data stream. The data stream is stored as a cached data stream such that the data stream search unit 422 cannot search in real time as the data stream flows through the server. At appropriate or predetermined intervals, the data stream search unit 422 reports browsing history information by using statistical data collected from the cached data stream. The selection of using the cached data stream is determined according to the processing speed of the data stream search unit 422, the bandwidth of the data stream, and the like.
The relative positions of the ad insertion unit 430 and the data stream search unit 422 at successive locations along the data stream may be reversed without affecting the ability of the server 408 to selectively target ads to client systems. In the illustrated example, the ad insertion unit 430 places the selected ad into a data stream that is subsequently searched by the data stream search unit 422. By placing an advertisement into the data stream before it is searched, the advertisement that has been placed into the data stream becomes part of the browsing history information 424. If the inserted ad happens to be selected by the ad selection unit 426, the inserted ad will be mixed with the data stream so that the ad does not misinterpret the results produced by the data stream search unit 422. If empirical results determine that ad insertion into the data stream misinterprets the results produced by the data stream search, a feedback structure may be employed in which the ad selection unit 426 also provides the selected ad to the data stream search unit 422 so that the ad inserted into the data stream does not misinterpret the search results produced by the data stream search unit 422.
In another embodiment, the data stream search unit 422 searches the data stream before the ad insertion unit 430 performs ad insertion. In this case, the results generated by data stream search unit 422 would represent the content actually requested by the user of browser application 404, i.e., the results generated would represent a data stream without advertisements. However, in the case where the advertisement constitutes the majority of the data in the data stream addressed to the client 402, the result produced represents only a small portion of the data stream. In other words, if a user of browser application 404 is browsing through a web page containing a large number of advertisements, the results of the main generation of data stream search unit 422 may not actually represent the content of the advertisements in browsing history information 424.
The ability to provide targeted advertisements to viewers is based on the assumption that users have agreed to receive such advertisements in exchange for some compensation. At some point in the foregoing, the viewer has established an account with an online service provider or Internet Service Provider (ISP) or other similar service provider. At this point, the viewer may have been informed that the ISP will attract the viewer to receive targeted advertisements. The viewer may accept or reject the ad served at that time, but at some future time the viewer may change the setting by selecting a function within the browser to notify the server that the viewer has changed the setting or by submitting an electronic form or web page to notify the server of the change in the setting. During a session, the viewer may request to change this setting on/off multiple times by configuration.
The upstream search unit 423 may monitor the client input information to see if there is a configuration request. The server takes these configuration requests as part of the session characteristics information to decide whether to place the targeted advertisement into the viewer's data stream.
In return for receiving the advertisements, the viewer may obtain free connection time available to the ISP from the ISP because the ISP charges an advertiser who wishes the ISP to provide a server for adaptively targeting the advertisements to the viewer. The ISP gains because the revenue from the advertiser is greater than the connection fee spent by the viewer connecting to the ISP.
The tariff between the ISP and the viewer may be an all-or-all-nothing layout or progressive. The viewer may receive free connection time in exchange for receiving only the targeted advertisement. In other words, the viewer may receive a reward by receiving a certain number of targeted advertisements, and the viewer may receive more reward by viewing a larger number of advertisements. By monitoring the number of advertisements transmitted by the server to the client, or by monitoring the amount of connection time when the viewer views the targeted advertisement, the ISP can accurately calculate the amount of money to be credited to the viewer's account. The targeted amount of advertising that has been sent to the customer may be part of the session characteristics information. For example, the viewer can obtain the connection time at a reduced price that is inversely proportional to the number of advertisements viewed. As the number of viewing advertisements increases, the ISP gradually decreases the price of the user's online connection time through the ISP in the next month.
Instead of obtaining a reduced connection time, the viewer may obtain credit for frequent viewers that may exchange goods or services. The viewer may use the credit value to exchange goods and services with a particular advertiser in return for viewing the advertiser's advertisement, or the viewer may use the credit value to exchange goods or services of an ISP.
With reference now to FIG. 5, a block diagram depicts a distributed data processing system that adaptively faces advertisements to clients by searching for data streams addressed to clients whose clients themselves have data processing units. The distributed data processing system 500 includes a client 502 running a browser application 504, the application 504 generating an HTTP request 506 that is sent to a server 508. Client requests addressed to other servers of the internet are routed to the internet through interface 510. If the server 508 is capable of implementing HTTP request information without sending the information to another server on the Internet, the server 508 can access its own database and generate an HTTP response that is sent to the client 502. Otherwise, the server 508 receives the internet data at the physical interface 512 and ultimately routes this data to the client 502 as an HTTP response 514.
Distributed data processing system 500 receives electronically published advertisements from various types of consumers and stores the advertisements in unprocessed advertisements database 516. Advertisement processing unit 518 retrieves advertisements from unprocessed advertisements database 516 and stores the advertisements in classified advertisements database 520. Advertiser database 521 stores information about advertisers in a manner similar to advertiser database 421 described with respect to fig. 4.
As described above, the locations of the ad insertion unit 430 and the data stream search unit 422, respectively, along the data flow path of the data stream addressed to the client 402 may be interchanged or separated without affecting the ability of the server 408 to adaptively direct advertisements to the user of the browser application 404 in FIG. 4. Fig. 5 depicts an example of the application of the present invention within a browser application 504 in a client 502.
The function of searching a search data stream provided to the user of the browser application 504 is performed by the data stream search unit 534. The data stream search unit 534 searches the data stream to generate browsing history information about the content received by the client 502 through the browsing operation by the user. The browsing history information generated by the data stream search unit 534 is pushed to the server 508 by the browser 504. The periodicity of the propulsion events may be determined based on the amount of data downloaded by the client 502, the bandwidth limitations of the client 502, the predetermined time set by the server 508 for receiving the browsing history information, and the like.
Once the server 508 receives the HTTP and browsing history information 506, the server 508 routes the HTTP request to the internet while retaining browsing history information 532, which is filtered by an optional upstream search unit 523 that searches for client input requests. The browsing history information 532 may be placed in HTTP messages or some other type of data packet that communicates with the server 508 in a different protocol of various types. The upstream search unit 523 sends the browsing history information 532 to the advertisement selection unit 526, which processes and stores the browsing history information 532 for each session or connection with the server 508. The ad insertion unit 530 searches for and monitors the data stream addressed to 502. In the appropriate place of the data stream, the ad insertion unit 530 decides that an adaptive targeted ad should be placed into the data stream and requests an ad from the ad selection unit 526.
The advertisement selection unit 526 uses the browsing history information 532 and the session characteristics information 528 to select an advertisement from the classified advertisement database 520. The advertisement selection unit 526 sends the selected advertisement to the advertisement insertion unit 530 so that the selected advertisement can be inserted into the data stream and addressed to the client 502. If the ad selection unit 526 determines that the classified ads database 520 does not have suitable ads that better match the browsing history information 524 and the session characteristics information 528, the ad selection unit 526 may select an ad from the advertiser database 521.
In this manner, the data stream search unit 534, the ad insertion unit 530, and the ad selection unit 526 cooperate to monitor the data stream content sent to the user of the browser application 504. The data flow monitoring results are provided from the client to the server. The server then selects an advertisement for the user specifically targeted to the client browser application in such a way that the advertisement is related to the content of the remainder of the data stream viewed by the user.
In another embodiment, the ad insertion unit 530 may place other ads into the data stream rather than into an ad that is immediately presented to the viewer of the customer of the current web page. These other advertisements may be placed within a dedicated markup tag (markup tag) that is not displayed by the browser on the client. But other advertisements are cached along with other materials that make up the web page. These advertisements may be displayed by the browser on the client's display device during periods of inactivity or idleness when the viewer is not using the browser.
Referring now to FIG. 6, a flow chart depicts a process by which a client receives a data stream containing adaptively targeted advertisements. As previously illustrated with reference to client 402 of fig. 4, fig. 6 may perform processing for a client. The process begins when a user of a browser application selects a hyperlink or enters a Uniform Resource Identifier (URI) into a client browser (step 602). The client then sends an HTTP request message to the server (step 604). At some point, the client receives HTTP response information from the server in response to the previously transmitted HTTP request information, and these HTTP response information include adaptively targeted advertisements (step 606). The client browser then displays the user request message with the advertisements (step 608).
Referring now to FIG. 7, a flow diagram depicts a process performed by a server searching a data stream to insert an adaptively targeted advertisement addressed to a client. FIG. 7 shows that processing may be performed on a server similar to that of FIG. 4. The process begins when the server receives a client's HTTP request message (step 702). The server routes the HTTP request message onto the internet if necessary. Some HTTP requests may be provided to a URL within or served by the server, where the server may provide the information directly without routing the HTTP request to the internet. The server receives HTTP response information routed to the client by responding to previously routed HTTP request information (step 706). The server then inserts the adaptively targeted advertisement into the appropriate location in the HTTP response message that makes up the data stream addressed to the client (step 708). A data stream search unit within the server searches for keywords of the data stream to generate a user session-specific keyword list (step 710).
The data stream search unit can generate the keyword list in various ways. Although this method generally requires a number of calculations to search a set of keywords of a data stream and compile individual keywords, several different criteria or statistical methods may be applied to the calculation of the number of occurrences of keywords to decide which keywords are to be included as a representative set of keywords of browsing history information. It is important that many different types or sets of rules be applied to the analysis of the data stream in order to determine the general tendency of user interest through the material being viewed. At this point, this analysis will generate a set of changed keywords as relevant information in the browser history information.
A method of generating a list of keywords includes using a moving content window for analysis within a data stream. In other words, some subset of the data stream is analyzed to produce the necessary list of keywords. This moving content window can be determined in several ways. A first method of determining a moving content window is to analyze a predetermined number of downloaded web pages that should be analyzed by the data stream search unit as a content window. Over time, the content window is a predetermined number of web pages that have been recently downloaded. A second method of determining a moving content window is the application of a variable number of bytes as a measure of the size of the content window. This variable size may be set as a function of several parameters such as the size of the keyword list and the amount of data downloaded by the user.
The advertisement selection unit in the server stores the browsing history information of each client session received from the data stream search unit (step 712). The browser history information may include other information than the generated keyword list, such as a URI identifying the initial location of information constituting the data stream. When the advertisement selection unit selects the appropriate advertisement to be sent to the customer, this information is stored for subsequent retrieval. The server then routes the modified HTTP response message to the client (step 714).
Referring now to FIG. 8, a flowchart depicts a process in which a client searches an incoming data stream addressed to the client to generate browsing history information that is transmitted back to a server. The process described in FIG. 8 may be implemented by a client, such as client 502 shown in FIG. 5. The process begins when a user selects a hyperlink or enters a URI into a client browser (step 802). The client then sends the HTTP request information to the server along with the browsing history information for the current session (step 804). The client then receives from the server HTTP response information, including the previous request information and including adaptively targeted advertisements that are placed in appropriate locations of the HTTP response information in response to the browsing history information previously sent from the client to the server (step 806). The client browser then displays the information requested by the user (step 808).
The method used in operating the data stream search unit in fig. 7 and 8 may vary depending on the variation or combination of algorithms used to analyze the data stream. A data stream may be composed of various types of information and information objects. When the data stream searching unit searches the data stream, each piece of information in the data stream can be analyzed separately. For example, in a data stream consisting primarily of HTML web pages, hyperlinks and tag identifications are analyzed separately from the ASCII text in the body of the web page.
As an example of the various processes that may be used to analyze the data stream, an adaptive weighting scheme may be employed that weights certain portions of the data stream over other portions, i.e., some portions are considered more important than others in determining the viewer's focus of interest. Hyperlink tags (tags) or text built into HTML tags may be weighted more heavily than other types of text. If a viewer of the data stream is reading content about the swimsuit and links in several web pages contain URIs pointing to summer sports, island vacation, etc., the search unit weights the text in these links more heavily than the other text. When using the generated keyword list, advertisements will be selected that are more directly targeted to content within the hyperlink than in the text body. If a person reads a web page by clicking through hyperlinks, the advertisements that appear on the web page with these hyperlinks will likely more closely match the content on the web page that is ready to be viewed when the hyperlink is subsequently selected.
In particular, if the searcher has analyzed the tag and found a word or group of words within the URI in the data stream, the advertiser may be required to pay a higher advertising fee to the ISP operating the server to insert a particular advertisement for a particular URI. Following the previous example, the swimsuit manufacturer may pay a higher fee so that the swimsuit advertisement may appear at each URI including the wording "island" such as http: // www.greatvacations.com/islands.
More complex tariff tables result in more complex formulas. The session characteristic information may be combined with the generated keyword list to form an efficient way of targeting advertisements. Using the previous example, a swimsuit manufacturer would prefer to pay a higher fee for the appearance of a URI with the wording "island" if the session characteristics indicate that the person viewing the data stream lives in Hawaii rather than Montana. Other information items that may be obtained in the session property information will be explained in more detail below.
Advertisements that are adaptively targeted through the use of URIs may be particularly effective when performing searches on data streams that are streamed from a client to a server and routed onto the internet. The URI in the HTTP request message is a specific target that the viewer has chosen to be of immediate interest. When the words in these URIs are weighted more heavily than other words in the data stream, the resulting list of keywords can be more accurately focused on the subsequently retrieved data stream, and the advertisements inserted into the data stream can be effectively targeted to the viewer's interests.
In addition to the URI, another part of the data stream that can be heavily weighted is metadata or meta-information. Metadata is data that describes another related data item, i.e. information that provides characteristics about other information. Web pages built using HTML often include META tags (tags) that include metadata for the web page in which the META tags are embedded. Since the content within the META tags is not presented to the viewer of the web page, these tags may include any information that the author wishes to store in a covert manner. Search engines of some commercial networks use content within META tags for indexing web pages.
Typically, META tags include a list of keywords and a short description of the web page content similar to a summary. These keywords are selected by the publisher or author of the web page, and the information within the META tags can be assumed to provide accurate compression of their associated content when they are selected at will. Thus, the content within the META tag is a valid target for adaptive weighting. The process of weighting the keyword list or the summary already built into the web page more heavily than other parts of the web page is particularly effective for targeting advertisements that closely match the content of the data stream, since the data stream search unit attempts to generate a list of keywords.
Metadata is placed in documents that can be sent over the internet in a variety of ways. As another example, in addition to html meta tags, the extensible markup language (XML) is standardized to incorporate features that provide metadata. Meta Content Framework (MCF) and XML-data are two protocols that add the notion of meta information to XML. content, which has the view that many different types and sets of rules as set forth above can be applied to the analysis of a data stream, a data stream search unit can combine rules for moving windows with rules for adaptive weighting. One way of combining rules is to introduce temporal characteristics into the weighting of the keywords. Keywords that are newly generated by searching a moving window of the data stream are weighted more heavily than keywords that were previously generated. As previously generated keywords increase over time, their associated weights decrease.
Referring now to FIG. 9, a flow chart depicts a process by which a server receives browsing history information from a client and inserts adaptively targeted advertisements into a data stream sent back to the client. The process described in FIG. 9 may be performed in a server, such as server 508 shown in FIG. 5. The process begins when the server receives HTTP request information from a client (step 902). If necessary, the server routes the HTTP request message to the Internet or looks for the requested message within the server (step 904). The server also receives periodic reports of browsing history information from the client (step 906). An ad selection unit within the server stores browser history information for each client session (step 908). At some point, the server receives HTTP response information from the internet to be routed to the client by responding to the initial HTTP request information (step 910). The server then inserts the adaptively targeted advertisement into the appropriate location within the HTTP response message (step 912). The server then routes the HTTP response information including the adaptive targeted advertisement to the client (step 914).
Referring now to FIG. 10, a flow diagram depicts a process by which a server selects adaptively selected advertisements based on a client's browsing history. The process depicted in FIG. 10 is similar to the process used by elements within a server, such as server 408 shown in FIG. 4.
An ad selection unit within the server receives a request from a particular client session of the ad insertion unit for an ad to be placed into the data stream (step 1002). The advertisement selection unit retrieves the previously stored browsing history information for the particular client session (step 1004). The ad selection unit also retrieves session characteristics information (step 1006). Subsequently, the advertisement selection unit compares the keyword list from the browsing history information with a keyword list of advertisement categories previously stored in a classified advertisement database. The ad selection unit then compares the session characteristic information to subcategory information for the ad group in the previously selected ad category (step 1010).
The session characteristic information may include different information types, for example: the type of computer platform used as a client computer; a current time of day of a session between the client and the server; the current season of the year in which the conversation is conducted; the amount of connection bandwidth available for the session; and the geographic location of the client computer. Such information may limit the opportunity to select a subcategory of advertisements. For example, more artistic advertisements may be targeted to Macintosh users as determined by the use of a computer platform such as an IBM compatible PC or apple Macintosh computer, because Macintosh is more popular in the desktop publishing industry. Depending on the time of day, commercial advertisements may be provided to the user during the day, while leisure or entertainment advertisements may be provided to the user at night. Seasonal advertisements may be sent to the user depending on the season in which the conversation occurs, such as advertisements for skiing in winter and boating in summer. Depending on the connection bandwidth available, a user using a 56k modem may be sent a graphically simpler advertisement while a user using a cable modem may be sent a complex advertisement with an MPEG movie. The appropriate advertising categories for the product and service sources are determined based on the location of the client, north-south, east-west, or country-city.
The advertisement selection unit then selects advertisements from the classified advertisement database based on these comparisons (step 1012). As described above, advertisements may also be selected based on information in the advertiser database that generally describes products or services offered by the advertiser or that describes the advertiser's efforts to get targeted advertisements to general types of viewers. The advertisement selection unit then sends the selected advertisement to the advertisement insertion unit (step 1014). The advertisement insertion unit then inserts the selected advertisement as an adaptive targeted advertisement into the modified HTTP response message routed to the customer as part of the data stream addressed to the customer (step 1016).
The process steps of fig. 10 may be modified so that the ad selection system may be performed in the background, as opposed to real-time, during the routing of HTTP response information that makes up a data stream addressed to a client. In other words, when the advertisement selection unit receives the browsing history information for a specific client session, the advertisement selection unit can start the process of selecting an adaptive targeted advertisement for the client session without waiting for a request from the advertisement insertion unit, in addition to storing the browsing history information. In this way, the ad selection unit may have an appropriate ad or group of ads already selected for a particular customer, thus not preventing the ad insertion unit from waiting for a response from the ad selection unit.
Once the ad selection unit has selected one or more suitable ads for a particular customer session, it may store identification information or pointers for the selected ads in the classified ads database along with the stored browsing history information within the ad selection unit. In this example, step 1002 of FIG. 1O is performed immediately before step 1014, such that any steps in the process for selecting an adaptive targeted advertisement have been performed first, and the advertisement insertion unit may receive a quick response for identifying and inserting the advertisement into the data stream to be routed to the customer.
With reference now to FIG. 11, a flow diagram depicts a process by which a server receives electronically published advertisements and processes the advertisements so that they may be retrieved at some later time for adaptive targeting. FIG. 11 depicts a process that may be performed by a data processing unit, such as the advertisement processing unit 418 of FIG. 4.
A distributed data processing system including a server that establishes a browser session receives electronically published advertisements and stores them in a database including unprocessed advertisements (step 1102). At some point, the advertisement processing unit retrieves the electronically published advertisement that was previously stored in the unprocessed advertisements database (step 1104). The advertisement processing unit then generates a keyword list of the retrieved advertisements that are derived from the content within the retrieved advertisements (step 1106). The advertisement processing unit then classifies and re-classifies the retrieved advertisements according to the keyword list it generates (step 1108). Thereafter, the advertisement processing unit stores the retrieved advertisements and other electronically published and processed advertisements accordingly in the appropriate categories and further categories (step 111O). The ad selection unit on the server then searches for and retrieves the processed ad from the classified ads database (step 1112).
Thus, the present invention provides a method and apparatus for adaptively delivering advertisements to particular users based on the users' browsing history. As a user browses the internet, the user's data stream is analyzed into keyword groups that present a brief content focus of the user's interest. Advertisements may be selected based on the user interest summaries and placed into the data stream in a form closely resembling the advertisement's surrounding context.
The present invention also provides a method for attracting network viewers to view adaptively targeted advertisements by providing the viewers with some reward in exchange for viewing the advertisements. Once the viewer agrees to receive advertisements in the downloaded data stream, the online service places the advertisements in the viewer's data stream and the viewer receives a return on value, such as free online connection time, discounted connection time, or resulting consumer settlement applicable to other online consumption. The online service provider or ISP receives revenue from the advertiser for this particular service, typically in a revenue amount greater than the connection fee charged to the viewer. By knowing which users viewed which advertisements, advertisers can effectively use advertising expenditures to target those viewers most likely to purchase advertiser products and services.
The advantages of the present invention will be apparent with reference to the above description of the invention. Without demographic information about the web viewers visiting a particular web site or domain, advertisers can only rely on demographic information relating to the number of web pages viewed. Advertisers may pay for placement of advertisements based on the identification of traffic (traffic) for the web page on which their advertisements are placed. The advertiser may also choose the placement of the advertisement based on the overall business scheme of the web site or web portal. By using the present invention, advertisers can more intelligently target advertisements to viewers in a way that the viewers can realize that additional revenue can be generated by receiving advertisements relevant to their focus of interest. The present invention provides the ability to send advertisements more accurately than methods used to place advertisements into a broadcast or cable channel. In these cases, consumption studies must be performed after the broadcast to determine demographic information for viewers watching the particular broadcast. By using the present invention, advertisements can be fused with content viewed by a user in real time or near real time.
Importantly, while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention likewise does not contemplate the particular type of signal bearing media used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, and transmission-type media, such as digital and analog communications links.
The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (69)

1. A method for providing online connectivity services from a server to a client in a distributed data processing system, the method comprising computer-implemented steps of:
inserting the selected advertisement into the data stream as a result of the session connecting the server and the client; and
the price of the online connection service is reduced in response to inserting the selected advertisement into the data stream.
2. A method for providing online connectivity services from a server to a client in a distributed data processing system, the method comprising computer-implemented steps of:
searching a data stream of a session connecting the server and the client on the server;
selecting an advertisement based on results of searching the data stream;
inserting the selected advertisement into the data stream; and
the price of the online connection service is reduced in response to inserting the selected advertisement into the data stream.
3. The method of claim 2 further comprising:
the cost of the online connection service is calculated and is inversely proportional to the number of selected advertisements inserted into the data stream.
4. The method of claim 2 further comprising:
selecting an option at the client to disable insertion of the selected advertisement into the data stream;
sending the selected option to the server;
stopping insertion of the selected advertisement into the data stream; and
the cost of the subsequent on-line connection service in the normal manner is calculated.
5. A method for providing online connectivity services from a server to a client in a distributed data processing system, the method comprising computer-implemented steps of:
searching a data stream of a session connecting the server and the client on the server;
generating a keyword list through the content in the data stream;
selecting an advertisement according to the generated keyword list; and
the selected advertisement is inserted into the data stream.
6. The method of claim 5, wherein the step of searching the data stream further comprises:
storing the data stream as a cached data stream; and
the cached data stream is read out as input to the data stream for the search session.
7. The method of claim 5, wherein the content of the data stream comprises a Uniform Resource Identifier (URI) and content in hypertext transfer control protocol (HTTP) response information received in response to the HTTP request targeting the URI.
8. The method of claim 5, wherein the step of generating a keyword list comprises obtaining the keyword list from a moving content window in the data stream.
9. The method of claim 8, wherein the content moving window is a variable number of download web pages.
10. The method of claim 8, wherein the size of the content moving window is a variable number of bytes in the data stream.
11. The method of claim 8, wherein the size of the moving window is a function of the size of the key list.
12. The method of claim 5, wherein the step of generating a list of keywords further comprises editing the list of keywords that occur most frequently within a variable amount of time in the conversation.
13. The method of claim 5, wherein the step of selecting an advertisement further comprises: comparing the generated keyword list with a set of predetermined keyword lists, wherein each predetermined keyword list represents a category of a set of advertisements;
determining a relative match as a result of the comparison; and
advertisements are selected from the group of advertisements in the matched category.
14. The method of claim 13, wherein the step of selecting an advertisement further comprises:
determining information representing a characteristic of the session; and
advertisements are selected from the advertisement groups in further categories of the matched category based on the session characteristic information.
15. The method of claim 14, wherein the session characteristic information is selected from one or more types of information in a group comprising:
a computer platform type for the client;
the current time of day the session is at;
the current season of the year in which the session is located;
an amount of connection bandwidth for the session; and
the geographic location of the customer.
16. The method of claim 5, wherein the step of selecting advertisements further comprises selecting based on session feature information selected from one or more types of information in a group comprising:
a computer platform type for the client;
the current time of day the session is at;
the current season of the year in which the session is located;
an amount of connection bandwidth for the session; and
the geographic location of the customer.
17. The method of claim 5, wherein the step of generating a keyword list further comprises:
analyzing the data stream to identify a set of terms; and
an adaptive weighting scheme is applied in which a subset of terms in the term set are heavily emphasized as keywords in the keyword list.
18. The method of claim 7, wherein the content of the data stream includes a Uniform Resource Identifier (URI) and terms within the URI are weighted with a greater value than other terms not in the URI.
19. The method of claim 17, wherein the content of the data stream includes metadata, and wherein the metadata is weighted with a greater value than other content in the data stream.
20. The method of claim 17, wherein the adaptive weighting of terms is a function of the time of occurrence of the terms in the data stream such that terms that are closer in time are weighted more heavily than terms that are farther in time.
21. A method of receiving advertisements from a server at a client in a distributed data processing system, the method comprising the computer-implemented steps of:
searching a data stream of a session connecting a client and a server at a client;
generating a keyword list from the content within the data stream;
transmitting the generated keyword list to the server; and
advertisements are received within the data stream, where the advertisements include content that is semantically related to the generated keyword list.
22. The method of claim 21 further comprising:
the advertisements are cached as hidden placed advertising content within markup language tags in the data stream, wherein the hidden advertising content is not displayed in the browser when the markup language file containing the hidden advertising content is displayed.
23. The method of claim 22 further comprising:
retrieving hidden advertising content during periods of user inactivity; and
advertisements derived from the hidden advertising content are displayed on the customer's display device.
24. A distributed data processing system for providing an online connection service from a server to a client, the distributed data processing system comprising:
inserting means for inserting the selected advertisement into a data stream of a session connecting the server and the client; and
means for reducing the cost of the online connection service by inserting the selected advertisement into the data stream in response.
25. A distributed data processing system for providing an online connection service from a server to a client, the distributed data processing system comprising:
searching means for searching a data stream of a session connecting the server and the client on the server;
selection means for selecting an advertisement in dependence on the results of searching the data stream;
inserting means for inserting the selected advertisement into the data stream; and
means for reducing the cost of the online connection service by inserting the selected advertisement into the data stream in response.
26. The data processing system of claim 25 further comprising:
means for calculating a cost of the online connection service that is inversely proportional to the amount of the selected advertisements inserted into the data stream.
27. The data processing system of claim 25 further comprising:
selecting means for selecting an option at the client to disable insertion of the selected advertisement into the data stream;
transmitting means for transmitting the selected option to the server;
stopping means for stopping insertion of the selected advertisement into the data stream; and
and calculating means for calculating the cost of the subsequent on-line connection service in a normal manner.
28. A distributed data processing system for sending advertisements from a server to a client, the distributed data processing system comprising:
searching means for searching a data stream of a session connecting the server and the client on the server;
generating means for generating a keyword list by contents in the data stream;
selecting means for selecting an advertisement according to the generated keyword list; and
inserting means for inserting the selected advertisement into the data stream.
29. The data processing system of claim 28, wherein the means for searching the data stream further comprises:
a storage device for storing the data stream as a cached data stream; and
reading means for reading the cached data stream as an input for a data stream of the search session.
30. The data processing system of claim 28, wherein the content of the data stream includes a Uniform Resource Identifier (URI) and content in hypertext transfer control protocol (HTTP) response information received in response to the HTTP request targeting the URI.
31. The data processing system of claim 28, wherein the means for generating a list of keywords comprises means for obtaining a list of keywords from a moving window of content in the data stream.
32. The data processing system of claim 31, wherein the moving window of content is a variable number of download web pages.
33. The data processing system of claim 31, wherein the size of the content moving window is a variable number of bytes in the data stream.
34. The data processing system of claim 31, wherein the size of the moving window is a function of the size of the key list.
35. The data processing system of claim 28, wherein the means for generating a list of keywords comprises means for compiling a list of keywords that occur most frequently within a variable amount of time in a conversation.
36. The data processing system of claim 28, wherein the means for selecting an advertisement further comprises: comparing means for comparing the generated keyword list with a set of predetermined keyword lists, wherein each predetermined keyword list represents a category of a group of advertisements;
determining means for determining a relative match as a result of the comparison; and
selecting means for selecting an advertisement from the set of advertisements in the matched category.
37. The data processing system of claim 36, wherein the means for selecting an advertisement further comprises:
determining means for determining information characterizing a session; and
and selecting the advertisement from the advertisement group of the sub-classification matched with the classification according to the session characteristic information.
38. The data processing system of claim 37, wherein the session characteristic information is selected from one or more of a group comprising:
a computer platform type for the client;
the current time of day the session is at;
the current season of the year in which the session is located;
an amount of connection bandwidth for the session; and
the geographic location of the customer.
39. The data processing system of claim 28, wherein the means for selecting an advertisement further comprises means for selecting based on session characteristic information selected from one or more types of information in a group, comprising:
a computer platform type for the client;
the current time of day the session is at;
the current season of the year in which the session is located;
an amount of connection bandwidth for the session; and
the geographic location of the customer.
40. The data processing system of claim 28, wherein the means for generating a list of keywords further comprises:
analyzing means for analyzing the data stream to identify a set of terms; and
applying means for applying an adaptive weighting scheme wherein a subset of terms in the set of terms are weighted more heavily as keywords in the keyword list.
41. The data processing system of claim 40, wherein the content of the data stream includes a Uniform Resource Identifier (URI) and terms in the URI are weighted with a greater value than other terms not in the URI.
42. The method of claim 40, wherein the content of the data stream includes metadata, and wherein the metadata is weighted with a greater value than other content in the data stream.
43. A method as in claim 40, where the adaptive weighting of terms is a function of the time of occurrence of the terms in the data stream, such that terms that are closer in time are weighted more heavily than terms that are farther in time.
44. A distributed data processing system for receiving advertisements at a client from a server, the distributed data processing system comprising:
searching means for searching, at a client, a data stream connecting a session of a client and a server;
generating means for generating a keyword list by contents within the data stream;
transmitting means for transmitting the generated keyword list to the server; and
receiving means for receiving advertisements in the data stream, wherein the advertisements comprise content that is semantically related to the generated keyword list.
45. The data processing system of claim 44, further comprising:
caching means for caching advertisements placed as hidden advertising content within markup language tags in the data stream, wherein the hidden advertising content is not displayed in the browser when a markup language file containing the hidden advertising content is displayed.
46. The data processing system of claim 45 further comprising:
retrieving means for retrieving hidden advertisement content during a period of user inactivity; and
display means for displaying on a display device of the customer an advertisement derived from the hidden advertisement content.
47. A computer program product in a computer readable medium for use in a distributed data processing system for providing online connectivity services from a server to a client, the computer program product comprising:
first instructions for inserting the selected advertisement into a data stream connecting a session of the server with the client; and
second instructions for reducing a cost of the online connection service by in response to inserting the selected advertisement into the data stream.
48. A computer program product in a computer readable medium for use in a distributed data processing system for providing online connectivity services from a server to a client, the computer program product comprising:
first instructions for searching, on a server, for a data stream of a session connecting the server and a client;
second instructions for selecting an advertisement based on results of searching the data stream;
third instructions for inserting the selected advertisement into the data stream; and
fourth instructions for reducing the cost of the online connection service by inserting the selected advertisement into the data stream in response.
49. The computer program product of claim 48, further comprising:
instructions for calculating a cost of the online connection service, the cost being inversely proportional to an amount of the selected advertisements inserted into the data stream.
50. The computer program product of claim 48, further comprising:
instructions for selecting an option at the client to disable insertion of the selected advertisement into the data stream;
instructions for sending the selected option to a server;
instructions for stopping insertion of the selected advertisement into the data stream; and
instructions for calculating a cost of the subsequent on-line connection service in a normal manner.
51. A computer program product in a computer readable medium for use in a distributed data processing system for sending advertisements from a server to a client, the computer program product comprising:
first instructions for searching, on a server, for a data stream of a session connecting the server and a client;
second instructions for generating a list of keywords from content in the data stream;
third instructions for selecting an advertisement based on the generated list of keywords; and
fourth instructions for inserting the selected advertisement into the data stream.
52. The computer program product of claim 51, wherein the first instructions for searching the data stream further comprise:
instructions for storing the data stream as a cached data stream; and
instructions for reading the cached data stream as input for a data stream of a search session.
53. The computer program product of claim 51, wherein the data stream content comprises a Uniform Resource Identifier (URI) and content in hypertext transfer control protocol (HTTP) response information received in response to the HTTP request targeting the URI.
54. The computer program product of claim 51, wherein the second instructions for generating a list of keywords comprise instructions for moving a window through content in the data stream to obtain the list of keywords.
55. The computer program product of claim 54, wherein the content moving window is a variable number of download web pages.
56. The computer program product of claim 54, wherein the size of the content moving window is a variable number of bytes in the data stream.
57. The computer program product of claim 54, wherein the size of the moving window is a function of the size of the keyword list.
58. The computer program product of claim 51, wherein the second instructions for generating a list of keywords further comprise instructions for editing the list of keywords that occur most frequently within a variable amount of time in a conversation.
59. The computer program product of claim 51, wherein the third instructions for selecting an advertisement further comprise: instructions for comparing the generated keyword list with a set of predetermined keyword lists, wherein each predetermined keyword list represents a category of a group of advertisements;
instructions for determining a relative match as a result of the comparison; and
instructions for selecting an advertisement from the group of advertisements in the matching category.
60. The computer program product of claim 59, wherein the instructions for selecting an advertisement from a group of advertisements in the matching classification further comprise:
instructions for determining information representative of a characteristic of the session; and
instructions for selecting advertisements from the set of advertisements matching the subcategories of the categories based on the session characteristic information.
61. The computer program product of claim 60, wherein the session feature information is selected from one or more of a group comprising:
the type of computer platform used for the client;
the current time of day the session is at;
the current season of the year in which the session is located;
an amount of connection bandwidth for the session; and
the geographic location of the customer.
62. The computer program product of claim 51, wherein the third instructions for selecting an advertisement further comprise instructions for selecting based on session feature information selected from one or more types of information in a group, comprising:
the type of computer platform used for the client;
the current time of day the session is at;
the current season of the year in which the session is located;
an amount of connection bandwidth for the session; and
the geographic location of the customer.
63. The computer program product of claim 51, wherein second instructions for generating a list of keywords further comprises:
instructions for analyzing the data stream to identify a set of terms; and
instructions for applying an adaptive weighting scheme in which a subset of terms in a set of key terms that are in a list of keys is more emphasized.
64. The computer program product of claim 63, wherein the content of the data stream includes a Uniform Resource Identifier (URI) and terms in the URI are weighted with a greater value than other terms not in the URI.
65. The computer program product of claim 63, wherein the content of the data stream includes metadata, and the metadata is weighted with a greater value than other content in the data stream.
66. A computer program product as in claim 63, where adaptive weighting of terms is a function of the time of occurrence of a term in the data stream such that terms that are closer in time are weighted more heavily than terms that are farther in time.
67. A computer program product for receiving advertisements from a server at a client in a distributed data processing system, the computer program product comprising:
first instructions for searching, at a client, for a data stream connecting a session of a client with a server;
second instructions for generating a list of keywords from content within the data stream;
third instructions for sending the generated keyword list to the server; and
fourth instructions for receiving advertisements in the data stream, wherein the advertisements include content that is semantically related to the generated keyword list.
68. The computer program product of claim 67, further comprising:
instructions for caching advertisements placed as hidden advertising content within a markup language tag in a data stream, wherein the hidden advertising content is not displayed in a browser when a markup language file containing the hidden advertising content is displayed.
69. The computer program product of claim 68, further comprising:
instructions for retrieving hidden advertising content during periods of user inactivity; and
instructions for displaying an advertisement on a display device of a customer that is derived from the hidden advertising content.
HK01104343.5A 1999-06-17 2001-06-21 Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements HK1033984A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/335,287 1999-06-17

Publications (1)

Publication Number Publication Date
HK1033984A true HK1033984A (en) 2001-10-05

Family

ID=

Similar Documents

Publication Publication Date Title
US7089194B1 (en) Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements
US11367112B2 (en) Identifying related information given content and/or presenting related information in association with content-related advertisements
JP5175299B2 (en) Link exchange of digital media objects
US8180769B2 (en) Content-management system for user behavior targeting
US8666965B2 (en) Web search with visited web page search result restrictions
US8768772B2 (en) System and method for selecting advertising in a social bookmarking system
US20040186778A1 (en) Systems and methods for selecting advertisements to be provided to users via a communication network
EP1742177A1 (en) Categorization of web sites and web documents
US20080154798A1 (en) Dynamic Pricing Models for Digital Content
CN1871620A (en) Identifying and/or blocking ads such as document-specific competitive ads
US20060015401A1 (en) Efficiently spaced and used advertising in network-served multimedia documents
CN1842791A (en) Serving advertisements using a search of advertiser Web information
JP2007507752A (en) Determination and / or use of end-user local time information in advertising systems
CN1759388A (en) Serving advertisements based on content by client terminal device
JP2010113542A (en) Information provision system, information processing apparatus and program for the information processing apparatus
US20050182677A1 (en) Method and/or system for providing web-based content
US20100138278A1 (en) Applications for telecommunications services user profiling
CN101069150A (en) Determining prospective advertising hosts using data such as crawled documents and document access statistics
US20060212349A1 (en) Method and system for delivering targeted banner electronic communications
KR20010091801A (en) Method Of A Target Internet Announcements Being Provide Contents Service
HK1033984A (en) Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements
JP2002007454A (en) Portal site providing method and portal site providing terminal device
CN100545839C (en) Content Management System for Targeting User Behavior
CA2353303A1 (en) Secure web user profiling system and method
HK1136677A (en) Method and apparatus for providing links of digital media objects