WO2002035323A2 - Device, system and method for a rotating search engine - Google Patents
Device, system and method for a rotating search engine Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; 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
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.
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)
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)
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 |
-
2001
- 2001-10-26 WO PCT/US2001/051282 patent/WO2002035323A2/en active Application Filing
- 2001-10-26 AU AU2002235282A patent/AU2002235282A1/en not_active Abandoned
Patent Citations (27)
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)
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 |