WO1998057278A1 - Database query system and method - Google Patents

Database query system and method Download PDF

Info

Publication number
WO1998057278A1
WO1998057278A1 PCT/US1998/011199 US9811199W WO9857278A1 WO 1998057278 A1 WO1998057278 A1 WO 1998057278A1 US 9811199 W US9811199 W US 9811199W WO 9857278 A1 WO9857278 A1 WO 9857278A1
Authority
WO
WIPO (PCT)
Prior art keywords
key values
database
value
pair
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US1998/011199
Other languages
English (en)
French (fr)
Inventor
Arnold N. Blinn
Michael S. Lorton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to AU78065/98A priority Critical patent/AU7806598A/en
Priority to EP98926166A priority patent/EP1010101A1/en
Priority to JP50271199A priority patent/JP4425355B2/ja
Publication of WO1998057278A1 publication Critical patent/WO1998057278A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Definitions

  • This invention relates to methods of searching and browsing databases using remote clients.
  • a large database application will typically support a feature whereby a user may enter a search key that only approximates the actual value for which the user is searching. Frequently, this is done using a "wildcard” character such as "*".
  • the "*" character represents all possible character strings. Accordingly, a search for "jon*” will retrieve any values beginning with the string “jon” followed by any other string of characters. "Jon”, “Jones”, and “Jonathan” would all be retrieved as a result of using "jon*" as a search key.
  • the advantages of this search method are that it is flexible, easy to explain to users, and easy to implement. However, the method is somewhat limited.
  • this method allows users to unwittingly or maliciously submit overly broad queries — queries so broad that an unacceptably large portion of the database is returned. For example, a user might type a query such as "a*", which would return all values starting with "a”.
  • the prior art includes a database lookup scheme that addresses these problems to some degree.
  • two tables were maintained in addition to the actual database.
  • a first table had a plurality of rows, each corresponding to an individual set of data records. Each row contained fields for three values: a first value, a last value, and an ID.
  • the first and last values defined sets or pages of data, similarly to the index entries at the top of a telephone directory or dictionary.
  • a data page corresponding to a particular table entry would include data values in the range between the first value and the last value, inclusive. This data page was placed in another table that was pre-generated.
  • a corresponding table (referred to as a page definition table) might appear as shown in Table 1 below:
  • an information page having ID 0 would include 10 names, beginning with “Ableson” and ending with “Baxter.” Page 1 would have the next 10 names, beginning with “Beaver” and ending with “Bowman.”
  • the page definition table was created so that each page had an approximately equal number of names.
  • a second table was also maintained. This table had actual data from the database, arranged by ID number. In the example, such a table (referred to as a page data table) would have appeared as follows:
  • the ID value of this table corresponded to the ID value of the page definition table (Table 1).
  • the PAGEDATA values comprised the actual data that was to be returned to a user for particular page, taken from the database.
  • the data consists merely of the names themselves. In actual applications, other data might also have been included, such as telephone numbers or addresses.
  • To perform a search under this scheme a user would enter the beginning portion of a name, or some string that the user believed approximated the name. Suppose, for example, that the user entered "fie" as a search string. This string would be used to query Table 1, to find the ID for a row spanning the search string.
  • the search might appear as follows: select ID from page_defini tion_table where ⁇
  • a user submits a search value to a server or service provider.
  • the search value is the user's best guess regarding the data that is sought. Wildcards are not required to be entered by users.
  • the server maintains a database in a conventional format.
  • the database has a plurality of records, each including a plurality of fields. At least one field of each record is a key field, used to search the records of the database. Standard queries can be performed against the database using specified key values.
  • the server also maintains a plurality of page definitions in a page table.
  • Each page definition defines a page of database records in terms of lower and upper key values.
  • each page definition indicates a single pair of lower and upper key values.
  • the server examines the page definitions to find one having key values that surround the search value. It then uses these key values to search the database, and to find all records whose key values fall between the key values of the page definition.
  • the upper and lower key values of the page definitions do not specify the first and last key values of the database records that are to be returned to the user. Rather, the lower key value specifies the key value of the first database record to be returned, while the upper key value specifies the key value of the first database record of a subsequent page of records.
  • each page definition has two pairs of key values: a first pair that is used to identify the page definition corresponding to a search value, and a second pair that is used to query the database once the correct page definition has been found.
  • the information returned to the user does not need to correspond in range to the index scheme used to identify page definitions.
  • the first pair defines a range of key values that is a subset of the range defined by the second pair.
  • Fig. 1 is a block diagram of an information retrieval system in accordance with the invention.
  • Fig. 2 is a block diagram showing pertinent components of a client or server computer in accordance with the invention.
  • Fig. 3 is a flowchart showing preferred steps in accordance with the invention.
  • Fig. 1 shows an information retrieval computer system in accordance with one embodiment of the invention, generally designated by reference numeral 10.
  • Information retrieval system 10 includes a server 12 and a plurality of clients 14. Communications between the clients and the server is provided through a " data communications network such as a local-area network, a wide-area network, or a public network such as the Internet.
  • a data communications network such as a local-area network, a wide-area network, or a public network such as the Internet.
  • Server 12 has or has access to one or more data storage media such as hard disks or hard disk arrays.
  • the server maintains a database 16 on one of these hard disks.
  • the database is formatted and arranged in a conventional format, having a plurality of database records. Each record has a plurality of fields containing variable data. The records can be searched and or sorted based on values contained in one or more key fields. Values in key fields are referred to herein as key values.
  • the server has a database management system (DBMS) 18 for manipulating the database. Queries can be submitted to the DBMS in SQL (standard query language) format or a similar language that allows access to a relational database.
  • SQL standard query language
  • Fig. 2 shows pertinent hardware components of an example client computer generally referenced by numeral 40.
  • Computer 40 can be any one of a variety of different types of devices including consumer appliances such as set-top boxes, handheld or pocket computers, Internet terminals, desktop computers, and laptop or notebook computers.
  • a server computer is configured similarly to the configuration of Fig. 2, although it is optimized for server functions such as file access, application sharing, and database access.
  • Computer 40 includes a microprocessor 41 and a computer-readable storage medium such as electronic memory 42.
  • Processor 40 is a conventional, off-the-shelf microprocessor such as an x86 series microprocessor, manufactured by Intel Corporation of Santa Clara, California.
  • Computer system 40 also includes other typical computer hardware, such as I/O component 38 including interface electronics, as well as multimedia rendering devices 39 such as audio and video components.
  • Physical memory 42 preferably comprises randomly accessible read/write electronic memory (RAM), as well as secondary storage such as a magnetic hard disk or other data recording media.
  • Memory 42 might also include other types of computer-readable storage media on which executable components are distributed and stored, including floppy disks, CD-ROMs, and non-volatile electronic memory such as EPROMs.
  • Database 16 can be stored in memory 42, or in other disk-based memory that is accessible only through network resources.
  • computer system 40 includes an operating system 43 and one or more application programs 44 that execute in conjunction with the operating system.
  • the Windows 95® operating system available from Microsoft Corporation of Redmond, Washington, is an example of an operating system suited for use in a client computer.
  • Microsoft's Windows NT® operating system is an example of an operating system suitable for a server computer.
  • a plurality of application programs typically execute from memory 42.
  • active application programs include an Internet browser such as Microsoft's Internet ExplorerTM.
  • active applications include a database management system such as SQL*Server, Oracle, and Internet Information Server.
  • the invention includes a method of finding data in the server-maintained database 16.
  • one of clients 14 submits a search value to server 12.
  • the search value is of the information type contained in one of the key fields of database records.
  • the server is responsive to the submission of the search value to identify and return data from a limited set of database records which are likely to most closely match the submitted search value.
  • Such a set of database records is referred to as a page of database records, and the data return from " this record page is referred to as a data page.
  • the server To identify a single record page in response to a search value, the server maintains and references a plurality of page definitions. Each page definition indicates at least one pair of key values. When given a particular search value, the server performs a step of identifying one of the page definitions that corresponds to the search value. The server then searches the database to find a page or set of database records whose key values are bounded by the key values indicated by the identified page definition. Data from these records is then returned to the client as a data page. The records are optionally sorted before they are returned to the user. For instance, names might be sorted alphabetically before returning them to the user.
  • the page definitions are preferably stored in a searchable table on a storage media accessible by the server and serviced by the DBMS and referred to herein as a page definition table.
  • a page definition table Such a table is designated by reference numeral 20 in Fig. 1.
  • the page definition table has a plurality of individual entries or rows. Each entry contains a pair of key values: a LOWER key value and an UPPER key value. In this embodiment of the invention, these key values are used as both index key values and as bounding key values. The difference between these types of key values will become apparent in the discussion below relating to a second embodiment of the invention.
  • Table 3 illustrates an example of a page definition table that corresponds to the example database used in the discussion above:
  • Each entry of the page definition table corresponds to a set of database records having key values that are bounded by the LOWER and UPPER key values of the entry. More specifically, a single set of database records corresponding to a particular entry of the page definition table comprises all records having a key values that are (a) equal to or greater than the LOWER key value of the entry and (b) less than the UPPER key value of the entry.
  • the first entry has a LOWER key value of "a” because "a” is the lexicographically first possible key value in this system (this value will differ depending on the type of data). It has an UPPER key value of "Beaver.”
  • a set of database records corresponding to this entry thus includes all names prior to Beaver in an alphabetical list.
  • a set of database records corresponding to the second entry includes all names in the range between "Beaver” and "Bowman” ("Bowman” is the name in the database that precedes "Bratsanos”).
  • the LOWER key value for the first entry is a value that is equal to or less than any possible search value.
  • the UPPER key value for the last entry of the table is a value that is equal to or greater than any possible search value (again, this value will differ depending on the type of data contained in the database).
  • the page definition table is defined based on a desired size and division of information. With alphabetical information, it might be desired to have a single page of information for each letter of the alphabet, which would eliminate the need for the page definition table. However, it will often be desired to have coarser or finer divisions, so that an appropriate or approximately equal amount of data will correspond to each page table entry. This is especially true for large data sets. Good examples of simple page definition tables are the tabs of dictionaries or address books (A-B XYZ etc).
  • this table is different than the table shown above in Table 1.
  • Table 3 does not specify an ID number. Just the LOWER and UPPER key values are specified. In addition, the UPPER key value of each row is the same as the LOWER value for the next row. This prevents certain search values from falling between table entries — any possible and allowed search value will fall within the key values of one of the entries.
  • the server searches the page definition table to identify a row or entry that corresponds to the search value. Specifically, the server finds the entry having LOWER and UPPER key values that surround the search value. Even more specifically, the server finds the single entry for which it is true that (a) the search value is equal to or greater than the LOWER key value of the entry and (b) the search value is strictly less than the UPPER key value of the entry.
  • the server performs a search or query of the database to identify the set of database records whose key values are bounded by the key values of the identified table entry.
  • This set comprises all records having a key values that are (a) equal to or greater than the LOWER key value of the entry and (b) less than the UPPER key value of the entry. Data "from these records is returned as a response to the client's request for data.
  • the database will in most cases have a plurality of fields other than the key fields.
  • the values returned to the client are not necessarily the key values from the identified set of database records. Rather, any group of field values can be returned from the set of database records once the appropriate set of database records is identified. In most cases, however, the group of field values returned for each record will include values from the key field.
  • the server returns the LOWER and UPPER key values that were used to identify the set of database records. This state information is then stored by the client, and used by the client to formulate subsequent queries or requests for finding additional sets or pages of database records that neighbor the set that was initially found.
  • a step 100 comprises submitting a search value from a server to a client.
  • the search value corresponds to a key field in a database maintained by the server.
  • the server performs a step 102 of referencing a plurality of page definitions to identify one of the page definitions that corresponds to the supplied search value.
  • each page definition indicates a pair of key values, wherein each pair includes an UPPER key value and a LOWER key value.
  • the page definitions are preferably stored as entries in a table.
  • step 102 comprises searching for a table entry whose pair of key values surrounds the supplied search value — where the search value falls between a range defined by the LOWER and UPPER key values, inclusive of the LOWER key value.
  • a step 104 comprises searching the database to find a set of database records whose key values are bounded by the key values of the page definition identified in step 102. Specifically, this step is formulated to return all records having key values between the LOWER and UPPER key values of the identified page definition, inclusive of the LOWER key value.
  • a step 106 comprises returning data from the identified set of database records to the client. This step includes returning the key values from the page definition identified in step 102.
  • the client can derive new search values based on the returned key values. Such new search values are submitted to the server in order to browse through different page of database records.
  • the latter of the two preceding query statements can return any data contained in the database records, without requiring regeneration of any tables. There is no need to predefine the returned fields, as is the case in the prior art.
  • the query is formulated to return a full name and address for each record in the selected page of database records.
  • queries can be formulated and submitted by the server, or they can be formulated and submitted directly from a client.
  • the queries are performed by the server, and data is returned in HTML format.
  • LOWER previous_upper
  • the closest matches to the search value can be positioned consistentl near the beginning, near the middle, or near the end of the returned data, although typically it would be desired to display the data near the beginning. For example, once a targeted data page is determined, that data page and the following data page could be returned. For further user convenience, it is also desirable to highlight the closest match to the user-specified key value.
  • the page definitions can be configured to include two pairs of key values: a pair of index key values and a pair of bounding key values.
  • the index key values are used to find the page definition corresponding to the search value, and the bounding key values are used to define the bounds of database records to be returned to the client.
  • This alternative scheme can also be used to position the closest matching records near arbitrary location in the returned data, such as near the beginning, middle, or end.
  • Table 4 illustrates a page definition table in accordance with this alternative embodiment of the invention:
  • Each page definition table entry includes both a pair of index key values and a pair of bounding key values.
  • the index key values are used when identifying which table entry corresponds to a search value. Specifically, the entry whose LOWER index key value is equal to or less than the search value and whose UPPER index key value is greater than the search value is the entry that corresponds to the search value.
  • the index key values are configured exactly as in Table 3: the pairs form an ordered sequence, wherein the UPPER key value of a particular pair is the same as the LOWER key value of a subsequent pair. This prevents search values from falling between pairs of index key values.
  • the bounding key values are used when querying the database for a set of records. Once a table entry is identified, the database is queried for all records whose key values fall between the bounding entries of the identified table entry.
  • the bounding values of a particular table entry preferably span the index entries of the same entry.
  • the index key values are "Bratsanos" and "Cheng.” Search values between these values (inclusive of "Bratsanos") will result in this table entry being selected. However, the data returned will correspond to all database records whose key values are between "Borgman” and "Conway.” Thus, the bounding range is larger than the index range for any particular entry.
  • the bounding key values for a particular entry might be identical to the index key values for the entry. This special case is actually implemented by the previous example of Table 3; where the index key values and the bounding key values are equal to each other, only one pair of values needs to be listed in the page definition table.
  • data that most closely matches the search value can be biased toward one portion of the search results. For example, if the LOWER bounding key value is equal to the LOWER index key value and the UPPER bounding key value is much greater than the UPPER index key value, the closest matches will be biased toward the beginning of the returned data.
  • the client When returning data, either the bounding keys, the index keys, or both are returned to the client.
  • the client can then submit a new search criterion to the server, based on these values, to browse to a different set of database records as described above.
  • returned index key values are used to formulate a new search query.
  • the server can control the position of the searched word in the data returned to the client. If it is desired for the key value (or its closest match) to be the first record returned, earlier records can simply be omitted from the returned search results. In other words, the earlier records can be "truncated" off of the results of the second query before returning them to the client. In order to do this, selecting the "previous" records must return those records that were truncated off. So the first request for a previous set of records would probably not return the previous set, but rather the original untruncated first set.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
