WO2002035323A2 - Device, system and method for a rotating search engine - Google Patents

Device, system and method for a rotating search engine Download PDF

Info

Publication number
WO2002035323A2
WO2002035323A2 PCT/US2001/051282 US0151282W WO0235323A2 WO 2002035323 A2 WO2002035323 A2 WO 2002035323A2 US 0151282 W US0151282 W US 0151282W WO 0235323 A2 WO0235323 A2 WO 0235323A2
Authority
WO
WIPO (PCT)
Prior art keywords
records
information
keyplirase
dataset
search
Prior art date
Application number
PCT/US2001/051282
Other languages
French (fr)
Other versions
WO2002035323A3 (en
Inventor
Charles Petruzzi
Anthony Petruzzi
Greg Penbe
Original Assignee
Charles Petruzzi
Anthony Petruzzi
Greg Penbe
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 Charles Petruzzi, Anthony Petruzzi, Greg Penbe filed Critical Charles Petruzzi
Priority to AU2002235282A priority Critical patent/AU2002235282A1/en
Publication of WO2002035323A2 publication Critical patent/WO2002035323A2/en
Publication of WO2002035323A3 publication Critical patent/WO2002035323A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • This invention relates generally to software that queries and arranges links to sites on the World Wide Web, and more particularly, to a rotating search engine wherein the rankings of links to registered sites will be rotated so that each site that matches a given search string will each eventually be listed first among the search results.
  • the World Wide Web contains a great number of sites.
  • Search engines are the most popular means of finding sites relevant to the user's needs. After the user enters a search string, such as a keyword or key phrase, into a search engine it returns a list of sites that match the search string and ranks them by various criteria. Due to the great number of sites that may be returned, the user typically fails to read beyond the first twenty or so listings. The further down a search list a website appears the less likely it is to be seen, even though it may be highly relevant to the user's search. This problem is particularly prevalent for sites that contain popular keywords.
  • search engines sort results lists based on monetary bids for keywords made by site administrators so that those sites associated with the highest monetary bids will achieve a higher ranking, although the site might not be any more relevant to the user than those sites with lower monetary bids.
  • Other search engines randomly assign rankings to sites determined to have equivalent relevancy, but this method does not guarantee that each site will receive an equal number of top positions.
  • Still other search engines rank according to alphabetical order of the sites' titles.
  • U.S. Patent No. 5,321,833 discloses an adaptive ranking system for information retrieved which quantifies the relevance of records based on the occurrence of query terms in the record and predetermined weighting factors.
  • U.S. Patent No. 5,535,382 discloses a document retrieval system for retrieving documents from a database responsive to retrieval conditions designated by a user, which includes a query converting means for converting retrieval conditions into queries, logical operations means, Bibliographical information indicator for indicating relationship values between keywords and registered documents, keyword connection table having the relationship values and output means for outputting registered documents.
  • 5,937,392 discloses a banner advertising display system and method for controlling and serving advertisements on a large publicly accessible network, such as the Internet.
  • the system has at least one server for providing information in response to a user request, an advertising database and an advertising controller for communicating with the advertising server and database.
  • U.S. Patent No. 6,006,218 discloses a method and apparatus that searches and ranks hits and filters out the most popular hits based on estimates generated regarding the probability that items included in the search results are already known.
  • 6,073,130 discloses a method for improving the results of a search in a structured database comprising the steps of receiving a search request, identifying each document minimally satisfying the received request, determining the level of matching for each document, determining the relative weight for documents on the same level, ranking documents based on relative weight and matching level and presenting the results.
  • U.S. Patent No. 6,078,916 discloses a method of organizing information in which the search activity of a user is monitored and such activity is used to organize articles in a subsequent search.
  • U.S. Patent No. 6,078,866 discloses an Internet site searching and listing service based on monetary ranking of site listings.
  • a primary object of the instant invention to provide a software-based apparatus and system that searches and ranks lists of websites in a manner that gives registered sites have substantially equivalent relevancy to the search queiy an equal opportunity to appear at and/or near the top of a search results list. It is also an object of the instant invention to provide a software-based apparatus and system that employs a rotation means to ensure that search results that are of equivalent relevancy to the query will each eventually be listed first among the search results.
  • the instant invention comprises a rotating search engine wherein registered sites will be rotated such that registered sites having equivalent relevancy for a given search will eventually achieve the top position in the search results list.
  • Registrants register with the rotating search engine by giving the title of their website, description of the site, Universal Record Locator (URL) address, and one or more relevant keywords that identify and correspond to the website.
  • Each website-keyword relationship may comprise a creation date, expiration date, and live bit to determine if the relationship is currently active.
  • Each keyword has a corresponding start value to determine the displayed rotation position for each website returned from the search.
  • the generated results list will be rotated via incrementing the start value such that the site that was previously listed in top position is moved to the bottom and all the other sites move up in position one level.
  • the start value becomes greater than the number of websites returned in the search, the start value is reset to one so that the rotation sequence start over.
  • a session variable is assigned to each new user of the search engine and tracked during each session state to ensure that the same user cannot rotate the search results by repeatedly entering the same search query within the same session. Rotation is prevented in the case by not incrementing the start value. This ensures that individual users cannot force specific sites to remain near the top position in the results list.
  • the session variable expires after a predetermined period of time.
  • the instant invention can be easily adapted to perform searches on other types of information stored on a database and available through a computer, such as product searches on an e-commerce site, items listed on an auction site, personal advertisements, real estate listings, mortgage brokers, doctors associated with various specialties or any query performed against a database(s) that displays results list.
  • Fig. 1 is a conceptual diagram illustrating the environment in which the instant invention operates.
  • Fig. 2 is a database drawing of the instant invention showing the tables and their relationships.
  • Fig. 3 depicts the site table populated with theoretical data.
  • Fig. 4 depicts the keyword table populated with theoretical data.
  • Fig. 5 depicts the data table populated with theoretical data.
  • Fig. 6 is a flow diagram of the instant invention illustrating the registration of a website and the creation of a keyword record.
  • Fig. 7 illustrates the components of a session structure.
  • Figs. 8a - 8e are flow diagrams illustrating how a keyword search is conducted and the results displayed.
  • Fig. 9 is a site plan for Figs. 8a-8e.
  • Figs. 1-9 depict the preferred and alternative embodiments of the instant invention, which is generally referenced as a rotating search engine and by numeric character 10.
  • the instant invention 30 is operable on a computer server 130 and generally comprises a database 140 of registered sites and keywords and executable program code 150 that processes search queries, displays search results and rotates search results for subsequent searches of the same or similarly equivalent query so that registrants with the search engine 10 having an equal opportunity of having the highest ranking in the search results lists.
  • the database 140 comprises one or more databases that store information for retrieval, such as URL addresses, and a sites table 300, keyword table 400, data table 500, session variables 230 and session structures 220.
  • the executable program 150 comprises computer processor readable code that communicates with the database 140 and processes registrant information and user search queries.
  • the user 100 enters search strings and reads search results via a World Wide Web browser, such as Microsoft® Internet ExplorerTM or Netscape, residing on the user's computer 110.
  • This computer is connected to the Internet via an Internet Service Provider (ISP) 120, such as America Online®.
  • ISP Internet Service Provider
  • the user can gain access to the instant invention 10 on the server 130 by entering the correct URL in the browser.
  • the invention 10 may be accessed and opened by activating a computer program embodying the instant invention.
  • the instant invention generally comprises a database 140 and executable program code 150 written in Cold FusionTM, but could be written in any number of programming languages, including but not limited to ASP.
  • search engine 10 that is described as being operable in a global network system for finding website URL addresses that match a search query
  • the invention may also be adapted for operation in computer systems that search any database, including information on e-commerce sites, auction sites, online personal advertisement sites, real estate listings or any query performed against a database that displays a results list to a user. Accordingly, search results may comprise websites, product lists or any relevant information being searched.
  • the database 140 comprises a site table 300, keyword table 400, data table 500, session variable 230, and session structure 220.
  • the sites table 300 comprises a list of registered sites each associated with a unique site ID 302, site name 310, site URL 320, and description 330.
  • the keyword table 400 comprises key words/phrases 410 that are each associated with a unique keyword ID 402 and start values 420, as shown in Fig. 4. Referring to Fig.
  • the data table 500 associates each site ID 302 with one or more keyword IDs, each site-key phrase combination comprising a unique sequence ID 502, a foreign key reference 510 to the site table 300 site ID 302, a foreign key reference 520 to the keyword table 400 keyword ID 402, a creation date 530, an expiration date 540, and a live bit 550.
  • the live bit contains a value of Y if the site-key phrase combination is active, which means the site is eligible to be displayed in search results if the associated key phrase is searched upon. If the live bit contains a value of N, the site-key phrase combination is not active, which means the site is not eligible to be displayed in search results if the associated key phrase is searched upon.
  • a session variable 230 exists for each active user session.
  • Each session variable 230 comprises a unique user ID 238, a timestamp 239 representing the life span of the session variable 230 and one or more session structures 220.
  • Session structures 220 are similar in concept to records/rows in a table.
  • a session structure 220 exists for each key phrase searched upon by the user 100. With reference to Fig. 1, each structure comprises a unique keyword ID 232, a start value 234, and a display bit 236.
  • the keyword ID 232 is a foreign key reference to the keyword ID 402 within the keyword table 400.
  • the display bit 236 contains a value of one (1) if eligible sites associated with the keyword ID 232 should be displayed in the search results.
  • the display bit 236 contains a value of zero (0) if eligible sites associated with the keyword ID 232 should not be displayed in the search results.
  • Websites are registered with the rotating search engine 10 by a registration process 600.
  • sites are registered into the database by first obtaining the site's name, URL address, description, and one or more key phrases. If the URL does not already exist on the site table 300, a record is added comprising the provided information and an unused site ID 302. For each desired key phrase the following steps 620 are performed for the registration process. First, the key phrase is searched 630 against the key phrase 410 in the keyword table 400. If an exaGt match on the key phrase is not found, a record is added 640 to the keyword table 400 comprising an unused keyword ID 402, which is a numeric character, the new key word 410, and a start value 420 equal to zero (0).
  • the data table 500 is searched to determine if it already contains a record for the keyword ID 402 in keyword table 400. Whether or not the key word 410 already existed on the keyword table 400 prior to the search, a record is added 650 to the data table 500 comprising an unused sequence ID 502, a foreign key reference 510 containing the site ID 302 obtained from the site table 300, a foreign key reference 520 containing the keyword ID 402 associated with the keyword table 400, an appropriate creation date 530, an appropriate expiration date 540, and a live bit 550 with the value Y.
  • a search session is initiated when a user 100 provides a search string 700 to the instant invention via a browser 110.
  • the system first verifies if a session variable 230 for the user currently exists 712, this is handled by the software running on the server 130.
  • a session variable might not exist for the user because this is the first time he connected to the search engine or because the session variable may have expired.
  • the instant invention maintains a timestamp 239 for each session variable and deletes the session variable when a predetermined time period has lapsed during which there has been no searching activity by the user.
  • a session variable 230 does not currently exist for the current user 100, then one is created 714, comprising a unique user ID 238 which the software on server 130 generates and the predetermined time period as the timestamp 239. Regardless of whether or not a session variable is created, any leading and trailing white spaces are deleted from the search string 716 to prepare for searching. Any white space in excess of one space between multiple words within the search string are also removed.
  • the key word 410 in the keyword table 400 is searched against the search string to find an exact match 718. If an exact match is not found 724, all white spaces that exist between words in the search string are replaced by plus (+) signs 726. A series of individual words are then extracted from the search string by breaking up the search string at each plus sign 728, and a search is performed on each of the individual words 718. If no match is found for the original search string nor any of the individual words comprising the string 720, a "No Records Found" message 722 is displayed to the user, and the search ends. Otherwise, for each matching key phrase 410 found, the associated keyword ID 402 and start value 420 is retrieved 730 from the keyword table 400.
  • Each keyword ID 402 is searched 732 against the keyword ID 232 within each structure that comprises the user's session variable 230. If a match is found 734, the display bit 236 within the matching structure is updated to the value of one (1). Since the keyword ID 402 is found in one of the structures in the session variable, this indicates that user 100 has previously entered the same search string. In this case the live display bit 236 within the retrieved structure is set to one (1) so that the site list will display and the start value remains static so that no rotation will occur. If a match is not found 736, a new structure is added to the user's session variable 230 comprising the keyword ID 402, the start value 420 incremented by one (1), and a display bit 236 set to one (1).
  • the new start value achieves rotation so that the site that received second position in a previous user's search results list will now be moved to the top or first position for the current user. Likewise, the site that received top position for the previous user will now be moved to the bottom of the search results list.
  • Each keyword ID 232 in the user's session variable 230 is then searched 738 against the data table 500 for matching a foreign reference 520 to the keyword ID 402.
  • a match is invalid if the live bit 550 is set to N. If no matches are found 740 after searching on every keyword ID 232 in the user's session variable 230, a "No records found" message 742 is displayed to the user, and the search ends. Otherwise, for each match, if the start value 234 is greater 744 than the number of matching records found in the data table 500 for that keyword ID 232, the start value 234 is updated 746 to a value of one (1). This indicates that the start value has rotated past the end of the list of sites in the data table 500 and needs to start over at the beginning. Regardless of whether the start value 234 in the session structure is modified, the start value 420 in the keyword table 400 associated with the keyword ID 402 is then set equal 748 to the start value 234 in the matching structure 220.
  • each display bit 236 within the user's session variable 230 is then obtained 750. If the display bit 236 equals zero (0) 752, sites associated with the keyword ID 232 indicated in that stmcture will not be displayed 754 to the user 100. If the display bit 236 equals one (1) 756, the sites or information matching the search string are displayed as described below. When the start value 234 of the stmcture is equal to one (1) 758, site information, such as name 310, URL 320, and description 330, is obtained from the site table 300 whose site ID 302 equals the foreign key reference to the site ID 510 in the data table 500 and displayed starting with the first record found to the last record found 760.
  • site information such as name 310, URL 320, and description 330
  • site information such as name 310, URL 320, and description 330 is obtained from the site table 300 whose site ID 302 equals the foreign key reference to the site ID 510 in the data table 500 in the records found in the query in step 738, and the first site to be displayed 764 is determined by the start value 234 in the stmcture.
  • An end value is set to the start value 234 decremented by one (1) 766.
  • Site information will continue to be displayed in order until the last record is displayed 768. The first site will be displayed followed by subsequent sites until the site corresponding to the end value is displayed.
  • the end value is set at three.
  • the fourth matching site record will be displayed first, followed by the fifth site, and so on until the tenth site is displayed. Then the sites or results having start values one through three are displayed below results four through ten.
  • the display bit 236 for each of the stmctures in the user's session variable 230 having a matching keyword ID 232 is set to zero (0) so that sites not matching the keyword will not be displayed in subsequent results lists unless the user 100 searches again using the same search te ⁇ ns 770.
  • the search engine is then ready to accept and process another search string from the user 100.
  • a new stmcture comprising a keyword ID of 1, a start value of 2 (the retrieved start value incremented by 1), and a display bit of 1.
  • the keyword ID of 1 is then searched against the data table for matches. The matching site IDs are found: 1, 3, and 4.
  • the start value in the keyword table is then updated with the value of 2 from the stmcture. Since the display bit has the value of 1, the results for that key phrase will be displayed to the user.
  • the start value is 2, information on the second site found in the keyword table is displayed to the user first. This is site ID 3, Mel's Car Sales.
  • the next site displayed is site ID 4, Cheap Cars, Ltd.
  • the final site displayed is site ID 1, Sam's Used Cars.
  • the display bit in the stmcture is then set to a value of 0.
  • a session variable already exists for user A, so it is not created this time.
  • the keyword table is searched for the keyphrase "car sales," but no exact match is found.
  • the keyword table is therefore searched for each word that comprises the search string.
  • the key plirase "car” is searched and found.
  • a keyword ID of 2 and start value of 3 are retrieved from the keyword table.
  • the stmctures that comprise the session variable are searched for a keyword ID of 2, and a match is not found.
  • a stmcture is added comprising a keyword ID of 2, a start value of 4, and a display bit of 1.
  • the keyword ID of 2 is then searched against the data table for matches.
  • the matching site IDs are found: 1, 3, and 4.
  • site ID 4 since the data table record for site ID 4 has a live bit set to "N", site ID 4 is not included in the results list.
  • the start value of 3 is greater than the number of valid sites found, so the start value is reset to 1.
  • the start value in the keyword table is then updated with the value of 1 from the stmcture. Since the display bit has the value of 1, the results for that key phrase will be displayed to the user. As the start value is 1, information on the first valid site found in the keyword table is displayed to the user first. This is site ID 1, Sam's Used Cars. The second site displayed is site ID 3, Mel's Car Sales. The display bit in the stmcture is then set to a value of 0. Next the key plirase "sales" is searched and found.
  • a keyword ID of 3 and start value of 0 are retrieved from the keyword table.
  • the stmctures that comprise the session variable are searched for a keyword ID of 3, and a match is not found.
  • a stmcture is added comprising a keyword ID of 3, a start value of 1, and a display bit of 1.
  • the keyword ID of 3 is then searched against the data table for matches.
  • the matching site IDs are found: 1 and 4.
  • the start value in the keyword table is then updated with the value of 1 from the stmcture. Since the display bit has the value of 1, the results for that key plirase will be displayed to the user.
  • the start value is 1, information on the first valid site found in the keyword table is displayed to the user first. This is site ID 1, Sam's Used Cars.
  • the second site displayed is site ID 4, Cheap Cars, Ltd.
  • the display bit in the stmcture is then set to a value of 0.
  • User A then enters a search string of "used car sales" again.
  • the search string is searched against the keyword table to find an exact match. It is found, and the keyword ID of 1 and start value of 2 is retrieved from the table.
  • the stmctures that comprise the session variable are searched for the keyword ID of 1.
  • a matching stmcture is found, and as a result the display bit is reset to 1.
  • the start value is not incremented.
  • the keyword ID of 1 is then searched against the data table for matches.
  • the matching site IDs are found: 1, 3, and 4. Since the display bit now has the value of 1, the results for that key phrase will be displayed to the user.
  • the start value is unchanged from the first time the user searched using that phrase, so sites are displayed to the user in the same order as the first time: Mel's Car Sales, then Cheap Cars, Ltd., then Sam's Used Cars. As a result no rotation occurs when the same user performs the same search repeatedly.
  • the display bit in the stmcture is then set back to a value of 0.
  • Now user B initiates a search session by providing the search string "used car sales" to the instant invention.
  • a session variable is created for the user since it does not already exist for user B.
  • the search string is searched against the keyword table to find an exact match. It is found, and the keyword ID of 1 and start value of 2 is retrieved from the table.
  • the stmctures that comprise the session variable are searched for the keyword ID of 1.
  • a new stmcture comprising a keyword ID of 1, a start value of 3 (the retrieved start value incremented by 1), and a display bit of 1.
  • the keyword ID of 1 is then searched against the data table for matches.
  • the matching site IDs are found: 1, 3, and 4.
  • the start value in the keyword table is then updated with the value of 3 from the stmcture. Since the display bit has the value of 1, the results for that key plirase will be displayed to the user.
  • the start value is 3, information on the third site found in the keyword table is displayed to the user first. This is site ID 4, Cheap Cars, Ltd.
  • the next site displayed is site ID 1 , Sam's Used Cars.
  • the final site displayed is site ID 3, Mel's Car Sales. Rotation has occurred because a different user is performing the search this time.
  • the display bit in the stmcture is then set to a value of 0.

Abstract

A device (150), system (10), and method (700) of searching information from a dataset (500) based upon a search string accepted from a user, and arranging and displaying the results. The arrangement of items of information having equal relevancy in relation to the search string are rotated so that each item will each eventually be listed first among the search results (700-770). Each time the same search string is searched, each item moves up one position in the list (700-770). After an item reaches the top of the list, it is moved to the bottom (700-770). Rotation is prevented should the same user enter the same keyphrase during a single session. The instant invention also provides means for maintaining information in the dataset (500) and their associated keyphrases (410). The information in the dataset may relate to Internet websites, products available for sale on e-commerce sites, items available for purchase through auction sites, online personal advertisements, real estate listings, lists of doctors or other professionals organized by speciality, and other areas that may be apparent to someone skilled in the art.

Description

DEVICE, SYSTEM AND METHOD FOR A ROTATING SEARCH ENGINE
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of provisional application Ser. No. 60/243,020 filed Oct. 26, 2000.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
N/A
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure as it appears in the
Patent and Trademark Office patent file or records, but otherwise reserves all copyrights rights whatsoever.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to software that queries and arranges links to sites on the World Wide Web, and more particularly, to a rotating search engine wherein the rankings of links to registered sites will be rotated so that each site that matches a given search string will each eventually be listed first among the search results.
2. Description of the Background Art
The World Wide Web contains a great number of sites. Search engines are the most popular means of finding sites relevant to the user's needs. After the user enters a search string, such as a keyword or key phrase, into a search engine it returns a list of sites that match the search string and ranks them by various criteria. Due to the great number of sites that may be returned, the user typically fails to read beyond the first twenty or so listings. The further down a search list a website appears the less likely it is to be seen, even though it may be highly relevant to the user's search. This problem is particularly prevalent for sites that contain popular keywords.
The problem of presenting relevant sites to the user is compounded by the fact that site administrators, in an attempt to achieve a higher ranking, place repetitive and often irrelevant keywords and metatags on their site to fool the search engines into assigning the site a higher ranking in the results list regardless of relevancy. Some search engines sort results lists based on monetary bids for keywords made by site administrators so that those sites associated with the highest monetary bids will achieve a higher ranking, although the site might not be any more relevant to the user than those sites with lower monetary bids. Other search engines randomly assign rankings to sites determined to have equivalent relevancy, but this method does not guarantee that each site will receive an equal number of top positions. Still other search engines rank according to alphabetical order of the sites' titles. Consequently, most websites never have a chance of appearing at or near the top of search results lists. A search engine that evenly distributes top rankings would address this void in the prior and would be well received. In light of the foregoing, there exists a need for a method, apparatus and/or system that ranks websites in results lists so that the sites having equivalent relevancy to the search string have an equal opportunity to receive a top ranking.
The references found disclose various devices and systems for ranking information and sites retrieved from the World Wide Web and databases. For instance, U.S. Patent No. 5,321,833 discloses an adaptive ranking system for information retrieved which quantifies the relevance of records based on the occurrence of query terms in the record and predetermined weighting factors. U.S. Patent No. 5,535,382 discloses a document retrieval system for retrieving documents from a database responsive to retrieval conditions designated by a user, which includes a query converting means for converting retrieval conditions into queries, logical operations means, bibliographical information indicator for indicating relationship values between keywords and registered documents, keyword connection table having the relationship values and output means for outputting registered documents. U.S. Patent No. 5,937,392 discloses a banner advertising display system and method for controlling and serving advertisements on a large publicly accessible network, such as the Internet. The system has at least one server for providing information in response to a user request, an advertising database and an advertising controller for communicating with the advertising server and database. U.S. Patent No. 6,006,218 discloses a method and apparatus that searches and ranks hits and filters out the most popular hits based on estimates generated regarding the probability that items included in the search results are already known. U.S. Patent No. 6,073,130 discloses a method for improving the results of a search in a structured database comprising the steps of receiving a search request, identifying each document minimally satisfying the received request, determining the level of matching for each document, determining the relative weight for documents on the same level, ranking documents based on relative weight and matching level and presenting the results. U.S. Patent No. 6,078,916 discloses a method of organizing information in which the search activity of a user is monitored and such activity is used to organize articles in a subsequent search. U.S. Patent No. 6,078,866 discloses an Internet site searching and listing service based on monetary ranking of site listings. Although the prior art reveals various patents addressing search engines, none of the references found disclose a rotating search engine as contemplated by the instant invention. Accordingly, there exists a need for a rotating search engine that addresses this gap in the prior art.
BRIEF SUMMARY OF THE INVENTION
In light of the foregoing it is a primary object of the instant invention to provide a software-based apparatus and system that searches and ranks lists of websites in a manner that gives registered sites have substantially equivalent relevancy to the search queiy an equal opportunity to appear at and/or near the top of a search results list. It is also an object of the instant invention to provide a software-based apparatus and system that employs a rotation means to ensure that search results that are of equivalent relevancy to the query will each eventually be listed first among the search results.
It is another object of the instant invention to provide a software-based apparatus and system that will display the same results if the same user subsequently enters the same search string. It another object of the instant invention to provide a software-based apparatus and system that is impervious to site ranking techniques su as spamming and cloaking. It is an additional object of the instant invention to provide a software-based apparatus and system that is compatible with existing search engine technology. In light of these and other objects, the instant invention comprises a rotating search engine wherein registered sites will be rotated such that registered sites having equivalent relevancy for a given search will eventually achieve the top position in the search results list. Registrants register with the rotating search engine by giving the title of their website, description of the site, Universal Record Locator (URL) address, and one or more relevant keywords that identify and correspond to the website. Each website-keyword relationship may comprise a creation date, expiration date, and live bit to determine if the relationship is currently active. Each keyword has a corresponding start value to determine the displayed rotation position for each website returned from the search. When a user enters a search string, the rotating search engine attempts to find websites associated with the search string and generates a results list based on the query. If an exact match on the entire search string cannot be found, a search is attempted on each of the words that comprise the search string. When a subsequent user types in the same search string the generated results list will be rotated via incrementing the start value such that the site that was previously listed in top position is moved to the bottom and all the other sites move up in position one level. When the start value becomes greater than the number of websites returned in the search, the start value is reset to one so that the rotation sequence start over. A session variable is assigned to each new user of the search engine and tracked during each session state to ensure that the same user cannot rotate the search results by repeatedly entering the same search query within the same session. Rotation is prevented in the case by not incrementing the start value. This ensures that individual users cannot force specific sites to remain near the top position in the results list. The session variable expires after a predetermined period of time. In an alternative embodiment, the instant invention can be easily adapted to perform searches on other types of information stored on a database and available through a computer, such as product searches on an e-commerce site, items listed on an auction site, personal advertisements, real estate listings, mortgage brokers, doctors associated with various specialties or any query performed against a database(s) that displays results list.
In accordance with these and other objects, which will become apparent hereinafter, the instant invention will now be described with particular reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Fig. 1 is a conceptual diagram illustrating the environment in which the instant invention operates. Fig. 2 is a database drawing of the instant invention showing the tables and their relationships.
Fig. 3 depicts the site table populated with theoretical data. Fig. 4 depicts the keyword table populated with theoretical data. Fig. 5 depicts the data table populated with theoretical data. Fig. 6 is a flow diagram of the instant invention illustrating the registration of a website and the creation of a keyword record.
Fig. 7 illustrates the components of a session structure. Figs. 8a - 8e are flow diagrams illustrating how a keyword search is conducted and the results displayed. Fig. 9 is a site plan for Figs. 8a-8e.
DETAILED DESCRIPTION OF THE INVENTION
With reference to the drawings, Figs. 1-9 depict the preferred and alternative embodiments of the instant invention, which is generally referenced as a rotating search engine and by numeric character 10. Referring to Fig. 1, the instant invention 30 is operable on a computer server 130 and generally comprises a database 140 of registered sites and keywords and executable program code 150 that processes search queries, displays search results and rotates search results for subsequent searches of the same or similarly equivalent query so that registrants with the search engine 10 having an equal opportunity of having the highest ranking in the search results lists. The database 140 comprises one or more databases that store information for retrieval, such as URL addresses, and a sites table 300, keyword table 400, data table 500, session variables 230 and session structures 220. The executable program 150 comprises computer processor readable code that communicates with the database 140 and processes registrant information and user search queries. The user 100 enters search strings and reads search results via a World Wide Web browser, such as Microsoft® Internet Explorer™ or Netscape, residing on the user's computer 110. This computer is connected to the Internet via an Internet Service Provider (ISP) 120, such as America Online®. In one embodiment, the user can gain access to the instant invention 10 on the server 130 by entering the correct URL in the browser. In other embodiments, the invention 10 may be accessed and opened by activating a computer program embodying the instant invention. The instant invention generally comprises a database 140 and executable program code 150 written in Cold Fusion™, but could be written in any number of programming languages, including but not limited to ASP. While the preferred embodiment of the instant invention comprises a rotating search engine 10 that is described as being operable in a global network system for finding website URL addresses that match a search query, the invention may also be adapted for operation in computer systems that search any database, including information on e-commerce sites, auction sites, online personal advertisement sites, real estate listings or any query performed against a database that displays a results list to a user. Accordingly, search results may comprise websites, product lists or any relevant information being searched.
Referring to Fig. 2 and 7, the database 140 comprises a site table 300, keyword table 400, data table 500, session variable 230, and session structure 220. With reference to Fig. 3, the sites table 300 comprises a list of registered sites each associated with a unique site ID 302, site name 310, site URL 320, and description 330. The keyword table 400 comprises key words/phrases 410 that are each associated with a unique keyword ID 402 and start values 420, as shown in Fig. 4. Referring to Fig. 5, the data table 500 associates each site ID 302 with one or more keyword IDs, each site-key phrase combination comprising a unique sequence ID 502, a foreign key reference 510 to the site table 300 site ID 302, a foreign key reference 520 to the keyword table 400 keyword ID 402, a creation date 530, an expiration date 540, and a live bit 550. The live bit contains a value of Y if the site-key phrase combination is active, which means the site is eligible to be displayed in search results if the associated key phrase is searched upon. If the live bit contains a value of N, the site-key phrase combination is not active, which means the site is not eligible to be displayed in search results if the associated key phrase is searched upon. For instance, an account that is not current or has been suspended would have a live bit value of "N". A session variable 230 exists for each active user session. Each session variable 230 comprises a unique user ID 238, a timestamp 239 representing the life span of the session variable 230 and one or more session structures 220. Session structures 220 are similar in concept to records/rows in a table. A session structure 220 exists for each key phrase searched upon by the user 100. With reference to Fig. 1, each structure comprises a unique keyword ID 232, a start value 234, and a display bit 236. The keyword ID 232 is a foreign key reference to the keyword ID 402 within the keyword table 400. The display bit 236 contains a value of one (1) if eligible sites associated with the keyword ID 232 should be displayed in the search results. The display bit 236 contains a value of zero (0) if eligible sites associated with the keyword ID 232 should not be displayed in the search results.
Websites are registered with the rotating search engine 10 by a registration process 600. Referring to Fig. 6, sites are registered into the database by first obtaining the site's name, URL address, description, and one or more key phrases. If the URL does not already exist on the site table 300, a record is added comprising the provided information and an unused site ID 302. For each desired key phrase the following steps 620 are performed for the registration process. First, the key phrase is searched 630 against the key phrase 410 in the keyword table 400. If an exaGt match on the key phrase is not found, a record is added 640 to the keyword table 400 comprising an unused keyword ID 402, which is a numeric character, the new key word 410, and a start value 420 equal to zero (0). If an exact match on the key word 410 is found, the data table 500 is searched to determine if it already contains a record for the keyword ID 402 in keyword table 400. Whether or not the key word 410 already existed on the keyword table 400 prior to the search, a record is added 650 to the data table 500 comprising an unused sequence ID 502, a foreign key reference 510 containing the site ID 302 obtained from the site table 300, a foreign key reference 520 containing the keyword ID 402 associated with the keyword table 400, an appropriate creation date 530, an appropriate expiration date 540, and a live bit 550 with the value Y.
Refeπing to Figs. 8a - 8e, a search session is initiated when a user 100 provides a search string 700 to the instant invention via a browser 110. The system first verifies if a session variable 230 for the user currently exists 712, this is handled by the software running on the server 130. A session variable might not exist for the user because this is the first time he connected to the search engine or because the session variable may have expired. The instant invention maintains a timestamp 239 for each session variable and deletes the session variable when a predetermined time period has lapsed during which there has been no searching activity by the user. If a session variable 230 does not currently exist for the current user 100, then one is created 714, comprising a unique user ID 238 which the software on server 130 generates and the predetermined time period as the timestamp 239. Regardless of whether or not a session variable is created, any leading and trailing white spaces are deleted from the search string 716 to prepare for searching. Any white space in excess of one space between multiple words within the search string are also removed.
The key word 410 in the keyword table 400 is searched against the search string to find an exact match 718. If an exact match is not found 724, all white spaces that exist between words in the search string are replaced by plus (+) signs 726. A series of individual words are then extracted from the search string by breaking up the search string at each plus sign 728, and a search is performed on each of the individual words 718. If no match is found for the original search string nor any of the individual words comprising the string 720, a "No Records Found" message 722 is displayed to the user, and the search ends. Otherwise, for each matching key phrase 410 found, the associated keyword ID 402 and start value 420 is retrieved 730 from the keyword table 400. Each keyword ID 402 is searched 732 against the keyword ID 232 within each structure that comprises the user's session variable 230. If a match is found 734, the display bit 236 within the matching structure is updated to the value of one (1). Since the keyword ID 402 is found in one of the structures in the session variable, this indicates that user 100 has previously entered the same search string. In this case the live display bit 236 within the retrieved structure is set to one (1) so that the site list will display and the start value remains static so that no rotation will occur. If a match is not found 736, a new structure is added to the user's session variable 230 comprising the keyword ID 402, the start value 420 incremented by one (1), and a display bit 236 set to one (1). The new start value achieves rotation so that the site that received second position in a previous user's search results list will now be moved to the top or first position for the current user. Likewise, the site that received top position for the previous user will now be moved to the bottom of the search results list. Although the instant invention 10 is described as rotating from the bottom of a list upward, it should be noted that rotation may occur in any direction or predetermined order so long as results listing positions are evenly distributed in accordance with the objects of the invention.
Each keyword ID 232 in the user's session variable 230 is then searched 738 against the data table 500 for matching a foreign reference 520 to the keyword ID 402. A match is invalid if the live bit 550 is set to N. If no matches are found 740 after searching on every keyword ID 232 in the user's session variable 230, a "No records found" message 742 is displayed to the user, and the search ends. Otherwise, for each match, if the start value 234 is greater 744 than the number of matching records found in the data table 500 for that keyword ID 232, the start value 234 is updated 746 to a value of one (1). This indicates that the start value has rotated past the end of the list of sites in the data table 500 and needs to start over at the beginning. Regardless of whether the start value 234 in the session structure is modified, the start value 420 in the keyword table 400 associated with the keyword ID 402 is then set equal 748 to the start value 234 in the matching structure 220.
The value of each display bit 236 within the user's session variable 230 is then obtained 750. If the display bit 236 equals zero (0) 752, sites associated with the keyword ID 232 indicated in that stmcture will not be displayed 754 to the user 100. If the display bit 236 equals one (1) 756, the sites or information matching the search string are displayed as described below. When the start value 234 of the stmcture is equal to one (1) 758, site information, such as name 310, URL 320, and description 330, is obtained from the site table 300 whose site ID 302 equals the foreign key reference to the site ID 510 in the data table 500 and displayed starting with the first record found to the last record found 760. If the start value of the stmcture is not equal to one (1 ) 762, site information such as name 310, URL 320, and description 330 is obtained from the site table 300 whose site ID 302 equals the foreign key reference to the site ID 510 in the data table 500 in the records found in the query in step 738, and the first site to be displayed 764 is determined by the start value 234 in the stmcture. An end value is set to the start value 234 decremented by one (1) 766. Site information will continue to be displayed in order until the last record is displayed 768. The first site will be displayed followed by subsequent sites until the site corresponding to the end value is displayed. For example, if there are ten matching sites and the start value equals four, the end value is set at three. The fourth matching site record will be displayed first, followed by the fifth site, and so on until the tenth site is displayed. Then the sites or results having start values one through three are displayed below results four through ten. Regardless of the start value 234, after all of the sites in the search results are displayed, the display bit 236 for each of the stmctures in the user's session variable 230 having a matching keyword ID 232 is set to zero (0) so that sites not matching the keyword will not be displayed in subsequent results lists unless the user 100 searches again using the same search teπns 770. The search engine is then ready to accept and process another search string from the user 100.
The process can be better understood by following some theoretical examples using the data contained in Figs. 3 - 5. User A initiates a search session by providing the search string "used car sales " to the instant invention. A session variable is created for the user since it does not already exist. Leading and trailing white spaces are deleted resulting in the search string "used car sales." The search string is searched against the keyword table to find an exact match. As it is found, the keyword ID of "1" and start value of "1" are retrieved from the table. The stmctures that comprise the session variable are searched for the keyword ID of "1". It is not found in any of the stmctures since no stmctures yet exist. Therefore, a new stmcture is added comprising a keyword ID of 1, a start value of 2 (the retrieved start value incremented by 1), and a display bit of 1. The keyword ID of 1 is then searched against the data table for matches. The matching site IDs are found: 1, 3, and 4. The start value in the keyword table is then updated with the value of 2 from the stmcture. Since the display bit has the value of 1, the results for that key phrase will be displayed to the user. As the start value is 2, information on the second site found in the keyword table is displayed to the user first. This is site ID 3, Mel's Car Sales. The next site displayed is site ID 4, Cheap Cars, Ltd. The final site displayed is site ID 1, Sam's Used Cars. The display bit in the stmcture is then set to a value of 0.
User A then enters a search string of "car sales." A session variable already exists for user A, so it is not created this time. The keyword table is searched for the keyphrase "car sales," but no exact match is found. The keyword table is therefore searched for each word that comprises the search string. The key plirase "car" is searched and found. A keyword ID of 2 and start value of 3 are retrieved from the keyword table. The stmctures that comprise the session variable are searched for a keyword ID of 2, and a match is not found. A stmcture is added comprising a keyword ID of 2, a start value of 4, and a display bit of 1. The keyword ID of 2 is then searched against the data table for matches. The matching site IDs are found: 1, 3, and 4. However, since the data table record for site ID 4 has a live bit set to "N", site ID 4 is not included in the results list. The start value of 3 is greater than the number of valid sites found, so the start value is reset to 1. The start value in the keyword table is then updated with the value of 1 from the stmcture. Since the display bit has the value of 1, the results for that key phrase will be displayed to the user. As the start value is 1, information on the first valid site found in the keyword table is displayed to the user first. This is site ID 1, Sam's Used Cars. The second site displayed is site ID 3, Mel's Car Sales. The display bit in the stmcture is then set to a value of 0. Next the key plirase "sales" is searched and found. A keyword ID of 3 and start value of 0 are retrieved from the keyword table. The stmctures that comprise the session variable are searched for a keyword ID of 3, and a match is not found. A stmcture is added comprising a keyword ID of 3, a start value of 1, and a display bit of 1. The keyword ID of 3 is then searched against the data table for matches. The matching site IDs are found: 1 and 4. The start value in the keyword table is then updated with the value of 1 from the stmcture. Since the display bit has the value of 1, the results for that key plirase will be displayed to the user. As the start value is 1, information on the first valid site found in the keyword table is displayed to the user first. This is site ID 1, Sam's Used Cars. The second site displayed is site ID 4, Cheap Cars, Ltd. The display bit in the stmcture is then set to a value of 0. The stmcture that was created as the result
I I of the search string "used car sales" has a display bit value of 0, so the site information corresponding to that search string is not displayed to the user at this time.
User A then enters a search string of "used car sales" again. The search string is searched against the keyword table to find an exact match. It is found, and the keyword ID of 1 and start value of 2 is retrieved from the table. The stmctures that comprise the session variable are searched for the keyword ID of 1. A matching stmcture is found, and as a result the display bit is reset to 1. The start value is not incremented. The keyword ID of 1 is then searched against the data table for matches. The matching site IDs are found: 1, 3, and 4. Since the display bit now has the value of 1, the results for that key phrase will be displayed to the user. The start value is unchanged from the first time the user searched using that phrase, so sites are displayed to the user in the same order as the first time: Mel's Car Sales, then Cheap Cars, Ltd., then Sam's Used Cars. As a result no rotation occurs when the same user performs the same search repeatedly. The display bit in the stmcture is then set back to a value of 0. Now user B initiates a search session by providing the search string "used car sales" to the instant invention. A session variable is created for the user since it does not already exist for user B. The search string is searched against the keyword table to find an exact match. It is found, and the keyword ID of 1 and start value of 2 is retrieved from the table. The stmctures that comprise the session variable are searched for the keyword ID of 1. It is not found in any of the stmctures since no stmctures yet exist for this user. Therefore, a new stmcture is added comprising a keyword ID of 1, a start value of 3 (the retrieved start value incremented by 1), and a display bit of 1. The keyword ID of 1 is then searched against the data table for matches. The matching site IDs are found: 1, 3, and 4. The start value in the keyword table is then updated with the value of 3 from the stmcture. Since the display bit has the value of 1, the results for that key plirase will be displayed to the user. As the start value is 3, information on the third site found in the keyword table is displayed to the user first. This is site ID 4, Cheap Cars, Ltd. The next site displayed is site ID 1 , Sam's Used Cars. The final site displayed is site ID 3, Mel's Car Sales. Rotation has occurred because a different user is performing the search this time. The display bit in the stmcture is then set to a value of 0. The instant invention has been shown and described herein in what is considered to be the most practical and preferred embodiment. It is recognized, however, that departures may be made therefrom within the scope of the invention and that obvious stmctural and/or functional modifications will occur to a person skilled in the art.

Claims

CLAIMSWhat is claimed is:
1. A method of retrieving information from a dataset in a database, said method comprising the steps of: accepting a keyphrase from a user; searching the dataset for information that corresponds to the keyphrase to identify results; arranging said results from the search so that each item of information located as a result of the search will eventually be ranked first; displaying the infoπriation to the user according to said arrangement; and rotating said results at least one position for each subsequent search of keyphrases that are at least substantially similar to the keyphrase.
2. The method of claim 1, wherein said information comprises Internet websites.
3. The method of claim 1, wherein said information comprises products available for sale on e-commerce sites.
4. The method of claim 1, wherein said information comprises items available for purchase through auction sites.
5. The method of claim 1, wherein said information comprises online personal advertisements.
6. The method of claim 1, wherein said infoπnation comprises real estate listings.
7. The method of claim 1, wherein said infoπnation comprises lists of professionals organized by specialty.
8. The method of claim 1 , further comprising a step for maintaining information in the dataset.
9. The method of claim 8, further comprising steps for: maintaining records of information in the dataset; and relating one or more desired keyphrases to each record.
10. The method of claim 9, wherein the step for maintaining records of information further comprises the steps of: determining if the information already exists in the dataset; and adding the information to the dataset if it does not already exist.
11. The method of claim 9, wherein the step for relating one or more keyphrases to each record further comprises the steps of: determining if each keyphrase already exists in the dataset; adding a keyphrase record to the dataset for those that do not already exist; determining if each keyphrase is already related to the record; and adding a keyphrase relationship record to the dataset for those that do not already exist.
12. The method of claim 11, wherein the keyphrase relationship record further contains data to allow deteπnination whether the relationship is active.
13. The method of claim 12, wherein said data comprises a creation date and expiration date.
14. The method of claim 12, wherein said data comprises a boolean value.
15. The method of claim 1, wherein the searching step further comprises the steps of: removing excess white space from the entered keyphrase; finding one or more related keyphrase records in the dataset; and finding one or more infoπnation records related to each of the related keyplirase records.
16. The method of claim 15, wherein related keyphrase records comprise an exact match of the entered keyplirase and at least one subset of the entered keyplπase.
17. The method of claim 16, wherein the step of finding related keyplirase records further comprises the steps of: searching the keyphrase records for an exact match of the entered keyplirase; and if an exact match is not found, searching the keyplirase records for an exact match of each of the words that comprise the keyplirase.
18. The method of claim 16, wherein the step of finding one or more infoπnation records is limited only to those records which are flagged as active.
19. The method of claim 1 , wherein the step of relating said results comprises: rotating the list of retrieved information so that each time the same infoπnation is retrieved said results are rotated one position in the list.
20. The method of claim 19, wherein said rotation step further comprises the steps of: obtaining a start value from each of the keyplirase relationship records located in the search; incrementing their start values by one; resetting the start values to one where the revised start values exceed the corresponding number of information records found to relate to each keyphrase; and arranging each set of related information records according to the corresponding start value.
21. The method of claim 20, wherein the step of arranging the infomiation records further comprises the steps of: assigning the first position in the list to the infoπnation record whose search retrieval order equals the start value; assigning the second position in the list to the information record whose search retrieval order equals the start value plus one, and so on until the last information record in the search retrieval order is listed; and if the start value is greater than one, assigning the next position in the list to the infomiation record whose search retrieval order equals one, and so on until all infomiation records are listed.
22. The method of claim 20, wherein said rotation step is prevented if the same user enters the same keyphrase during a user session.
23. The method of claim 22, wherein said user session exists for each user from the time the user first enters a keyphrase until a configurable lapse of time passes.
24. The method of claim 22, wherein said rotation prevention is accomplished by not incrementing those start values that correspond to keyplirases that the user already entered.
25. The method of claim 1 , wherein the displaying step further comprises an appropriate message if no infomiation is found as a result of the search.
26. An apparatus for retrieving infoπnation from a dataset, said apparatus comprising: means for accepting a keyplirase from a user; means for searching the dataset for information that relates to the keyplirase; means for arranging the results from the search so that eadi item of infoπnation located as a result of the search will eventually be ranked first; and means for displaying the infomiation to the user according to said arrangement.
27. The apparatus of claim 26, further comprising means for maintaining information in the dataset.
28. The apparatus of claim 27, further comprising: means for maintaining records of information in the dataset; and means for relating one or more desired keyphrases to each record.
29. The apparatus of claim 28, wherein the means for maintaining records of infomiation further comprises: means for determining if the infoπnation already exists in the dataset; and means for adding the infomiation to the dataset if it does not already exist.
30. The apparatus of claim 28, wherein the means for relating one or more keyphrases to each record further comprises: means for determining if each keyplirase already exists in the dataset; means for adding a keyplirase record to the dataset for those that do not already exist; means for deteπriining if each keyplirase is already related to the record; and means for adding a keyphrase relationship record to the dataset for those that do not already exist.
31. The apparatus of claim 30, wherein the keyplirase relationship record further contains data to allow determination whether the relationship is active.
32. The apparatus of claim 31, wherein said data comprises a creation date and expiration date.
33. The apparatus of claim 31, wherein said data comprises a boolean value.
34. The apparatus of claim 26, wherein said means for searching further comprises: means for removing excess white space from the entered keyphrase; means for finding one or more related keyphrase records in the dataset; and means for finding one or more information records related to each of the related keyplirase records.
35. The apparatus of claim 34, wherein related keyplirase records are either an exact match of the entered keyphrase or a subset of the entered keyplirase.
36. The apparatus of claim 35, wherein the means for finding related keyplirase records further comprises: means for searching the keyplirase records for an exact match of the entered keyplirase; and if an exact match is not found, means for searching the keyplirase records for an exact match of each of the words that comprise the keyplπase.
37. The apparatus of claim 35, wherein the means for finding one or more information records is limited only to those records which are flagged as active.
38. The apparatus of claim 26, wherein the means for of arranging the results is achieved by rotating the sequence of the list of retrieved information so that each time the same infoπnation is retrieved, it is moved up one position in the list. Infomiation already at the top of the list is moved to the bottom of the list.
39. The apparatus of claim 38, wherein said rotation means further comprises: means for obtaining a start value from each of the keyplirase relationship records located in the search; means for incrementing their start values by one; means for resetting the start values to one where the revised start values exceed the corresponding number of infomiation records found to relate to each keyplirase; and means for arranging each set of related information records according to the corresponding start value.
40. The apparatus of claim 39, wherein the means for arranging the infomiation records further comprises: means for assigning the first position in the list to the infoπnation record whose search retrieval order equals the start value; means for assigning the second position in the list to the information record whose search retrieval order equals the start value plus one, and so on until the last info iation record in the search retrieval order is listed; and if the start value is greater than one, means for assigning the next position in the list to the information record whose search retrieval order equals one, and so on until all infonnation records are listed.
41. The apparatus of claim 39, wherein said rotation means is prevented if the same user enters the same keyplirase during a user session.
42. The apparatus of claim 41, wherein said user session exists for each user from the time the user first enters a keyplirase until the lapsing of a predetermined period of time.
43. The apparatus of claim 41, wherein said rotation prevention is accomplished by not incrementing those start values that correspond to keyplirases that the user already entered.
PCT/US2001/051282 2000-10-26 2001-10-26 Device, system and method for a rotating search engine WO2002035323A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002235282A AU2002235282A1 (en) 2000-10-26 2001-10-26 Device, system and method for a rotating search engine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24356900P 2000-10-26 2000-10-26
US60/243,569 2000-10-26

Publications (2)

Publication Number Publication Date
WO2002035323A2 true WO2002035323A2 (en) 2002-05-02
WO2002035323A3 WO2002035323A3 (en) 2002-08-29

Family

ID=22919255

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/051282 WO2002035323A2 (en) 2000-10-26 2001-10-26 Device, system and method for a rotating search engine

Country Status (2)

Country Link
AU (1) AU2002235282A1 (en)
WO (1) WO2002035323A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130969A1 (en) * 2010-11-18 2012-05-24 Microsoft Corporation Generating context information for a search session

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670306A (en) * 1971-03-01 1972-06-13 Honeywell Inf Systems Process for data communication between data processing systems
US3897771A (en) * 1972-10-07 1975-08-05 Bosch Gmbh Robert Apparatus for the interruption of fuel supply in an internal combustion engine
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4805099A (en) * 1987-04-17 1989-02-14 Wang Laboratories, Inc. Retrieval of related records from a relational database
US5377354A (en) * 1989-08-15 1994-12-27 Digital Equipment Corporation Method and system for sorting and prioritizing electronic mail messages
US5519877A (en) * 1993-01-12 1996-05-21 Matsushita Electric Industrial Co., Ltd. Apparatus for synchronizing parallel processing among a plurality of processors
US5733131A (en) * 1994-07-29 1998-03-31 Seiko Communications Holding N.V. Education and entertainment device with dynamic configuration and operation
US5748744A (en) * 1996-06-03 1998-05-05 Vlsi Technology, Inc. Secure mass storage system for computers
US5818914A (en) * 1994-12-07 1998-10-06 Aucnet Inc. Auction information transmission processing system
US5822751A (en) * 1996-12-16 1998-10-13 Microsoft Corporation Efficient multidimensional data aggregation operator implementation
US5825651A (en) * 1996-09-03 1998-10-20 Trilogy Development Group, Inc. Method and apparatus for maintaining and configuring systems
US5890152A (en) * 1996-09-09 1999-03-30 Seymour Alvin Rapaport Personal feedback browser for obtaining media files
US5920568A (en) * 1996-06-17 1999-07-06 Fujitsu Limited Scheduling apparatus and scheduling method
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5987457A (en) * 1997-11-25 1999-11-16 Acceleration Software International Corporation Query refinement method for searching documents
US5999940A (en) * 1997-05-28 1999-12-07 Home Information Services, Inc. Interactive information discovery tool and methodology
US6044353A (en) * 1998-03-10 2000-03-28 Pugliese, Iii; Anthony V. Baggage check-in and security system and method
US6175830B1 (en) * 1999-05-20 2001-01-16 Evresearch, Ltd. Information management, retrieval and display system and associated method
US6178491B1 (en) * 1998-03-27 2001-01-23 Motorola Inc. Method for storing data structures in memory using address pointers, and apparatus
US6249773B1 (en) * 1998-03-26 2001-06-19 International Business Machines Corp. Electronic commerce with shopping list builder
US6253216B1 (en) * 1997-06-13 2001-06-26 Tele-Publishing, Inc. Method and apparatus for providing a personal page
US6292782B1 (en) * 1996-09-09 2001-09-18 Philips Electronics North America Corp. Speech recognition and verification system enabling authorized data transmission over networked computer systems
US6337693B1 (en) * 1996-10-30 2002-01-08 Autodesk, Inc. Vector-based geographic data
US6341276B1 (en) * 1995-03-01 2002-01-22 Ibm Corporation System for selecting a computer solution from a pre-defined set
US6356920B1 (en) * 1998-03-09 2002-03-12 X-Aware, Inc Dynamic, hierarchical data exchange system
US6363393B1 (en) * 1998-02-23 2002-03-26 Ron Ribitzky Component based object-relational database infrastructure and user interface
US6366280B1 (en) * 1993-01-11 2002-04-02 Sun Microsystems, Inc. Visualization system including data navigator for use with digital computer system

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670306A (en) * 1971-03-01 1972-06-13 Honeywell Inf Systems Process for data communication between data processing systems
US3897771A (en) * 1972-10-07 1975-08-05 Bosch Gmbh Robert Apparatus for the interruption of fuel supply in an internal combustion engine
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4805099A (en) * 1987-04-17 1989-02-14 Wang Laboratories, Inc. Retrieval of related records from a relational database
US5377354A (en) * 1989-08-15 1994-12-27 Digital Equipment Corporation Method and system for sorting and prioritizing electronic mail messages
US6366280B1 (en) * 1993-01-11 2002-04-02 Sun Microsystems, Inc. Visualization system including data navigator for use with digital computer system
US5519877A (en) * 1993-01-12 1996-05-21 Matsushita Electric Industrial Co., Ltd. Apparatus for synchronizing parallel processing among a plurality of processors
US5733131A (en) * 1994-07-29 1998-03-31 Seiko Communications Holding N.V. Education and entertainment device with dynamic configuration and operation
US5818914A (en) * 1994-12-07 1998-10-06 Aucnet Inc. Auction information transmission processing system
US6341276B1 (en) * 1995-03-01 2002-01-22 Ibm Corporation System for selecting a computer solution from a pre-defined set
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5748744A (en) * 1996-06-03 1998-05-05 Vlsi Technology, Inc. Secure mass storage system for computers
US5920568A (en) * 1996-06-17 1999-07-06 Fujitsu Limited Scheduling apparatus and scheduling method
US5825651A (en) * 1996-09-03 1998-10-20 Trilogy Development Group, Inc. Method and apparatus for maintaining and configuring systems
US5890152A (en) * 1996-09-09 1999-03-30 Seymour Alvin Rapaport Personal feedback browser for obtaining media files
US6292782B1 (en) * 1996-09-09 2001-09-18 Philips Electronics North America Corp. Speech recognition and verification system enabling authorized data transmission over networked computer systems
US6337693B1 (en) * 1996-10-30 2002-01-08 Autodesk, Inc. Vector-based geographic data
US5822751A (en) * 1996-12-16 1998-10-13 Microsoft Corporation Efficient multidimensional data aggregation operator implementation
US5999940A (en) * 1997-05-28 1999-12-07 Home Information Services, Inc. Interactive information discovery tool and methodology
US6253216B1 (en) * 1997-06-13 2001-06-26 Tele-Publishing, Inc. Method and apparatus for providing a personal page
US5987457A (en) * 1997-11-25 1999-11-16 Acceleration Software International Corporation Query refinement method for searching documents
US6363393B1 (en) * 1998-02-23 2002-03-26 Ron Ribitzky Component based object-relational database infrastructure and user interface
US6356920B1 (en) * 1998-03-09 2002-03-12 X-Aware, Inc Dynamic, hierarchical data exchange system
US6044353A (en) * 1998-03-10 2000-03-28 Pugliese, Iii; Anthony V. Baggage check-in and security system and method
US6249773B1 (en) * 1998-03-26 2001-06-19 International Business Machines Corp. Electronic commerce with shopping list builder
US6178491B1 (en) * 1998-03-27 2001-01-23 Motorola Inc. Method for storing data structures in memory using address pointers, and apparatus
US6175830B1 (en) * 1999-05-20 2001-01-16 Evresearch, Ltd. Information management, retrieval and display system and associated method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130969A1 (en) * 2010-11-18 2012-05-24 Microsoft Corporation Generating context information for a search session

Also Published As

Publication number Publication date
AU2002235282A1 (en) 2002-05-06
WO2002035323A3 (en) 2002-08-29

Similar Documents

Publication Publication Date Title
KR100719009B1 (en) Apparatus for identifying related searches in a database search system
US6983282B2 (en) Computer method and apparatus for collecting people and organization information from Web sites
Seymour et al. History of search engines
KR100851710B1 (en) Lateral search
US8751489B2 (en) Predictive selection of item attributes likely to be useful in refining a search
US6078916A (en) Method for organizing information
US10423668B2 (en) System, method, and user interface for organization and searching information
US8250456B2 (en) Structured web advertising
US7412442B1 (en) Augmenting search query results with behaviorally related items
JP4857075B2 (en) Method and computer program for efficiently retrieving dates in a collection of web documents
US7424486B2 (en) Selection of search phrases to suggest to users in view of actions performed by prior users
US20040083127A1 (en) Web site and method for search engine optimization by prompting, recording and displaying feedback of a web site user
US20060253423A1 (en) Information retrieval system and method
US8321400B2 (en) Method, device and software for querying and presenting search results
JP2007293896A (en) System and method for refining search queries
US7636732B1 (en) Adaptive meta-tagging of websites
US20030110158A1 (en) Search engine visibility system
WO2001080079A2 (en) Search query autocompletion
JP2007524925A5 (en)
US20080313167A1 (en) System And Method For Intelligently Indexing Internet Resources
WO2002035323A2 (en) Device, system and method for a rotating search engine
US20050216446A1 (en) Technical process to deliver pre-populated search suggestions using the intelli-match search methodology
Craswell et al. Web information retrieval
CA2537270A1 (en) Method, device and software for querying and presenting search results
Fisher et al. The role for Web search engines

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP