# Patent

## Title
Associative search engine

## Abstract

This invention relates to an advertisement machine which provides advertisements to a user searching for desired information within a data network. The machine receives, from a user, a search request including a search argument corresponding to the desired information and searches, based upon the received search argument, a first database having data network related information to generate search results. It also correlates the received search argument to a particular advertisement in a second database having advertisement related information. The search results together with the particular advertisement are provided by the machine to the user.

## Background
CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS
Continuation priority claim, 35 U.S.C. §120
The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §120, as a continuation, to U.S. Utility patent application Ser. No. 13/031,478, filed Feb. 21, 2011, which is a continuation of U.S. Utility patent application Ser. No. 11/767,563, filed Jun. 25, 2007, now issued as U.S. Utility Pat. No. 7,895,183, which is a continuation of U.S. Utility patent application Ser. No. 09/351,747, filed Jul. 8, 1999, now issued as U.S. Utility Pat. No. 7,236,969, which is a continuation of U.S. Utility patent application Ser. No. 08/798,747, filed Feb. 13, 1997, now issued as U.S. Utility Pat. No. 6,098,065, the contents of which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes.


BACKGROUND OF THE INVENTION
The invention generally relates to search engines and, in particular, to an associative search methodology, based on a contextual search engine, for retrieving related information.
The Internet provides an excellent vehicle for access to information about goods and services on a global basis. In theory, anyone can access information about any product. In practice, the problem is one of finding the correct information. Many techniques for solving this problem are known, including: indexing systems such as Yahoo, graphical electronic malls, hall of malls, directories, and text search engines, such as OpenText. These techniques and tools for searching and retrieving information, in their present form, can inundate the user with large amounts of unwanted material.
This later problem can be alleviated somewhat by enabling the user to provide search statements as a set of criteria which are combined with logical operators, such as ‘AND’, ‘OR’ and ‘NOT’ operators. However, many problems still exist with this. One of them is that the user is left to his/her own imagination to try to think of all the alternative descriptions (i.e. keywords) of a product or service. As search engines and techniques become ever more powerful in the number and diversity of databases they can access, the amount of information which it is possible to present to a user can quickly become excessively large. The problem or opportunity still remains to quickly find the relevant information for which the user is looking.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a new and improved associative search methodology for retrieving related information.
The invention, therefore, according to a first broad aspect provides a method of providing advertisements to a user searching for desired information within a data network, comprising the steps of: receiving, from the user, a search request including a search argument corresponding to the desired information; searching, based upon the received search argument, a first database having data network related information to generate search results; correlating the received search argument to a particular advertisement in a second database having advertisement related information, and providing the search results together with the particular advertisement to the user.
According to a second broad aspect, the invention provides a method of searching for desired information within a data network, comprising the steps of: receiving, from a user, a search request including a search argument corresponding to the desired information; searching, based upon the received search argument and user profile data, a database of information to generate a search result; and providing the search results to the user.
According to a third broad aspect, the invention provides a system for providing advertisements to a user searching for desired information within a data network, comprising; means for receiving, from the user, a search request including a search argument corresponding to the desired information; means for searching, based upon the received search argument, a first database having data network related information to generate search results; means for correlating the received search argument to a particular advertisement in a second database having advertisement related information; and means for providing the search results together with the particular advertisement to the user.
According to a fourth broad aspect, the invention provides a system for searching for desired information within a data network, comprising: means for receiving, from a user, a search request including a search argument corresponding to the desired information; means for searching, based upon the received search argument and user profile data, a database of information to generate a search result; and means for providing the search results to the user.
Conventional search engines, for example OpenText, provide a basis on which the methodology according to this invention may be implemented. In a particular embodiment, the invention is manifested by an advertising system including an associative search engine that may be tied into and form an integral part of the conventional search engine. When an end user accesses the conventional search engine, the associative engine of the selling system examines the user's choices and search instructions, that have been input by the user, and formulates the necessary strategy and tactics to offer products that would appeal to the end user based on his/her inputs and choices up until that point in the search. Since the process is dynamic the strategy and tactics can be continually refined and the results presented to the end user in a predictive order and fashion that relates to that end user's past preferences (either for the immediate search underway or including all prior search data stored for that user) and a contextual database. This effectively provides unobtrusive, related and useful data and options to the end user who is searching for information. The processor used for the advertising and selling mechanism can be a part of or interconnected with the search engine.
Some examples will illustrate how this invention can have high value to an end user. An end user's profile data may contain such information as the make, model and year of automobile he/she owns or leases. When tires are needed, the manufacturers recommended tire types and options may be considered as sort criteria provided within a contextual database. Another example relates to when airline reservations are being sought. All of a person's preferences, which today are normally sorted one by one through a travel agent, could be utilized by the advertising and selling mechanism to provide the informed response.
In addition to the search criterion, as users interact with the advertising system, it will continue to compile preference data (e.g. a list of keywords) for each user. All preferences, for example, can be left in a type of default mode or even presented to the user for him/her to edit and re-prioritize in order to look for diversity or alternatives. The system can detect exceptions and contradictions so that the end user can be shown immediately that some of the options would violate natural tendencies.
Some of the search patterns or preferences will be keyed off of natural interests also such as: social, family, political, technological, geographical, environmental, educational and so on. Once these preferences are known, then an advertisement or a proposed customized product brochure can be prepared.
This invention is also enhanced by advances in technology occurring in the emerging ubiquitous data world, such as new software languages. One example is “Java”. Java is an environment that can be exported to an end users platform to run an application which may include graphics, moving demonstrations, cartoon like explanations or even video. The Java like environment could be used to customize with more than name, it can be used to customize with detailed examples.
One other opportunity presented to service providers is the potential to create new and better ways to improve the environment presented to end users of various classes by remembering what was effective for a sale to occur. In this way, key elements of a presentation or search that have higher success can be put into a higher priority or category for further use and therefore more rapid development through even more intense feedback due to subsequent use.
While this invention can be integrated with traditional Internet search engines (such as Yahoo or Lycos), full advantage can be obtained by integrating the invention with an Internet Access provider. An Internet Access Provider can maintain a more complete user database. Customers are localized, so individual databases will contain fewer users. This allows more database space to be allocated to each user. In addition, more detailed information can be maintained, such as geographical location, type of home computer system, and any additional information the user may choose to provide to the Internet Access Provider.
It is anticipated that the Java environment will develop so that it too will learn and adapt. As a user continues to stop presentations at certain points, scan, re-scan, look for further input at certain points, abort a negotiation and so on at certain points, then such points or logic routines could be avoided or alternatives considered. The present invention proposes such a dynamic and relational preferences methodology in order to more rapidly and more effectively couple a user's needs with product or service offerings.
It is also recognized that these techniques may be applied to an educational environment where, for example, a student may be able to have an environment that is aurally enhanced, another one that is visually enhanced, another one that is textually enhanced and yet another that is anecdotally as opposed to logically enhanced. There are many other opportunities due to different personal proclivities, strengths, skills or disabilities.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood from the following detailed description of an advertising machine together with reference to the accompanying drawings, in which:
FIG. 1 is a schematic representation of the advertising machine including an associative search engine; and
FIG. 2 is a schematic representation of the advertising machine in combination with an Internet Access Service provider.