PCT/US1998/011199 1997-06-09 1998-06-01 Database query system and method Ceased WO1998057278A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU78065/98A AU7806598A (en) 1997-06-09 1998-06-01 Database query system and method
EP98926166A EP1010101A1 (en) 1997-06-09 1998-06-01 Database query system and method
JP50271199A JP4425355B2 (ja) 1997-06-09 1998-06-01 データベース照会システムおよび方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/871,079 1997-06-09
US08/871,079 US6061677A (en) 1997-06-09 1997-06-09 Database query system and method

Publications (1)

Publication Number Publication Date
WO1998057278A1 true WO1998057278A1 (en) 1998-12-17

Family

ID=25356680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/011199 Ceased WO1998057278A1 (en) 1997-06-09 1998-06-01 Database query system and method

Country Status (5)

Country Link
US (2) US6061677A (enExample)
EP (1) EP1010101A1 (enExample)
JP (2) JP4425355B2 (enExample)
AU (1) AU7806598A (enExample)
WO (1) WO1998057278A1 (enExample)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513028B1 (en) * 1999-06-25 2003-01-28 International Business Machines Corporation Method, system, and program for searching a list of entries when search criteria is provided for less than all of the fields in an entry
JP4483034B2 (ja) * 2000-06-06 2010-06-16 株式会社日立製作所 異種データソース統合アクセス方法
CA2342578A1 (en) * 2001-03-29 2002-09-29 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for security of a network server
FI20010724L (fi) * 2001-04-06 2002-10-07 Ajatuspaja Oy Menetelmä ja laitteisto hajautetun tietokannan ja sitä hyödyntävän sovelluksen käyttämiseksi päätelaiteriippumattomasti
US7136867B1 (en) * 2002-04-08 2006-11-14 Oracle International Corporation Metadata format for hierarchical data storage on a raw storage device
US7672945B1 (en) 2002-04-08 2010-03-02 Oracle International Corporation Mechanism for creating member private data in a global namespace
RU2251149C2 (ru) * 2003-02-18 2005-04-27 Вергильев Олег Михайлович Способ вергильева о.м. по созданию и использованию системы информационного поиска и обеспечения специалистов сферы материального производства
US20040193656A1 (en) * 2003-03-28 2004-09-30 Pizzo Michael J. Systems and methods for caching and invalidating database results and derived objects
US7835953B2 (en) * 2003-09-29 2010-11-16 International Business Machines Corporation Method and structure for monitoring moving objects
US8972380B2 (en) * 2003-09-29 2015-03-03 International Business Machines Corporaton System and method for monitoring events against continual range queries
CA2465558A1 (en) * 2004-04-22 2005-10-22 Ibm Canada Limited - Ibm Canada Limitee Framework for retrieval and display of large result sets
EP1810182A4 (en) * 2004-08-31 2010-07-07 Kumar Gopalakrishnan METHOD AND SYSTEM FOR PROVIDING INFORMATION SERVICES RELEVANT TO VISUAL IMAGE
US8370323B2 (en) 2004-08-31 2013-02-05 Intel Corporation Providing information services related to multimodal inputs
US7873911B2 (en) * 2004-08-31 2011-01-18 Gopalakrishnan Kumar C Methods for providing information services related to visual imagery
US20070005490A1 (en) * 2004-08-31 2007-01-04 Gopalakrishnan Kumar C Methods and System for Distributed E-commerce
US20060116983A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation System and method for ordering query results
US20070192215A1 (en) * 2006-02-10 2007-08-16 Taylor Thomas B Computer-implemented registration for providing inventory fulfillment services to merchants
US7895175B2 (en) * 2006-11-15 2011-02-22 Yahoo! Inc. Client-side federated search
US7853480B2 (en) * 2007-05-21 2010-12-14 Amazon Technologies, Inc. System and method for providing export services to merchants
US9002886B2 (en) 2013-03-14 2015-04-07 The Neilsen Company (US), LLC Methods and apparatus to search datasets
US9454557B2 (en) * 2013-08-29 2016-09-27 Oracle International Corporation Unit of work based incremental data processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294583A2 (en) * 1987-05-08 1988-12-14 William L. Kuechler System and method for the generalized topological mapping of an information base
US5515531A (en) * 1992-05-29 1996-05-07 Hitachi, Ltd. Parallel database processing system and retrieval method using secondary key

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956774A (en) * 1988-09-02 1990-09-11 International Business Machines Corporation Data base optimizer using most frequency values statistics
JPH034366A (ja) * 1989-05-31 1991-01-10 Toshiba Corp データベース問い合わせ処理方式
JP2969153B2 (ja) * 1990-06-29 1999-11-02 カシオ計算機株式会社 レコード検索方法
JPH05314188A (ja) * 1992-05-11 1993-11-26 Nec Software Ltd 範囲をもつデータの検索処理方式
US5440732A (en) * 1993-02-05 1995-08-08 Digital Equipment Corp., Pat. Law Gr. Key-range locking with index trees
US5485607A (en) * 1993-02-05 1996-01-16 Digital Equipment Corporation Concurrency-control method and apparatus in a database management system utilizing key-valued locking
US5701467A (en) * 1993-07-07 1997-12-23 European Computer-Industry Research Centre Gmbh Computer data storage management system and methods of indexing a dataspace and searching a computer memory
US5542087A (en) * 1993-10-15 1996-07-30 Hewlett-Packard Company Linear hashing for distributed records
US5664172A (en) * 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
US5758353A (en) * 1995-12-01 1998-05-26 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294583A2 (en) * 1987-05-08 1988-12-14 William L. Kuechler System and method for the generalized topological mapping of an information base
US5515531A (en) * 1992-05-29 1996-05-07 Hitachi, Ltd. Parallel database processing system and retrieval method using secondary key

