`
`United States Patent
`Chang et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,298,343 B1
`*Oct. 2, 2001
`
`US006298343B1
`
`(54) METHODS FOR INTELLIGENT UNIVERSAL
`DATABASE SEARCH ENGINES
`
`5,634,051 * 5/1997 Thomson ............................... .. 707/5
`5,878,423 * 3/1999 Anderson etal. ................. .. 707/100
`
`(75) Inventors: Jackson C. S. Chang, Taipei; David D.
`S. H0, Chung Ho, both of (TW); Leslie
`L. M. Xia, Shanghai (CN)
`
`(
`
`(73) AssigneeZ Inventec Corporation
`*
`_
`_
`_
`_
`_
`) Notice.
`This' patent issued on a continued pros-
`ecution application ?led under 37 CFR
`1.53(d), and is subject to the tWenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`Subject to any diSCIaiIIIeLIhe term of this
`Pawnt is extended or adjusted under 35
`U-S~C~ 154(k)) by 0 days-
`
`(21) Appl- NO-I 08/998,955
`(22) Filed:
`Dec‘ 29 1997
`’
`Related US Application Data
`
`(63) Continuation of application No. 08/998,955, ?led on Dec.
`29, 1997-
`(51) Int. c1.7 ...................................................... .. G06F 9/00
`(52)
`_ 707/5; 707/4
`(58) Field of Search ......................................... .. 707/1—204
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`* Cited by examiner
`
`Primary Examiner—Thomas Black
`Assistant Examiner—John G. Mills
`(74) Attorney, Agent, or Firm—Chien-Wei (Chris) Chou;
`Anthony B‘ Diepenbrock, I; Oppenheimer Wolff &
`Donneny LLP
`’
`
`(57)
`
`ABSTRACT
`
`A method and apparatus for processing user-submitted
`search information to permit a database to be searched
`regardless of the format and language of the user-submitted
`information. The user-submitted information is ?rst catego
`riZed into one or more categories, Where each category is a
`type of information such as a date, a proper name or a place.
`For each category pertaining to the user-submitted
`information, the search is re?ned by comparing the user
`submitted information to a feature table containing speci?c
`data types corresponding to each category. From the results
`of any affirmative comparison With the feature table, a
`starting location Within a corresponding search table is
`retrieved The Search is further re?ned by Comparing the
`user-submitted information to the entries of the search table
`beginning at the Starting location‘ From the results of any
`af?rmative comparison With the search table entries a data
`base address is obtained Which is used to obtain a database
`entry sought after by the user.
`
`5,388,196 * 2/1995 Pajak et a1. ........................ .. 345/329
`
`21 Claims, 9 Drawing Sheets
`
`/2
`
`r6 r“
`
`4
`
`r “
`
`r ‘3
`
`Search
`lncnip History Table
`
`Decoder * 123:3:
`
`2:11:22)
`
`Daiabase(s) wgnpm
`
`Update History Table
`
`oes the Search Inquiry
`Match the Entry ‘.7
`
`Are There More
`Entries in
`the History Table 7
`
`Petitioner Apple Inc. - Exhibit 1008, p. 1
`
`
`
`U.S. Patent
`
`0a. 2, 2001
`
`Sheet 1 0f 9
`
`US 6,298,343 B1
`
`2
`
`3950
`
`A
`
`333%
`
`$332
`
`M1
`
`I. $38G ‘
`
`028 E2:
`
`£83m
`
`GEE:
`
`
`
`
`
`Bank @822 82x5
`
`B .wE
`
`Petitioner Apple Inc. - Exhibit 1008, p. 2
`
`
`
`U.S. Patent
`
`Oct. 2, 2001
`
`Sheet 2 0f 9
`
`US 6,298,343 B1
`
`Search Inquiry in a Format of
`Any Type or Language
`
`Is the Inquiry Available
`in the History Table ?
`
`f 10
`
`12
`
`Yes
`
`Categoriz the Search Inquiry into One or
`More Categories Where There is a Feature
`Table for Each Category (Point Filter Step)
`
`/
`Find the Most Pertinent Matches (if any)
`from the Feature Table and the
`Corresponding Search Table Position
`
`16
`
`/
`Compare the Search Inquiry Against
`Entries in the Search Table to Determine
`One or More Addresses to Entries
`in One or More Databases
`
`20
`f
`
`i
`Update the History Table
`
`18
`/
`v
`Retrieve Information from the
`Databases In Accordance with the
`Provided Addresses
`
`Fig. lb
`
`Petitioner Apple Inc. - Exhibit 1008, p. 3
`
`
`
`U.S. Patent
`
`Oct. 2, 2001
`
`Sheet 3 0f 9
`
`US 6,298,343 B1
`
`Receive the Search Inquiry
`
`l
`
`Open History Table
`
`l
`
`[22
`
`[24
`
`[26
`
`Retrieve an Entry from the History Table 4
`
`28
`
`Does the Search Inquiry
`Match the Entry ?
`
`Yes
`
`[30
`
`Save Addresses Corresponding to the
`Entry
`
`Are There More
`Entries in
`the History Table ?
`
`Yes
`
`Are Any Addresses Found ‘?
`
`Retrieve Information from the Datatbases
`in Accordance with the Found Addresses
`
`[36
`
`Fig. 2
`
`Petitioner Apple Inc. - Exhibit 1008, p. 4
`
`
`
`US. Patent
`
`10022:aO
`
`9f0
`
`2,6SU
`
`lB3
`
`M.w%mE
`
`
`4“338:0aMomgmanE3?850mammouomawwwwwwsaqNew”?.5an.»amo£808305&3anMonfihm
`
`
`SIIIImo880820«HomeWeHM.fikwgumfiomoaom03:308m:33mfitfiw0550
`
`389w5mfl0m50m33:528mmp8?Sm
`soaom2.:EmanzovH2:mo2502:Shag
`ESE:
`
`
`
`AmvoBmHchasmwazuzoamotouEm
`
`fizmqm8m
`
`Petitioner Apple Inc. - Exhibit 1008, p. 5
`
`Petitioner Apple Inc. - Exhibit 1008, p. 5
`
`
`
`U.S. Patent
`
`Oct. 2, 2001
`
`Sheet 5 0f 9
`
`US 6,298,343 B1
`
`>
`
`Get an Entry from
`Corresponding Feature Table
`
`l
`
`Compare the Entry
`Against the Search Inquiry
`
`/ 57
`I
`
`f 58
`
`59
`
`Does the Search
`Inquiry Include the
`Entry ?
`
`[61
`
`Retrieve Corresponding
`Search Table Address
`
`End of Search Table ?
`
`Fig. 4
`
`Petitioner Apple Inc. - Exhibit 1008, p. 6
`
`
`
`U.S. Patent
`
`Oct. 2, 2001
`
`Sheet 6 0f 9
`
`US 6,298,343 B1
`
`Get an Entry from the
`Corresponding Search Table
`
`62
`
`Is the Entry
`Included in the Search
`Inquiry ‘.7’
`
`Get Addresses
`Corresponding to the Entry
`
`[60
`
`[64
`
`66
`
`No
`
`Is that the
`Last Entry from the
`Search Table ?
`
`Were Any
`Addresses Generated ?
`
`f 70
`Update History Table and Retrieve
`Information from Database in
`Accordance with the Address(es)
`
`[72
`
`Return Empty List
`
`Fig. 5
`
`Petitioner Apple Inc. - Exhibit 1008, p. 7
`
`
`
`
`
`mafiaBoaimam
`
`“Bowano
`
`29$53aimam25
`ow
`
`BESEmUa:558mmumagoxmumoqEU58>
`cm3wNw
`
`
`
`ESE:soaom
`
`US. Patent
`
`0
`
`1002
`
`9f07whS
`
`U
`
`2
`
`lB343,%
`
`6,JSIIIINHbowofionsm
`
`oH_
`
`e.5
`
`wofi/
`
`2bowofionsm03/mm/IIIINbowuamonsmflbomofioasm
`
`weHwe~NoHom3mm
`
`
`
`m5moon8:838.3%$8moan50EZ850EZ
`
`Petitioner Apple Inc. - Exhibit 1008, p. 8
`
`Petitioner Apple Inc. - Exhibit 1008, p. 8
`
`
`
`U.S. Patent
`
`0a. 2, 2001
`
`Sheet 8 0f 9
`
`US 6,298,343 B1
`
`(General English)
`
`Feature
`Table Entries
`
`Search Table
`Key Words
`Database Addresses
`
`Albert Einstein
`
`Addressl
`
`Ale
`
`Alf
`
`Aldrich
`
`>
`
`Alec
`
`Alex
`
`Alexander
`
`>
`
`Alf
`
`Alfred
`
`Alger
`
`Algernon
`
`Allen
`
`Address2
`
`Address3
`Address4
`AddressS
`
`Address6
`
`Address7
`
`Address8
`
`Address9
`
`AddresslO
`Addressl l
`Addressl 2
`
`Address13
`Addressl4
`
`AddresslS
`
`Addressl 6
`
`Fig. 7a
`
`Petitioner Apple Inc. - Exhibit 1008, p. 9
`
`
`
`U.S. Patent
`
`0a. 2, 2001
`
`Sheet 9 0f 9
`
`US 6,298,343 B1
`
`(Chinese Last Names)
`
`Feature
`Table Entries
`
`51111
`
`£2] Li“
`
`Search Table
`
`Key Words
`
`Database Addresses
`
`g (Sun Wu)
`6% Hi (Sun Chuan)
`
`‘5% ‘PM (Sun Yat Son)
`I
`I
`I
`I
`|
`
`21% (LiuSho)
`
`gj fp (Liu Bun)
`
`21] % (Liu Bay)
`
`AddressZO
`Address21
`Address22
`
`Address23
`Address24
`
`Address25
`
`Address50
`
`AddressSl
`
`Address52
`
`5% Zhang
`
`5% 4% (Zhang Fei)
`
`Address60
`
`EL (Zhang Shei Liang)
`
`Address“
`
`Fig. 7b
`
`Petitioner Apple Inc. - Exhibit 1008, p. 10
`
`
`
`US 6,298,343 B1
`
`1
`METHODS FOR INTELLIGENT UNIVERSAL
`DATABASE SEARCH ENGINES
`
`This application is a continuation to application Ser. No.
`08/998,955, ?led Dec. 29, 1997 pending.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates generally to methods for
`analyzing, categorizing, and searching information and the
`processing thereof, and, more particularly, relates to meth
`ods for analyZing and identifying a search inquiry in free
`format and in any language and retrieving information
`pertinent thereto.
`2. Description of the Prior Art
`In the information society of today, a large amount of
`information is received and processed either on a human
`level or at a computer level. At the computer level, infor
`mation of all types comes in various different formats and
`presentations Which alWays requires certain amount of inter
`pretation by the human reader before it is understood by the
`same. This is a relatively intuitive process at the human
`level. HoWever, in providing information to a computer
`device, the information has to be a certain type and has to be
`provided in a certain format before it can be properly
`recogniZed and categoriZed by the computer device along
`With its softWare applications. OtherWise, the information
`Will be refused by the corresponding softWare application.
`For example, in conducting a search for certain information
`content from an information source such as the internet or a
`database, information is generally searched and found by the
`matching of one or more keywords in a designated language
`Where each and every reference containing the given key
`Words are retrieved and provided to the user. This approach
`is a brute force approach Where the search is conducted by
`the simple matching of keyWords With references Without
`any additional preprocessing. Optionally, given keyWords
`can be accompanied by ?ags indicating the type of keyWords
`and the search scope. Here, a particular type of information
`in a speci?c format is provided to the computer device to
`limit the search scope. Thus, in one case, a search inquiry in
`a particular language is provided in a free format Where
`references are retrieved indiscriminately. In the second case,
`a search inquiry in a particular language is provided in a
`speci?c (and required) format to narroW the search results.
`In either case, there is no intelligent analysis of the search
`inquiry by the computer device and the user is required to
`provide an intelligent search inquiry in a designated lan
`guage and format.
`It Would be desirable to alloW the user to input a search
`inquiry unrestricted as to format as Well as language Where
`the search inquiry is processed in an intelligent manner to
`facilitate the searching and retrieving of information most
`likely to be desired by the user.
`
`SUMMARY OF THE INVENTION
`
`It is therefore an object of the present invention to provide
`a method for analyZing and categoriZing a search inquiry
`prior to the searching and retrieving of information pertinent
`to the search inquiry.
`It is another object of the present invention to ?rst
`categoriZe a search inquiry in a general category based upon
`the code representing the search inquiry.
`It is yet another object of the present invention to provide
`a feature table corresponding to the categoriZed general
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`2
`category Where said feature table has entries representative
`of the features and characteristics of said category and each
`entry has a corresponding address pointing to a position in
`a corresponding search table.
`It is yet another object of the present invention to provide
`a search table corresponding to the classi?ed general cat
`egory and search said search table to retrieve information
`pertinent to said search inquiry.
`Brie?y, a presently preferred embodiment of the present
`invention provides a search method Where a search inquiry
`in any language and any format is ?rst categoriZed into a
`category or a subcategory, based upon the code representing
`the characters of the search inquiry. A feature table and a
`search table corresponding to said category or subcategory
`is searched to ?nd database entries pertinent to said search
`inquiry. The search inquiry may be used on a Wide variety
`of platforms and applications including searching on the
`internet.
`An advantage of the present invention is that it provides
`a method for analyZing and categoriZing a search inquiry
`prior to searching and retrieving of information pertinent to
`the search inquiry.
`Another advantage of the present invention is that it ?rst
`categoriZes a search inquiry in a general category based
`upon the code representing the search inquiry.
`Yet another advantage of the present invention is that it
`provides a search table corresponding to the classi?ed
`general category and searching said search table to retrieve
`information pertinent to said search inquiry.
`These and other features and advantages of the present
`invention Will be understood upon examining the ?gures and
`reading the following detailed description of preferred
`embodiment of the invention.
`
`IN THE DRAWINGS
`
`FIG. 1a illustrates a block diagram of the preferred
`embodiment of the present invention;
`FIG. 1b shoWs a How chart illustrating the general pro
`cessing steps of a presently preferred embodiment of the
`present invention;
`FIG. 2 illustrates a How chart shoWing the steps in
`checking the history table;
`FIG. 3 shoWs a How chart illustrating the steps in ana
`lyZing the code(s) representing a search inquiry;
`FIG. 4 illustrates the steps for searching through a cor
`responding feature table;
`FIG. 5 illustrates the steps for searching through a cor
`responding search table;
`FIG. 6 illustrates the categories and subcategories for one
`embodiment of the present invention; and
`FIGS. 7a and 7b illustrate eXamples of feature tables and
`search tables and their contents.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`The present invention and embodiments thereof are not
`limited to a speci?c computer platform and may be imple
`mented in a variety of devices having various level of
`computing poWer and memory.
`Referring to FIG. 1a, an illustration in block diagram
`form of a presently preferred embodiment of the present
`invention is presented. Asearch inquiry is provided as input
`and it is compared against entries in a history table 2. If there
`is a match found, meaning that this search inquiry Was
`
`Petitioner Apple Inc. - Exhibit 1008, p. 11
`
`
`
`US 6,298,343 B1
`
`3
`previously processed and the corresponding database
`addresses are already available in the history table, the
`corresponding database addresses are retrieved from the
`history table to ?nd the corresponding entries from the
`database(s) 13. If there is not a match found in the history
`table 2, the search inquiry is processed by a point ?lter 4
`Which includes a decoder 6 and a feature table processing
`block 8. The decoder categoriZes the search inquiry into a
`particular category With an associated feature table. Through
`the use of the associated feature table, the particular portion
`of a search table most pertinent to the search inquiry is
`indicated for further searching. By accessing the search table
`11, the search inquiry is compared against the entries in it to
`?nd the most pertinent match or matches and the corre
`sponding database address(es). By using the database
`address(es), the entries corresponding to the database
`addresses can be retrieved and displayed to the user.
`Referring to FIG. 1b, a How chart illustrating the gener
`ally processing steps of a presently preferred embodiment of
`the present invention is illustrated. In a ?rst step 10, an user
`is alloWed to provide a search inquiry unrestricted as to form
`and in a language of his or her choice. For example, an
`inquiry may be “$100”, “1975”, “Washington DC”,
`“Beijing” (in Chinese), “tofu” (in Japanese), “Sun Yat-San”
`(in Chinese), etc. The inquiry can be a phrase or a sentence.
`Once the search inquiry has been received, it may optionally
`be preprocessed to identify the most pertinent Words
`(referred to as keywords or headWords). For the examples
`provided above, preprocessing Would generate keyWords
`(Which is also referred to as the search inquiry).
`In the next step 12, if this particular search inquiry or
`keyWords are in the history table—meaning that the same
`search Was previously conducted, it is retrieved from the
`history table along With the associated database addresses.
`The database addresses alloW information to be retrieved
`from the database(s). If the keyWords or search inquiry is not
`in the history table, the search inquiry is analyZed and tested
`in accordance With a prede?ned hierarchy (step 14) to
`categoriZe the search inquiry into one or more available
`categories Where there is a feature table corresponding to
`each category. Once an inquiry has been categoriZed into
`one or more available categories, the search inquiry is
`compared to the entries in the feature table or tables corre
`sponding to the identi?ed category or categories, Where the
`comparison is conducted in a prede?ned hierarchical manner
`as Well. As a result of the comparison process, one or more
`pointers to the starting location on the corresponding search
`table or tables to begin the matching process (step 15). The
`entries in the search table are then compared against the
`search inquiry to ?nd matches (step 16). As a result of this
`process, a number of database addresses can be obtained. In
`the next step (step 18), the database entries associated With
`the database addresses are retrieved and provided to the user.
`Also, the history table is updated to include this search
`inquiry and the associated addresses (step 20).
`Referring to FIG. 2, a How chart shoWing the steps in
`checking the history table is provided. This How chart
`generally corresponds to steps 10, 12, and 18 of FIG. 1b. In
`the initial steps (steps 22 and 24), the search inquiry is
`received and the history table is opened. An entry from the
`history table is retrieved (step 26) and compared to the
`search inquiry (step 28). If there is a match, the database
`address(es) corresponding to the particular history table
`entry is retained (step 30). If there is not a match and if there
`are more entries in the history table (step 32), those entries
`are retrieved and compared. If there is one or more addresses
`found (step 34), information is retrieved from the database
`(s) in accordance With the found address(es) step 36).
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`Referring to FIG. 3, Which relates generally to step 14 of
`FIG. 1b and ?oWing from connector A of FIG. 2, the code
`representing the search inquiry is analyZed (step 40). The
`code is generally ASCII for English representation and there
`are other standardiZed codes for other languages. Informa
`tion as to the speci?c types of codes can be prede?ned or
`provided by the operating system. By analyZing the codes of
`the search inquiry, the search inquiry can be categoriZed into
`one or more categories. For example, a code greater than
`8000h represents Chinese, 41h to 5Ah represents uppercase
`English characters, 61h to 7Ah represents loWer case
`English characters, and etc. If the search inquiry contains
`special currency representation such as currency symbols
`“SS”, “£”, or “if” or Words representing currency “NT” (step
`42), it is categoriZed as an inquiry for currency exchange
`rates and the corresponding feature table is set and the
`necessary parameters passed. This particular step can be
`re?ned to look for numbers in addition to Words or symbols
`for currency representation to ensure that the search inquiry
`is an inquiry requesting exchange rate information.
`If the search inquiry starts With an uppercase English
`character (step 44), it is likely that the search inquiry is
`related to a name or place and the corresponding feature
`table for the English name or place is set. If the search
`inquiry is otherWise regular English Words (step 50), a
`corresponding feature table is set. If the search inquiry is in
`Chinese (step 46), by looking at the ?rst Chinese character,
`it can be determined Whether if the search inquiry is related
`to a name or place. By looking at tWo or more characters, the
`general subject matter can be suggested and the correspond
`ing feature table selected. If the search inquiry presents
`numbers, in any language, resembling a particular date or
`year(s) (step 48), the corresponding search table is set. The
`analysis of the search inquiry can be easily extended to other
`languages and the special characteristics of these languages
`conducive for searching, (steps 52 and 54). In any case, the
`corresponding feature table is set for further re?ned search
`(step 56). Although What is illustrated does not shoW a
`priority in the categories compared, a presently preferred
`embodiment provides a priority hierarchy to avoid possibil
`ity of confusion. In this hierarchy, it is identi?ed in the
`folloWing order: exchange rate, date or year, Chinese, and
`English.
`FIG. 4 illustrates the steps for searching through the
`corresponding feature table folloWing from connector B of
`FIG. 3. From the designated feature table, an entry from the
`table is retrieved (step 57) and compared to the search
`inquiry (step 58). If the entry is part of the search inquiry
`(steps 59 and 61), the address indicating the starting location
`Within a corresponding search table is retrieved and saved.
`If the entry is not part of the search inquiry, the next step is
`to test for end of the table (step 63). If there are more entries
`in the feature table, the next one is retrieved and tested. If
`there are no more entries, the next processing steps are
`illustrated in FIG. 5. Thus, through the use of feature tables,
`a search inquiry can be categoriZed into a prede?ned cat
`egory and compared to the entries in a corresponding feature
`table pertinent to the category and the search inquiry. In this
`manner, the categories can be customiZed and de?ned as
`desired or they can be generated from the content of the
`search tables. An example of a feature table is a table of
`Chinese last names provided to determine if the search
`inquiry represents a person’s name the same can be done for
`Japanese geographical locations (in Japanese); German
`automobiles (in German), etc. Thus, any categories Which
`can be distinguished by its unique features or characteristics
`can be set apart as a category by listing the corresponding
`unique features or characteristics of the category in a feature
`table.
`
`Petitioner Apple Inc. - Exhibit 1008, p. 12
`
`
`
`US 6,298,343 B1
`
`5
`FIG. 5 illustrates the steps for searching through the
`corresponding search table following from connector C of
`FIG. 4. From the address(es) to the starting location(s)
`Within a corresponding search table, an entry from the search
`table is retrieved (step 60) and compared to the search
`inquiry (step 62). If there is a match, the database address
`(es) corresponding to the particular search table entry is
`saved to retrieve the associated database entries (step 64). If
`there is not a match and if there are more entries (step 66),
`the neXt entry is fetched and compared. If there are any
`database addresses obtained from the search table (step 68),
`the history table is updated to include the search inquiry and
`the associated database addresses, and the corresponding
`database entries associated With database addresses are
`retrieved and provided to the user (step 70). If there are no
`addresses found, the search inquiry results in an empty list
`and the user is informed accordingly (step 72).
`FIG. 6 illustrates the categories and subcategories for one
`embodiment of the present invention. The search inquiry 80
`may be categoriZed into a year inquiry 82 Where information
`related to that year is searched and retrieved. It may also be
`categoriZed as an inquiry in Chinese 84 Where, according to
`the ?rst character, it may be categoriZed as a name or place
`92 and 94, or, according to the ?rst tWo characters, it may be
`categoriZed into a particular subject matter 98 and 100, and
`so on. It may also be categoriZed as an exchange rate inquiry.
`For inquiry in English starting With a capitaliZed character
`88, it may be categoriZed as a name 102, place 104, or
`otherWise 106. For other English Words, it is categoriZed
`according to its meaning or meanings 108, 110.
`FIGS. 7a and 7b provide illustrations of feature table
`entries mapping to locations Within a search table. Generally
`speaking, the search table is built in accordance With a
`certain order. For example, a search table generally contains
`information in the same language Where the same or similar
`keyWords for the search inquiry (subject matter) are placed
`near each other. Moreover, keyWords sharing one or more
`similar characters are generally grouped together Where
`keyWords positioned in the same place in the search inquiry
`and the number of key Words further re?ned the placement
`of the keyWords in the search table. In FIG. 7a, a feature
`table listing keyWords (Words characteristic of the features
`of the category) in one column, and a corresponding search
`table having entries in one column and database addresses in
`a second column are illustrated. Each of the feature table
`entries points to a starting location in the corresponding
`search table and each entry in the search table is linked With
`one or more database addresses. Some of the entries are
`linked to a single database address While other keyWords are
`linked to more than one database addresses. As illustrated,
`the feature table entry “Alf” points to a starting location
`Within the corresponding search table Which is also “Alf” in
`this particular case. In FIG. 7b, a feature table and search
`table in Chinese (With English translation) is illustrated.
`Here, the feature table entries are Chinese last names. If
`there is a match betWeen the ?rst character of the search
`inquiry and an entry in this table, the search inquiry Would
`be tested against entries in the corresponding search table. If
`there is a match found in the search table, the database
`address related to the matched entry Would be saved and the
`corresponding database entry retrieved for display. Note that
`the keyWords of the feature table can be listed in an
`preferential order as eXplained above.
`Although the present invention has been described in
`terms of a speci?c embodiment it is anticipated that alter
`ations and modi?cations thereof Will no doubt become
`apparent to those skilled in the art. It is therefore intended
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`that the folloWing claims be interpreted as covering all such
`alterations and modi?cations as fall Within the true spirit and
`scope of the invention.
`What is claimed is:
`1. A computer method for searching information from a
`variety of sources based upon a provided search inquiry, said
`search inquiry being in any format and language, comprising
`the steps of:
`receiving a search inquiry, in any format and language,
`having one or more characters Where each character is
`represented by a code;
`categoriZing said search inquiry into one or more of a
`plurality of categories, each of said categories having a
`corresponding feature table having entries representa
`tive of the characteristics of said category;
`comparing entries in said feature table With said search
`inquiry to generate one or more position indicators to
`positions of one or more entries in one or more search
`tables, each of said search tables having entries each
`including a keyWord and one or more corresponding
`database addresses, the same or similar keyWords being
`placed near each other;
`comparing said search inquiry With entries in said search
`table starting With the entries at positions as indicated
`by said position indicators to determine one or more
`database addresses corresponding to said search
`inquiry;
`retrieving and displaying one or more entries from one or
`more databases corresponding to said one or more
`database addresses, and
`updating the history table entries if said search inquiry
`Was not found in the history table.
`2. A computer method as recited in claim 1, Wherein said
`step of categoriZing the search inquiry into one or more of
`a plurality of categories is based on the one or more codes
`representative of the search inquiry.
`3. A computer method as recited in claim 1, Wherein
`feature table entries are tabulated from corresponding search
`table entries.
`4. A computer method as recited in claim 1, Wherein
`feature table entries are tabulated from features and charac
`teristics pertinent to the subject matter of the corresponding
`category.
`5. A computer method as recited in claim 1, Wherein said
`categories include currency symbols, upper case English
`Words, Chinese characters, dates, and other English Words.
`6. A computer method as recited in claim 5, Wherein the
`Chinese characters category is further divided into Chinese
`names for persons and geographical places.
`7. A computer method for searching information from a
`variety of sources based upon a provided search inquiry, said
`search inquiry being in any format and language, comprising
`the steps of:
`receiving a search inquiry, in any format and language,
`having one or more characters, Wherein each character
`is represented by a code;
`categoriZing said search inquiry into one or more of a
`plurality of categories if said search inquiry does not
`match With at least one entry in a history table, each of
`said categories having a corresponding feature table
`having entries representative of the characteristics of
`said category;
`comparing entries in said feature table With said search
`inquiry to generate one or more position indicators to
`positions of one or more entries in a search table, each
`of said search tables having entries each including a
`
`Petitioner Apple Inc. - Exhibit 1008, p. 13
`
`
`
`US 6,298,343 B1
`
`7
`keyword and one or more corresponding database
`addresses, the same or similar keywords being placed
`near each other;
`comparing said search inquiry With entries in said search
`table starting With the entries at the positions as indi
`cated by said position indicators to determine one or
`more database addresses corresponding to said search
`inquiry;
`retrieving and displaying entries from one or more data
`bases corresponding to said one or more database
`addresses; and
`updating the history table entries if said search inquiry
`Was not found in the history table.
`8. A computer method as recited in claim 7, Wherein the
`step of categoriZing said search inquiry into one or more of
`a plurality of categories is based upon the one or more codes
`representative of the search inquiry.
`9. A computer method as recited in claim 7, Wherein
`feature table entries are tabulated from corresponding search
`table entries.
`10. A computer method as recited in claim 7, Wherein
`feature table entries are tabulated frorn features and charac
`teristics pertinent to the subject matter of the corresponding
`category.
`11. Acornputer method as recited in claim 7, Wherein said
`categories include currency symbols, upper case English
`Words, Chinese characters, dates, and other English Words.
`12. Acornputer method as recited in claim 11, Wherein the
`Chinese characters category is further divided into Chinese
`names for persons and geographical places.
`13. A program storage device readable by a machine
`tangibly ernbodying a program of instructions executable by
`the machine to perform rnethod steps for searching infor
`rnation from a variety of sources based upon a provided
`search inquiry, said search inquiry being in any format and
`language, said method comprising the steps of:
`receiving a search inquiry, in any format and language,
`having one or more characters Where each character is
`represented by a code;
`categoriZing said search inquiry into one or more of a
`plurality of categories, each of said categories having a
`corresponding feature table having entries representa
`tive of the characteristics of said category;
`cornparing entries in said feature table With said search
`inquiry to generate one or more position indicators to
`positions of one or more entries in one or more search
`tables, each of said search tables having entries each
`including a keyWord and one or more corresponding
`database addresses, the same or similar keyWords being
`placed near each other;
`cornparing said search inquiry With entries in the search
`table starting With the entries at positions as indicated
`by said position indicators to determine one or more
`database addresses corresponding to said search
`inquiry; and
`retrieving and displaying one or more entries from one
`more databases addresses corresponding to said one or
`more database address; and
`updating the history table entries if said search inquiry
`Was not found in the history table.
`14. A program storage device as recited in claim 13,
`Wherein said categoriZing step the search inquiry is catego
`riZed into one or more of a plurality of categories based upon
`the one or more codes representative of the search inquiry.
`15. A program storage device as recited in claim 13,
`Wherein said feature table entries are tabulated frorn corre
`sponding search table entries.
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`8
`16. A program storage device as recited in claim 13,
`Wherein said feature table entries are tabulated frorn features
`and chara