`Ryan et al.
`
`I 1111111111111111 11111 111111111111111 IIIII 111111111111111 1111111111 11111111
`US006421675Bl
`US 6,421,675 Bl
`Jul. 16, 2002
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) SEARCH ENGINE
`
`(75)
`
`Inventors: Grant James Ryan; Shaun William
`Ryan, both of Christchurch; Craig
`Matthew Ryan, Wellington; Wayne
`Alistar Munro; Del Robinson, both of
`Christchurch, all of (NZ)
`
`(73) Assignee: S. L. I. Systems, Inc. (NZ)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21) Appl. No.: 09/115,802
`
`(22)
`
`Filed:
`
`Jul. 15, 1998
`
`Related U.S. Application Data
`Provisional application No. 60/078,199, filed on Mar. 16,
`1998.
`
`Int. Cl.7 . ... ... .. ... ... ... ... .. ... ... ... ... ... .. ... ... .. G06F 17/30
`U.S. Cl. ......................... 707/100; 707/501.1; 707/3
`Field of Search ................................. 707/1-4, 501,
`707/513, 523, 100, 501.1; 709/206
`
`6,094,649 A * 7/2000 Bowen et al.
`................. 707/3
`6,115,718 A * 9/2000 Huberman et al.
`......... 707/102
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`
`WO 95/29451
`WO 96/23265
`WO 96/29661
`WO 97/22066
`
`11/1995
`8/1996
`9/1996
`6/1997
`
`........... G06F/17/30
`........... G06F/17/30
`........... G06F/17/30
`. . . . . . . . . . . G06F /17 /21
`
`OTHER PUBLICATIONS
`
`"Go To Sells Positions", The Search Engine Report, Mar. 3,
`1998, URL:http://www.searchenginewatch.com, m
`its
`entirety, pp. 1-5.
`Kramer et al., "Thesaurus Federations: Loosely Integrated
`Thesauri for Document Retrieval in Networks Based on
`Internet Technologies", Journal of Heterocyclic Chemistry,
`vol. 1, No. 2, Sep. 1997, pp. 122-131.
`"The New Meta Tags are Coming-or are They?" The Search
`Engine Report, Dec. 4, 1997, URL:http://www.searchengi(cid:173)
`ne.com, in its entirety, pp. 1-4.
`* cited by examiner
`
`Primary Examiner----Hosain T. Alam
`Assistant Examiner-Ella Colbert
`(74) Attorney, Agent, or Firm-Pillsbury Winthrop LLP
`
`(60)
`
`(51)
`(52)
`(58)
`
`(56)
`
`References Cited
`
`(57)
`
`ABSTRACT
`
`U.S. PATENT DOCUMENTS
`
`................. 707/2
`8/1995 Kaplan et al.
`5,446,891 A
`6/1996 Meske, Jr. et al. .......... 709/206
`5,530,852 A
`5,659,732 A * 8/1997 Kirsch ........................... 707/5
`5,721,897 A
`2/1998 Rubinstein ..................... 707/2
`5,778,367 A * 7/1998 Wesinger, Jr. et al. ........ 707/10
`5,819,092 A * 10/1998 Ferguson et al.
`.............. 717/1
`5,855,020 A * 12/1998 Kirsch ......................... 707/10
`5,996,007 A * 11/1999 Klug et al.
`................. 709/218
`6,006,218 A * 12/1999 Breese et al. .................. 707/3
`6,029,182 A * 2/2000 Nehab et al.
`............... 707/523
`6,041,326 A * 3/2000 Amro et al.
`.................. 707/10
`6,078,916 A * 6/2000 Culliss .......................... 707/5
`
`The present invention provides for a method of updatig an
`internet search engine database with the results of a user's
`selection of specific web page listings from the general web
`page listing provided to the user as a result of his initial
`keyword search entry. By updating the database with the
`selections of many different users, the database can be
`updated to prioritize those web listings that have been
`selected the most with respect to a given keyword, and
`thereby presenting first the most popular web page listings
`in a subsequent search using the same keyword search entry.
`
`5 Claims, 27 Drawing Sheets
`
`Search Engine I 0
`
`Suggest WebPages
`(12)
`
`Suggest keywords
`4)
`
`Advertise
`(16)
`
`Select
`Keyword
`suggestor
`Type (28)
`
`Select
`Content Type
`(34)
`
`Operate upon
`current data
`(30)
`
`Operate upon
`current data
`(36)
`
`Operate
`upon
`current data
`(20)
`
`Display a
`list of web
`pages (22)
`
`Suggestions
`(24)
`
`isplay
`Active
`Suggt:stions
`(26)
`
`Display
`suggested
`keywords
`(32)
`
`Display
`content
`(38)
`
`Page 1 of 48
`
`GOOGLE EXHIBIT 1007
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 1 of 27
`
`US 6,421,675 Bl
`
`Search Engine 10
`
`Suggest WebPages
`(12)
`
`Suggest keywords
`4)
`
`Advertise
`(16)
`
`Select
`Keyword
`suggestor
`Type (28)
`
`Select
`Content Type
`(34)
`
`Operate upon
`current data
`(30)
`
`Operate upon
`current data
`(36)
`
`isplay
`Active
`Suggestions
`(26)
`
`Display
`suggested
`keywords
`(32)
`
`Display
`content
`(38)
`
`Operate
`upon
`current data
`(20)
`
`Display a
`list of web
`pages (22)
`
`Figure IA
`
`Page 2 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 2 of 27
`
`US 6,421,675 Bl
`
`User Site/
`Computer
`IOOA
`
`User Site/
`Computer
`IOOB
`
`Developer
`Site/
`Computer
`104A
`
`Developer
`Site/
`Computer
`104B
`
`Server 102A
`
`Server 102B
`
`User Site/
`Computer
`IOOC
`
`User Site/
`Computer
`IOOD
`
`Figure 1B
`
`Page 3 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 3 of 27
`
`US 6,421,675 Bl
`
`Data inputs to the search engine 50
`• User (keyword 52, profile types 54, user ID 56, search type
`58, date-time 60, IP address 62 , other 64 )
`• Web page developer (URL 66, description 68, keywords 70,
`target audience 72, date-time 74)
`• Advertiser (bids 76, advertising details 78)
`• Results from other search engines 80
`
`Determine
`Web pages
`(82)
`
`Determine
`Suggested
`Key words
`(84)
`
`Determine
`Advertisements
`(86)
`
`,J.,
`Outputs of the search engine IO to end user
`•
`list of web pages 90
`•
`suggested keywords 92
`•
`advertisements 94
`
`Figure 2
`
`Page 4 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 4 of 27
`
`US 6,421,675 Bl
`
`Entry step 112 of keyword 52, profile types 54, user ID 56,
`search type 58, date-time 60, IP address 62 , other 64
`
`Search Engine/Data sets ( 114)
`
`Other search engines (116)
`
`Surfer trace data
`➔Keyword (124)
`➔URL (126)
`➔User ID (128)
`➔IP address (130)
`➔Date-time (132)
`➔Description (134)
`
`Tagged search results ( 118)
`
`i
`
`User selects URL (120)
`
`User taken to URL (122)
`
`Figure 3A
`
`Page 5 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 5 of 27
`
`US 6,421,675 Bl
`
`r
`
`Key-words
`
`l
`
`r
`
`Search Engine/database
`
`l
`
`"
`
`~ ,,
`
`/
`
`'
`
`r
`
`'
`
`~
`
`J
`
`Hit-list of ranked locations
`
`l
`
`r
`
`"'
`User selections from hit list
`
`~
`
`l
`
`"I
`
`End of Search
`
`r
`
`'
`
`Figure 3B
`
`'I
`Updated Users choice hit list
`used for next search.
`
`~
`
`I
`
`Users Choice hit-list
`updated by Surfer trace
`
`I
`
`Surfer-trace formed from of
`valid user selections
`
`►
`
`Page 6 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 6 of 27
`
`US 6,421,675 Bl
`
`Entry of keyword 52 , profile types 54 , user ID 56 ,
`search type 58, date-time 60, IP address 62 , other 64
`
`Keywfild I~ J/
`
`,,./' I
`
`(164)
`
`,,
`
`\
`\
`Profile Ids
`(166)
`
`.L
`
`~
`
`e developer
`Web pag
`submissi on (176)
`• URL (66)
`• Des cription (68)
`• Keyw ords (70)
`Targ et audiences (72)
`•
`• Date -time (74)
`
`~ .,
`
`Data fro m user election
`- Keyword (124)
`➔URL (126)
`➔User ID (128)
`➔IP address (130)
`➔Date-time (132)
`➔Description (134)
`
`Personal
`Link
`table
`(174)
`
`~
`
`Security table
`(168)
`
`Keyword
`URL
`link table
`
`Cumulative J (172)
`
`Surfer trace
`(170)
`
`.. .,
`
`URL table
`(188)
`
`1
`
`Figure 4
`
`Page 7 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 7 of 27
`
`US 6,421,675 Bl
`
`Entry of keyword 52, profile types 54, user ID 56, search
`type 58, date-time 60, IP
`ress 62, other 64
`
`Keyword table
`(164)
`
`Profile Ids
`(166
`
`Decision
`to send
`out tagged
`web pages
`(246)
`
`Security table
`(168)
`
`Cumulative Surfer
`Trace
`(170)
`
`Keyword
`URL
`Link Table
`(172)
`
`Personal
`Links
`(174)
`
`URL Table (188)
`
`List of suggested web pages (250)
`
`Figure 5
`
`Page 8 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 8 of 27
`
`US 6,421,675 Bl
`
`Popular search select and keyword
`entrv ( 272)
`
`, ,
`List of web pages is produced based
`on the values of X from table 3 for
`the keyword entered
`(274)
`
`., ,
`The list of web pages is combined with
`the web page details in table 2 (URL
`address, description)
`(276)
`
`,,
`
`Resulting set of web
`pages are sent to user
`(278)
`
`Figure 6
`
`Page 9 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 9 of 27
`
`US 6,421,675 Bl
`
`Hot off the press search select
`and kevword entrv (292)
`
`,,
`List of web pages is produced based
`on the values of Z from table 3 for
`the keyword entered
`(294)
`
`,,
`The list of web pages is combined
`with the web page details in table 2
`(URL address, description)
`(296)
`
`Resulting set of web
`pages are sent to user
`(298)
`
`Figure 7
`
`Page 10 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 10 of 27
`
`US 6,421,675 Bl
`
`High fliers search select and
`kevword entrv (322)
`
`,,
`List of web pages is produced
`based on a combination of X and Y
`(see equation in text) from table 3
`for the keyword entered
`(324)
`
`+
`
`The list of web pages is combined
`with the web page details in table 2
`(URL address, description)
`(326)
`
`i
`
`Resulting set of web
`pages are sent to user
`(328)
`
`Figure 8
`
`Page 11 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 11 of 27
`
`US 6,421,675 Bl
`
`Random search select and
`kevword entrv (352)
`
`1
`
`List of web pages is produced based on a
`random selection of any URL with
`values for X,Y or Z from table 3 for the
`keyword entered
`(354)
`
`1
`
`The list of web pages is combined
`with the web page details in table 2
`(URL address, description)
`(356)
`
`~,
`
`Resulting set of web
`pages are sent to user
`(358)
`
`Figure 9
`
`Page 12 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 12 of 27
`
`US 6,421,675 Bl
`
`Previous favorites search select
`and kevword entrv (372)
`
`List of web pages is produced
`based on a values of X from table 6
`for the keyword entered
`(374)
`
`The list of web pages is combined
`with the web page details in table 2
`(URL address, description)
`(376)
`
`H'
`
`Resulting set of web
`pages are sent to user
`(378)
`
`Figure 10
`
`Page 13 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 13 of 27
`
`US 6,421,675 Bl
`
`Collective search select and
`kevword entrv ( 402)
`
`1 r
`
`List of web pages produced that is a mixture
`of conventional, popular, highflier, new, and
`past preferences searches
`(404)
`
`The list of web pages is combined with the web
`page details in table 2 (URL address,
`description)
`(406)
`
`Resulting set of web pages are
`sent to user
`(408)
`
`Figure 11
`
`Page 14 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 14 of 27
`
`US 6,421,675 Bl
`
`Date search select and keyword
`/date-time entry (432
`
`List of web pages produced based
`on the nearness of the date to value
`of Z in table 3
`(434)
`
`The list of web pages is combined
`with the web page details in table 2
`(URL address, description)
`(436)
`
`Resulting set of web
`pages are sent to user
`(438)
`
`Figure 12
`
`Page 15 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 15 of 27
`
`US 6,421,675 Bl
`
`Preferences for how the default
`search results will be combined
`(Table 5)
`(464)
`
`Custom search select and
`kevword /User ID entrv (462)
`
`List of web pages produced that is a
`mixture of the popular, highflier, new,
`and past preferences searches as defined
`by a customers predefined preferences
`(466)
`
`►
`
`i
`
`The list of web pages is combined with the
`web page details in table 2 (URL address,
`description)
`(468)
`
`11,
`
`Resulting set of web pages
`are sent to user
`(470)
`
`Figure 13
`
`Page 16 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 16 of 27
`
`US 6,421,675 Bl
`
`Users default profile (Table 5)
`Eg Male (Xl), Student (X5),
`US (X7)
`(492)
`
`keyword and User ID entry
`(490)
`
`List of web pages produced based
`on the combined values ofX (from
`table 3) that match the profile type
`of the user (eg Xl, X5, X7)
`(494)
`
`►
`
`i
`
`The list of web pages is combined
`with the web page details in table 2
`(URL address, description)
`(496)
`
`,,
`Resulting set of web
`pages are sent to user
`(498)
`
`Figure 14
`
`Page 17 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 17 of 27
`
`US 6,421,675 Bl
`
`keyword entry
`(520)
`
`,,
`List of inaccessible
`keyword searches
`(522)
`
`,,
`
`Keyword entered
`into search engine
`(524)
`
`Figure 15
`
`Page 18 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 18 of 27
`
`US 6,421,675 Bl
`
`Keyword, IP address, and User
`ID entrv (554)
`
`If user has a User ID then tagged
`results are always send out so the
`personal preferences table can be
`updated
`(556)
`
`Keyword and IP, Users ID are
`checked against security table
`7. If it is not a repeat key word
`search then tagged results are
`sent out
`(558)
`
`Keyword is compared to table 1.
`!fit meets predefined sampling
`criteria tagged results are sent
`out
`(560)
`
`"Tagged" results sent out to
`users
`(562)
`
`Figure 16
`
`Page 19 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 19 of 27
`
`US 6,421,675 Bl
`
`User ID, keywords, search types, profile types
`entry (588)
`
`Keyword table
`064)
`
`Security table
`(168)
`
`Cumulative Surfer
`Trace
`(170)
`
`Profile Ids
`166)
`
`Personal
`Links
`(174)
`
`Keyword
`URL
`Links
`(172)
`
`URL Table
`(188)
`
`List of suggested web pages
`(604)
`
`Figure 17
`
`Page 20 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 20 of 27
`
`US 6,421,675 Bl
`
`User ID
`
`entry (6 0) ..
`
`Keyword table
`(164)
`
`Security table
`(168)
`
`Cumulative Surfer
`Trace
`(170)
`
`Profile Ids
`(166) '-.
`"A.
`Personal
`Links
`(174)
`
`,.._
`
`Keyword
`URL
`Links
`(172)
`
`URL Table
`
`•
`(188) •
`
`List of suggested web pages
`(636)
`
`Figure 18
`
`Page 21 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 21 of 27
`
`US 6,421,675 Bl
`
`Keyword, profile type
`entry (640)
`
`Data sets
`(642)
`
`Normal searches
`for keywords
`(646)
`
`Key word surfer trace
`(648)
`-keyword (original) (52)
`-keyword (selected) (652
`-IP address (130)
`-User ID (128)
`-Date-time( l 32)
`
`Tagged suggested keywords (660)
`
`.___ _ _ _ _ _ User selects keyword (662)
`
`+
`+
`
`User taken to results of selected keyword (664)
`
`Figure 19
`
`Page 22 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 22 of 27
`
`US 6,421,675 Bl
`
`Keyword , IP address and, user
`ID entry 684
`
`Security table
`(168)
`
`Keyword links table
`(696)
`
`Cumulative keyword trace
`(698)
`
`Data from keyword suggester trace ( 648)
`-keyword (original) (52)
`-keyword (selected) (652)
`- IP address (130)
`- User ID (128)
`- Date time ( 132)
`
`Figure 20
`
`Page 23 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 23 of 27
`
`US 6,421,675 Bl
`
`Decision to
`send out
`tagged
`keyword
`suggestions
`(20)
`
`Keyword
`URL link
`table
`(744)
`
`---------..
`
`List of suggested keywords
`(746)
`
`Figure 21
`
`Page 24 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 24 of 27
`
`US 6,421,675 Bl
`
`Click through data (772)
`-keyword (774)
`-profile type(776)
`-date time (778)
`- IP address (780)
`-User ID (782)
`-URL. no. (784)
`
`Keyword, profile entry
`(762)
`
`i
`
`Content selector (764)
`
`"I
`
`l
`
`Tagged content sent to user (766)
`
`User selects content (768)
`
`,,
`+
`t
`
`User taken to content URL (770)
`
`Figure 22
`
`Page 25 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 25 of 27
`
`US 6,421,675 Bl
`
`Keyword bids
`($, max$)
`(802)
`
`Profile content
`data sets(806)
`
`Profile bids
`($,max$)
`(808)
`
`Data from
`content sent out
`(keyword profile
`type)
`(810)
`
`Details of Content
`Provider--{812)
`(Address- (814)
`description of content,(816)
`payment details )(818)
`
`Click through data
`➔keyword(820)
`➔date-time(822)
`➔IP address(824)
`➔user ID (826)
`➔profile types(828)
`
`Figure 23
`
`Page 26 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 26 of 27
`
`US 6,421,675 Bl
`
`Keyword profile type
`(852)
`
`Keyword content
`data sets (854)
`
`•
`
`Value of keyword
`Content
`
`'t (858)
`
`Profile content data
`sets
`
`(856) •
`
`Value of profile
`Content
`(860)
`
`/
`
`Determining the typv
`of Content (862)
`
`Determining the specific
`Content (864)
`
`Details of Content
`Provider
`Data sets
`
`Content sent to
`user
`(868)
`
`Details o Content
`numbers sent to
`Content provider
`(870)
`
`Figure 24
`
`Page 27 of 48
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 27 of 27
`
`US 6,421,675 Bl
`
`CONTENT 902
`
`Web page listing 900
`
`Web page listing 900
`
`Web page listing 900
`
`Web page listing 900
`
`Figure 25
`
`Page 28 of 48
`
`
`
`US 6,421,675 Bl
`
`1
`SEARCH ENGINE
`
`This application is related to U.S. Application No. Ser.
`60/078,199 entitled "Improved Search Engine" that was
`filed on Mar. 16, 1998.
`
`FIELD OF THE INVENTION
`
`The present invention relates to a method and apparatus
`that allows for enhanced database searching, and more
`particularly; for use as an internet search engine.
`
`BACKGROUND OF THE RELATED ART
`
`2
`determined according to the programmed criteria of the
`search engine, and the emphasis placed on particular types
`of site design, rather than any measure of the actual users'
`opinions. Indeed this can lead to the absurd situation
`5 whereby in an attempt to ensure a favorable rating by the
`most commonly used search engines, some designers delib(cid:173)
`erately configure their sites in the light of the previously
`mentioned criteria, to the detriment of the presentation,
`readability and content of the site.
`
`10
`
`SUMMARY OF THE INVENTION
`It is an object of the present invention to ameliorate the
`aforementioned disadvantages of conventional search
`engines by harnessing the cerebral power of the human
`operator.
`It is a further object of the present invention to provide a
`novel search engine with enhanced efficiency, usability and
`effectiveness with a reduced system storage and/or compu(cid:173)
`tational requirements in comparison to existing software
`engines.
`It is a further object of the present invention to provide a
`variety of indications of the popularity of the search data,
`together with an indication of its date of creation or updat(cid:173)
`ing.
`In order to obtain the above recited advantages of the
`present invention, among others, one embodiment of the
`present invention provides for a method of updating an
`internet search engine database with the results of a user's
`selection of specific web page lists from the general web
`page listing provided to the user as a result of his initial
`keyword search entry. By updating the database with the
`selections of many different users, the database can be
`updated to prioritize those web listings that have been
`selected the most with respect to a given keyword, and
`hereby presenting first the most popular web page listings in
`a subsequent search using the same keyword search entry.
`In another embodiment of the present invention, a method
`of determining content to provide along with listings trans(cid:173)
`mitted from a server computer to user sites is provided. In
`40 this embodiment, there is obtained a content listing from
`each one of a plurality of different developer sites. Each of
`the content listings includes content, a developer identifier,
`and a keyword, and a keyword selection factor. Thereafter,
`there is determined a particular keyword from the obtained
`45 keywords that is the same for different content listings. For
`that particular keyword, the keyword selection factor is used
`in determining when to transmit different content listings to
`the user sites.
`In still another embodiment, there is provided a method of
`50 updating a keyword table with the results of a user's
`selection of specific keywords which were obtained from a
`list of related keywords presented to the user. By updating
`the database with selections of many different users associ(cid:173)
`ated with t same keyword, appropriate keywords can be
`55 provided and presented first when that same keyword 1s
`subsequently entered.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`These and other advantages of the present invention may
`60 be appreciated from studying the following detailed descrip(cid:173)
`tion of the preferred embodiment together with the drawings
`in which:
`FIG. 1 illustrates certain of the overall features of the
`present invention;
`FIG. 2 illustrates various inputs to the search, and, for
`each often different capabilities, illustrates the outputs that
`will be provided engine according to the present invention;
`
`15
`
`20
`
`25
`
`30
`
`An efficient and practical means of obtaining relevant
`information and also screening unwanted/uninteresting
`information has been an ongoing need, especially since the
`inception of the internet. This need is particularly acute at
`present due to the exponential growth in the number of
`world-wide web sites and the sheer volume of information
`contained therein. In an attempt to index the information
`available on the internet, a number of software search
`engines have been created via which a user enters a search
`command comprised of suitable keywords from a keyboard
`at his personal computer. The search command is transmit(cid:173)
`ted to a server computer, the has a search engine associated
`with the server computer. The search engine receives the
`search command, and then using it scans for these key words
`through a database of web addresses and the text stored on
`the web sites. Thereafter, the results of the scan are trans(cid:173)
`mitted from the server computer back to the user's computer
`and displayed on the screen of the user's computer.
`In order for the search engine to be aware of new web sites
`and to update its records of existing sites, either the propri(cid:173)
`etors of the web sites notify the search engine themselves or
`the information may be obtained via a 'web crawler' to 35
`update the database at the server computer. A web crawler is
`an automated program which explores and records the
`contents of a web site and its inks to other sites, thereby
`spreading between sites in an attempt to index all the current
`sites.
`This database structure and method of searching it poses
`some significant difficulties The internet growth-rate has
`resulted in a substantial backlog in the scanning of new sites,
`notwithstanding the fact that web sites are frequently
`deleted, re-addressed, updated and so forth thus leaving the
`search engine with outdated and/or misleading information.
`Although the web crawlers can be configured to prioritize
`possible key-words according to their location (title, embed(cid:173)
`ded link, address etc), nevertheless, depending on the type of
`search engine used, substantial portions of the web site text
`( often involving the majority or even all of the site text) is
`still required to be scanned. This results in colossal storage
`requirements for the search engine. Furthermore, a typical
`key word search may bring up an excessively large volume
`of material, the majority of which may be of little interest to
`the user. The user typically makes a selection from the list
`based on the brief descriptions of the site and explores the
`chosen sites until the desired information is located.
`These results are in the form of a list, ranked according to
`criteria specific to the search engine. These criteria may
`range from the number of occurrences of the key-words
`anywhere within the searched text, to methods giving a
`weighting to key-words used in particular positions (as
`previously mentioned). When multiple key-words have been
`used, sites are also ranked according to the number of 65
`different key-words applicable. A fundamental drawback of
`all these ranking systems is their objectivity-they are
`
`Page 29 of 48
`
`
`
`3
`FIGS. 3A and 3B illustrates an overview of the process by
`which web pages are selected in making up the search results
`provided to the end user accord to the present invention;
`FIG. 4 illustrates the data sets used for different web-page
`searches according to the present invention.
`FIG. 5 shows e various data sets previously describe and
`various inputs and actions that result in a list of suggested
`web pages being provided according to the present inven(cid:173)
`tion;
`FIG. 6 illustrates the implementation of a popular search
`according to the present invention:
`FIG. 7 illustrates the implementation of a hot off the press
`search according to the present invention:
`FIG. 8 illustrates the implementation of a high-flyers 15
`search according to the present invention:
`FIG. 9 illustrates the implementation of a random search
`according to the present invention:
`FIG. 10 illustrates the implementation of a previous past
`favorites search according to the present invention.
`FIG. 11 illustrates the implementation of a collective
`search according to the present invention.
`FIG. 12 illustrates the implementation of a date created
`search according to the present invention.
`FIG. 13 illustrates the implementation of a customized
`search according to the present invention.
`FIG. 14 illustrates the implementation searching based
`upon a group identity according to the present invention.
`FIG. 15 illustrates a keyword eliminator feature according
`to the present invention.
`FIG. 16 illustrates the process of determining which
`search results should be used to make up the cumulative
`surfer trace table according to the present invention.
`FIG. 17 instates active suggestion of web pages according
`to the present invention.
`FIG. 18 illustrates passive suggestion of web pages
`according to the present invention.
`FIG. 19 provides an overview of suggesting keywords 40
`according to the present invention.
`FIG. 20 illustrates the manner of creating data sets for
`suggested keywords according to the present invention.
`FIG. 21 illustrates a variety of manners in which a list of
`suggested keywords can be created according to the present 45
`invention.
`FIG. 22 illustrates how content is attached to web page
`listings according to the present invention.
`FIG. 23 illustrates various content data sets and opera(cid:173)
`tions that populate them according to the present invention.
`FIG. 24 illustrates various content data sets and opera(cid:173)
`tions that are used to select data from them a according to the
`present invention.
`FIG. 25 illustrates web page listings
`data according to the present invention.
`
`and other content 55
`
`30
`
`35
`
`DETAILED DESCRIPTION OF IBE
`PREFERRED EMBODIMENT
`FIGS. lA and lB illustrate certain of the overall features 60
`of the present invention, which will be described in further
`detail hereinafter. It is initially noted that like numbered
`reference numerals in various Figures and descriptions will
`be used in the following descriptions to refer to the same or
`similar structures, actions or process steps.
`The present invention is preferably implemented in a
`network environment wherein each computer contains,
`
`US 6,421,675 Bl
`
`20
`
`4
`typically, a microprocessor, memory and modem, a certain
`of the computers contain displays and the like, as are well
`known. As shown in FIG. lB, a plurality of user sites/
`computers lO0A-lO0D are shown, as are a plurality of
`5 server computers 102A-B, and developer sites/computers
`104A-B. It is understood that in a typical internet network,
`that different server computers 102 can be interconnected
`together, as is illustrated. Further, while only a few user
`sites, developer sites and server computers are shown, it is
`10 understood that thousands of such computers are intercon(cid:173)
`nected together.
`While the specific embodiments of tee present invention
`are written for applications in which the invention is imple(cid:173)
`mented as sequences of coded program instructions operated
`upon by a server computer 102 as illustrated, it will be
`understood that certain sequences of these program instruc-
`tions could instead be implemented in other forms, such as
`processors having specific instructions specifically tailored
`for the applications described hereinafter.
`As will be illustrated hereinafter, additional operations,
`transparent to the user, are implemented in order to obtain
`search results in the future based upon currently made
`searches. As shown, the present invention has various
`capabilities, each of which are illustrated in a parallel flow
`25 in FIG. lA, which illustrates an overview of the different
`capabilities that can be ongoing simultaneously. In terms of
`overall capabilities, start block 10 show three: suggesting
`web pages 12, suggesting keywords 14, and content sug(cid:173)
`gestion 16.
`In order for web pages 12 to be selected by a user
`according to the present invention, there is a step 18 in which
`the type of search to be performed is selected. Thereafter, in
`step 20, search input obtained from one of a variety of
`sources is input and used along with the algorithm selected
`in step 18 to determine search results. The results of this
`search are then displayed to the user, as shown by steps of
`displaying a created list of web pages, displaying passively
`suggested web pages, and displaying actively suggested web
`pages, identified as steps 22, 24, and 26, respectively, in FIG.
`1. This capability, and how it is implemented, will be
`described in more detail hereinafter.
`In order for keyword suggestion to take place, which the
`user may or may not select, there is preferably an initial step
`28 in which the type of keyword search algorithm to use is
`selected. Although many systems may have only one such
`algorithm, various ones, as described hereinafter, are pos(cid:173)
`sible. Once the keyword search algorithm is selected, step
`30 follows in which, based upon a keyword entered by a
`50 user, the current set of keyword data is operated upon to
`determine associated keywords. The results of this operation
`are then displayed to the user in 30. This capability, and how
`it is implemented, will be described in more detail herein(cid:173)
`after.
`The previously mentioned web page and keyword selec(cid:173)
`tion capabilities inured to the direct benefit of the end user.
`Another novel feature of the present invention, which indi(cid:173)
`rectly inures to the benefit of the end user, directly benefits
`the advertiser, because it allows for content to be targeted in
`real time based upon various criteria. As will be described
`more fully hereinafter, a content providing algorithm is
`initially selected which will determine how content is
`selected in step 34. Step 36 follows, and based upon inputs
`from users and content providers, which content to show is
`65 determined. Thereafter, the advertisements are displayed for
`the user to see, simultaneously with the display of either
`keywords and/or web pages
`
`Page 30 of 48
`
`
`
`US 6,421,675 Bl
`
`6
`appropriate, the structure of the dependent data-sets used to
`create the defined data-set are shown in tabular form) with
`reference to the preferred embodiment of the present inven(cid:173)
`tion. Thereafter, certain of these will be explained in even
`5 greater detail to fully teach how to make and use the present
`invention.
`Locations: a plurality of unique information entities.
`Web-pages: Locations in the form of Web-pages URL
`Universal Reference Locator) addresses.
`Key-word: The word or phrase that is entered in the
`search engine
`Hit-list: The list of web-pages URL addresses) that is the
`result of the key-word search. This hit-list ranks the rel-
`15 evance of the web-pages relative to the key-word. This
`bit-list always has a key-word associated with it.
`
`10
`
`20
`
`Input data set
`
`Output data set
`
`Hit-list - Ranked hit-list of
`Key-word (temporary)
`Database to match the key-word with Web-pages (temporary)
`(permanent)
`
`30
`
`5
`While FIG. 1 illustrates certain overall features according
`to the present invention, many of the advantageous features
`of the present invention are not, as mentioned previously,
`observable to the user, but instead transparent to user. They
`are, however, significant in order to fully explain how the
`present invention is implemented and are explained herein(cid:173)
`after.
`FIG. 2 is provided to illustrate various inputs to the search
`engine according to the present invention, and, for different
`capabilities, illustrates the outputs that will be provided.
`More detailed explanations are provided hereinafter. Data
`that is potentially input from search engine user include:
`keyword 52-this is the word or phrase that the user eater
`to find a list of web pages
`profile types 54-these are the groups of people they
`associate them selves with e.g. US, male, doctor etc.
`user ID 56-this is a unique identification for each user
`that chooses to register with the search engine. This can
`be done via a cookie or logon.
`search type 58-this can be actively chosen by the
`searcher to determine the type of search results they
`would like (popular, new, etc)
`date-time 60-this is passively recorded when a searcher
`uses the system
`IP address 62-this is passively recorded when a searcher
`uses the system
`other 64---this includes other personalization information
`such as search customization preferences, keywords for
`web page suggestion etc. This information is entered
`actively once by the user then used to personalize the
`search results each time the users (identified by user
`ID) uses the search engine.
`Data from web-page developers include:
`URL