DETAILED DESCRIPTION OF THE DRAWINGS
Referring to FIG. 1, shown is an advertising machine, generally referenced by 10, together with a data processing device 12 and a communications link 14 through which the device 12 interacts with the advertising machine 10. The communications link 14 may be provided by a global data network, typically the Internet, and the data processing device 12 may be any conventional hardware/software combination supporting functionality for communications over the Internet. Examples of the data processing device 12 include a personal computer (PC) or Macintosh executing an appropriate browser application, such as, Netscape Navigator which functions as an interface to the World Wide Web (WWW) of the Internet. Functionality provided by the advertising machine 10 may be implemented using an appropriately programmed conventional data processing server platform.
The advertising machine 10, in this particular embodiment, comprises a database search engine 16 and an associative search engine 18 which may access a database 20 having contextual data 22 and product data 24. The database search engine 18 is conventional technology, an example of which is the OpenText engine that provides searches based on subject, strings, boolean, text, etc. Such input search arguments may be received from an end user via the data processing device 12 and data link 14 and, accordingly, the database search engine 16 effects a search of the contextual data 22 in the database 20 and returns results of the search to the end user, as a page displayed on the device 12. The contextual database typically contains information relating to the Internet, for instance, keywords associated with respective WWW site locations.
The associative search engine 18, in accordance with the present invention, may contain rule based software algorithms or non-precise techniques, such as, fuzzy logic that can correlate a search argument derived from the user and changes in the argument during a single session, to particular product data within the product database 24. The associative search engine 18 selects the most logical product from its available data 24 and then provides an advertisement insert that is added to the end user's search page, in an attempt to present the end user with the product that is closest to the need as determined by the associative search engine 18 of the selling machine 10.
In operation, for example, the process effected when an end user at the device 12 accesses the advertising machine 10 is as follows.
1) The end user device 12 sends a search request outlining the search argument to the database search engine 16.
2) The search engine 16, having carried out a traditional search of Internet related information in the contextual data 22, passes the argument and results of the its search to the associative search engine 18 which then looks for a match in the product data 24 of the database 20. The associative search engine 18 may determine a logical product fit to the initial search argument, or it may create a logical tree analysis of possible product fits and selects a probable best product for an advertisement window to be displayed with the search results.
3) The associative engine 18 passes the data of the selected product to the search engine 16 which in turn provides the results of the search against the given argument together with the initial product advertisement to the device 12 for displaying to the end user.
4) The end user refines his or her search by either clicking on a displayed result or refining their search through additional arguments or search criteria.
5) The associative search engine 18 and the database search engine 16 again work together in providing refined data as in (2) above. In the case of the end user clicking on (i.e., selecting) a specific search result, the associative search engine 18 further refines its logical tree strategy and selects the probable best fit product and generates an advertisement.
6) The end user search results advertisement window is continually updated on each selection or refinement using a technology such as Java providing the end user with a continually updated product advertisement that is considered to be most relevant (best fit) at that point in the search. In addition, failure of the end user to click on the advertisement is used as a criterion in the logical tree in providing the appropriate advertisement.
7) Once the end user clicks on (selects) the advertisement displayed on the device 12, an appropriate message is sent to the advertising machine 10 and, in particular, to the associative search engine 18 which may automatically connect the end user to the seller of the product, for instance, by forwarding the browser of the end user device 12 to the WWW site address of the seller. In the product data 24 for this seller, the associative search engine may record that this transaction occurred, in order that a toll for bringing a buyer and seller together may be extracted.
Moreover, user profile data may be maintained on end user device 12 and accessed by the associative search engine 18. The profile data contains, for example, end user preferences and previous search arguments which may be used to augment the individual search arguments received with the search request to select a best fit product advertisement. The associative search engine 18 retrieves and updates the profile data on the device 12, using appropriate messages exchanged over the communications link 14. For example, the search arguments from the current search session may be added to the user profile data.
Turning to the system illustrated in FIG. 2, the advertising machine 30 (similar to the machine 10 in FIG. 1) is integrated as part of the functionality embodied at an Internet access provider equipment site 32 which typically includes a telephone network terminating equipment 34, a router 36 through which TCP/IP packets are transmitted to and received from the Internet, and a server 38 which in general controls operation and couples data calls terminated by equipment 34 to router 36. The link 39 represents a data call established through the telephone network to the access provider site 32.
The associative search engine 40 of machine 30 contains software algorithms or non-precise techniques, such as, fuzzy logic that correlates a search argument derived from the user and changes in the argument during a single session with the product database 42 whereby the most logical product from its available list may be selected. It then provides an advertisement insert that is added to the end user's search page in an attempt to offer the end user with the product that is closest to the need as determined by the associative search engine 40.
The access provider site 32, incorporating the advertising machine 30, is the sole channel available to the end user for accessing the Internet. When an end user carries out a search using the search engine 44 and clicks on (selects) a specific result or chooses an alternate information site address, the information is passed to the associative search engine 40 of that access provider 32. Thus, not only the page with the search results but also the home page of the access provider can be updated with the appropriate advertisement which is selected by the associative search engine 40 from the product database 42. In addition, since the data processing device 12 of the end user is connected through the access provider site 32 for all destinations within the Internet, a comprehensive user profile database 48 may be maintained by the associative search engine 40, about the end users preferences and previous search arguments which may be used to augment the individual search argument received with the search request to select a best fit product advertisement.
In operation, for example, the process effected when an end user at the device 12 accesses the Internet through access provider site 32 is as follows.
1) The end users access the search engine 44, provided as a basic service by the access provider, and requests a search outlining the search argument.
2) The search engine 44 passes the argument and results of its search in database 46 to the associative search engine 40 which looks for a match in the product database 42 determining a logical product fit to the initial search argument. The associative search engine 40 creates a logical tree analysis of possible product fits, and selects or creates a probable best product advertisement for the advertisement window on the search results. In this case, the associative search engine 40 also can utilize the maintained profile on the end user from past search sessions and/or historical data gathered on their buying habits, in the product selection processing. The associative search engine correlates the user's identity to data in the user profile database 48 which it maintains and updates with data (e.g., search argument received with search request) from the current search session.
3) The search engine 44 provides the end user with the results of the search against the given argument including the initial product advertisement from the associative search engine 40. The results and advertisement are displayed by end user device 12.
4) The end user refines his/her search by either clicking on a result, or refining their search through additional arguments or search criteria.
5) The associative search engine 40 and the database search engine 44 again work together in providing refined data as in (2) above. In the case of the end user clicking on (selecting) a specific search result the associative search engine 40 further refines its logical tree strategy and selects the probable best fit product and generates an advertisement.
6) The end user device 12 search results advertisement window is continually updated on each selection or refinement using a technology such as Java, providing the end user with a continually updated product advertisement that is considered to be most relevant (best fit) at that point in the search. In addition, failure of the end user to click on the advertisement is used as a criterion in the logical tree in providing the appropriate advertisement. The access provider's home page sent to the end user can also contain a specialized advertisement constructed from the end user's profile data (e.g., searches and/or buying habits).
7) Once the end user is led to click on the advertisement, the associative search engine 40 of the selling machine 30 takes control and connects the potential buyer to the WWW site of the seller of the product, thereby exacting a toll for the transaction of bringing a buyer and seller together.
Those skilled in the art will recognize that various modifications and changes could be made to the invention without departing from the spirit and scope thereof. It should therefore be understood that the claims are not to be considered as being limited to the precise embodiments of the selling machine set forth above, in the absence of specific limitations directed to each embodiment.