Also Published As

Publication number Publication date
JP4542195B2 (ja) 2010-09-08
US6519587B1 (en) 2003-02-11
US6061677A (en) 2000-05-09
JP2002511169A (ja) 2002-04-09
EP1010101A1 (en) 2000-06-21
JP2010044777A (ja) 2010-02-25
JP4425355B2 (ja) 2010-03-03
AU7806598A (en) 1998-12-30

Similar Documents

Publication Publication Date Title
US6061677A (en) Database query system and method
US8224870B1 (en) Data structure for incremental search
US7529739B2 (en) Temporal ranking scheme for desktop searching
JP4249726B2 (ja) データベース群にインデックスを付けるため、およびデータベース群を探索するための方法およびシステム
CA2511098C (en) Dispersing search engine results by using page category information
US6792414B2 (en) Generalized keyword matching for keyword based searching over relational databases
US6363377B1 (en) Search data processor
US7519595B2 (en) Method and system for adaptive categorial presentation of search results
US6801904B2 (en) System for keyword based searching over relational databases
US9165033B1 (en) Efficient query rewriting
US7152064B2 (en) Searching tool and process for unified search using categories and keywords
US6990494B2 (en) Identifying links of interest in a web page
US6266660B1 (en) Secondary index search
US7617197B2 (en) Combined title prefix and full-word content searching
US20070244849A1 (en) Method and system for access and display of data from large data sets
US20020184253A1 (en) Method and system for improving response time of a query for a partitioned database object
KR20060021858A (ko) 주석 관리 방법, 컴퓨터 판독가능 매체 및 주석 관리시스템
US6513028B1 (en) Method, system, and program for searching a list of entries when search criteria is provided for less than all of the fields in an entry
Wang et al. Concept hierarchy based text database categorization in a metasearch engine environment
Bhattacharjee et al. Efficient query processing for multi-dimensionally clustered tables in DB2
Gupta et al. Comparative Study of Indexing Techniques In DBMS
US20080162427A1 (en) Hybrid Relational, Directory, and Content Query Facility
Borse et al. Inverted Index for Fast Nearest Neighbour
Heidenreich Know Your Search Engine: A Comparison of Six Popular Web Search Engines
Maxymuk Facts On File News Digest CD-ROM.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1998926166

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1998926166

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: CA

WWW Wipo information: withdrawn in national office

Ref document number: 1998926166

Country of ref document: EP