## Claims

1. A method for providing information for display on a user device, the method comprising:
receiving a search request, the search request comprising a search argument;
transmitting the search argument to a first search engine for the first search engine to search, based on the received search argument, a first database of network related information to generate at least one search result corresponding to information from the first database having network related information;
transmitting the search argument to a second search engine for the second search engine to correlate the search argument and user profile data associated with a user of the user device to a particular advertisement in a second database of advertisement related information;
receiving from the first search engine the at least one search result;
receiving from the second search engine information corresponding to the particular advertisement; and
transmitting information to the user device to enable the user device to display information from the first database of network related information corresponding to the at least one search result and, in an advertisement window, the particular advertisement.

2. The method of claim 1, wherein the user profile data includes selections of the user from previous search results.

3. The method of claim 1, further comprising maintaining the user profile from at least one of past search sessions of the user and historical data gathered on buying habits of the user.

4. The method of claim 1, wherein the user profile data includes user preference data.

5. The method of claim 4, wherein the user preference data may be edited by an end user.

6. The method of claim 1, wherein the user profile data is stored on the user device.

7. The method of claim 6, wherein the user profile data is updated based on user search activity during a search session.

8. The method of claim 1, wherein transmitting the information to the user device includes transmitting a Java application to the user device.

9. The method of claim 8, wherein the display of the advertisement window is performed by the Java application.

10. The method of claim 1, wherein the search argument comprises a keyword.

11. The method of claim 1, wherein the second search engine is part of the first search engine.

12. The method of claim 1, wherein the at least one search result is displayed in an order that relates to a user's past preferences.

13. The method of claim 1, wherein transmitting the information to the user device comprises constructing the information based upon previous searches on the user device.

14. The method of claim 1, wherein the information transmitted to the user device includes network related information associated with respective World Wide Web (WWW) site locations.

15. The method of claim 1, wherein fuzzy logic is used to correlate the received search argument to the particular advertisement.

16. The method of claim 1, wherein the advertisement window comprises a specialized advertisement constructed based upon profile data of a user associated with the user device.

17. The method of claim 1, wherein at least one of receiving the search request, transmitting the search argument to the first search engine, transmitting the search argument to the second search engine, and transmitting the information to the user device is performed by a server.

18. The method of claim 17, wherein the server and the first search engine are housed at a same site.

19. The method of claim 17, wherein the server and the second search engine are housed at a same site.

20. The method of claim 1, further comprising recording that a user has selected the particular advertisement.

21. The method of claim 20, further comprising updating the advertisement window based on selection of the particular advertisement.

22. The method of claim 20, further comprising extracting a toll from a seller associated with the particular advertisement based on the recording of the selection.

23. The method of claim 20, wherein recording that the user has selected the particular advertisement is performed by a server.

24. The method of claim 20, wherein recording that the user has selected the particular advertisement is performed by the second search engine.

25. The method of claim 20, wherein at least one of receiving the search request, transmitting the search argument to the first search engine, transmitting the search argument to the second search engine, transmitting the information to the user device, recording that the user has selected the particular advertisement, and updating the advertisement window is performed by a server.

26. The method of claim 1, wherein the user profile data is transmitted to the second search engine with the search argument.

27. The method of claim 1, wherein the user profile data comprises search arguments previously received from the user device.

28. The method of claim 1, wherein the user profile data includes data indicating selections of the user from previous search results.

29. The method of claim 1, wherein the user profile data includes data indicating previous search results which were not selected by the user.